The Past
My first site was hand-coded in the Web 1.0 days, with a lovely animated splash screen made in Flash (ahh, Flash). Version 2 was a Wordpress self-hosted affair. Next I moved to Squarespace, which was great, but I wanted more control and flexibility. I was also pausing my subscription to save money when I didn't need to focus on self-promotion - but I wanted a permanent presence, beyond LinkedIn and Instagram, to be my digital home.
I planned an update for 25-26 in Miro and Figma, organised content in Notion, and used Claude as a thought-partner to help figure out the best approach and tech stack.
My criteria: low cost, no platform tie-in, portability, flexibility, control, and as much opportunity for learning as possible.
I tried one-shotting a skeleton build in a bunch of AI site-builders - Lovable, V0, Bolt, Replit, and then worked with Claude to analyse all of their outputs and approaches. It recommended Astro initially, using markdown files for content. I took the starting point Bolt gave me because it was using Astro and looked the best. I downloaded the code, gave it to Claude, kicked off a new repo in Github and never looked back. Soon I wanted a GUI for the content, so worked with Claude to move everything over to Sanity, still using Astro.
I journalled my process in Notion, and the build through commit messages in Github - many, many, iterations - definitely not a one-and-done AI interaction.
Once finished (although portfolios never are) I asked Claude to scan back through the chat logs and generate a presentation deck for me to share with my students to walk them through the process.
I'm falling hard for designing and building interactive motion in Rive, so spent some time making a interactive hero section - no AI wanted or needed for this bit.
The Present
I'm pleased with where I am today with it. I can edit content in Sanity, edit the Sanity schema in VS Code with the Claude Code plugin, edit the code wherever. Adding and troubleshooting functionality like Rive, Lottie and Spline playback was relatively straightforward. Version control in Github lets me test new ideas quickly and safely. I can use Claude mobile to edit with voice commands - kind of amazing to be able to just say 'change the font to x' into my phone, and it happens. Wisprflow detects the voice, drops the prompt into Claude, which makes the change, pushes to Github, Vercel detects the change and the site redeploys.
The build is a decent MVP and I've had a ton of fun building and learning.
The Future
Visually it's giving 2025 vibe-code - lots of purple, and gradients everywhere, quite generic. So it needs a decent facelift next to make it more interesting. But I'm glad I took this route, to get the structure and tech stack working right and in a way that works for me, and to get the site launched.
It takes a few minutes for the update and redeployment and is probably slower than e.g. using Squarespace to change to font. But it's a lot more fun, and once I've set Claude on the task, I can do something else, instead of browsing menus that someone else designed, to find the right settings.
The process feels empowering, almost addictively so, the opposite of the notion of AI as 'doing everything for you' so you don't have to think for yourself. I feel like I'm learning and making decisions faster and at a higher level, and enjoying a whole new kind of challenge and way of working.