Building this portfolio, or: what happens when a designer gets too deep into a codebase at 2am
I've always found portfolio sites uncomfortable to build. Too polished and they feel like a brochure. Too casual and they undersell the work. So I took the only logical approach: spent several weeks building mine from scratch while simultaneously questioning every decision I've ever made.
This version is built with Vite and React. I chose it partly because it made sense technically, and partly because I wanted to understand what I was actually building rather than hiding behind a template. Version control lives in GitHub, partly for safety, and partly because pushing commits to a repo called "portfolio" at 2am feels right in a way that's hard to explain.
The bit I'm most proud of is the comment system. It's built on Supabase with real-time presence. Visitors can drop Figma-style comment pins anywhere on the page, see live cursors of other people browsing at the same time, and leave notes that persist. I built it because I wanted the portfolio itself to be a proof of concept, not just a container for them.
Claude Code did a lot of the implementation heavy lifting. I'd describe what I wanted, review what came back, push back when it wasn't right, and iterate. It felt less like coding and more like designing with a very fast implementation partner. The decisions were mine. The 2am hours were entirely my fault.
The honest version of vibe coding isn't magic. It's knowing enough to ask the right questions, recognising when the output is wrong, and caring enough about the details to keep going until it feels right. That's not so different from design, really. Just with more terminal errors.
