Approximately 1 million years ago, I used to spend 40 hours a week in an office building WordPress sites for clients, as well as coding custom themes using the Genesis framework. It was an interesting time period for me, and I’ve always had a toe in that world even as I shifted back to a career in VFX. Most of that has just been in the form of not being afraid to noodle with custom CSS on my old personal site or SaberComp, both of which were on Squarespace for many years. (SaberComp is now on Ghost.)
In the past year or two though, I’ve had more of an itch to get deeper into the web world again, and things like Claude Code have certainly given me a boost; being able to ask hyper-specific questions that pertain to exactly what I’m doing is like having Stack Overflow on steroids. Last fall—just as a test—I wanted to see what Claude Code could whip up on its own, so my brother said I could try it on BadCowServer. What you see there is all vibe-coded, with my biggest human input being the design of the frosted glass scrolling news updates on the Plex and Minecraft pages.
So when it came time to finally rebuild my own personal site, I knew I wanted to do it properly this time: no drag-and-drop builder, no monthly subscription to a platform that owns my content. I wanted markdown files I control, a design that’s exactly mine, and something I actually understand under the hood. The stack that got me there was Astro, with Claude Code acting as my tutor rather than doing it all for me.
So what’s actually here?
Rather than bore you with the technical stuff, let me just walk you through what you can poke at.
The Resume is the piece I’m proudest of. It’s not just a web version of the PDF you could print out — it’s a living timeline of where I’ve worked, pulling in the actual VFX projects tied to each booking so you can jump straight from “I was at Zoic” to the shows I worked on there. Speaking of which, the VFX portfolio is the heart of the whole thing: every project gets its own page, a dedicated home where I can talk about stuff I’ve worked on (when I want to), post shots, related articles, etc. Now I have that. And I can render them as cards like this throughout the site.
For All Mankind - Season 3
Lead Compositor
2022
There’s a dedicated reel page too, with the demo reel itself up top and a shot-by-shot breakdown below, again controlled by a version-controlled config file; the page itself is built out programmatically.
Beyond the VFX stuff, there’s this blog for longer-form writing (hi), a Blurbs feed for smaller day-to-day updates, a YouTube section mirroring my videos, and a Bookmarks page where I collect links worth sharing with a little blurb on each. If you want to reach me, the little status pill up in the header tells you whether I’m currently booked or available, and it doubles as a shortcut to my inbox.
Why bother building it from scratch?
Honestly? Because I wanted to. There’s something deeply satisfying about a site that’s structured exactly the way I want it, where adding a new project or writing a new post is just dropping a markdown file into a folder. No wrestling with a template someone else designed, no fighting a page builder to do the one thing it doesn’t want to do.
The nice side effect is that it’s fast. All the heavy lifting happens on my end when the site builds, and what actually gets served to your browser is basically just HTML and CSS with a sprinkle of JavaScript as necessary. No waiting on a PHP server to query a database for content.
I might nerd out about the technical guts in separate posts down the line, because there’s a lot I’m genuinely excited about — the way the content collections work, the custom components, some of the CSS tricks that made me go “wait, you can just do that now?” But for today, just enjoy poking around. And yes, getting the content of all this in place was quite the Herculean effort in its own right… and something I sort of lowered my expectations of and opted for “launch now, update later.”
