How I remade this site
Eighteen months ago I wrote about building this site on Framer, and confidently declared that "a no-code builder is nearly always the way to go." Everything in that essay about why you should build a personal site still holds. The advice about how aged like milk. This is the technical footnote.
Why move
The Framer setup worked, but I was paying £30 a month for a site I change twice a month. The Pro plan was only necessary because I had three separate CMSs (writing, book notes, stack), and my Kindle highlights reached the site through a Rube Goldberg chain of Readwise → Notion → Framer, three services that each needed to stay on speaking terms with the next.
None of this was painful enough to fix by hand. What changed is that fixing it stopped requiring hands. The calculus that made no-code the obvious choice in 2025 has quietly inverted: code is now cheaper than the subscription that replaces it.
The build
I pointed Claude at the site one evening and went to bed. Overnight it crawled every page with a headless browser, extracted the six essays and about three thousand Kindle highlights, and rebuilt the whole thing in Next.js. Static pages, no database, no server. It matched the fonts by reading the computed styles off the old site — EB Garamond for the prose, Inter for the small stuff, JetBrains Mono for the fad tiers — which is a level of diligence I would never have applied myself.
The "CMS" is now a folder of markdown files in a git repo. Publishing an essay means adding a file and pushing. Vercel rebuilds the site on every push, in about thirty seconds, for free. If that sounds worse than a visual editor, consider that the visual editor also made me align text boxes.
The dynamic greeting that previously required three separate Framer components is now one component with an if statement. Progress comes in many forms.
Book notes, replumbed
The highlights sync is the part I'm most pleased with. Readwise has an export API, so a small script pulls every highlight directly and writes each book to a JSON file. A GitHub Action runs it daily; if anything's new, it commits the changes and the site redeploys itself. Notion and Framer are out of the chain entirely. Same zero-effort sync I bragged about last time, two fewer services involved, and the highlights now live in a repo I own rather than a database I rent.
Cost
The old stack was about £400 a year (Framer Pro plus the domain). The new one is the £40 domain. Hosting is free, the sync is free, and the build cost one evening of AI tokens and no weekends. The essay this replaces estimated that coding a site from scratch meant "paying a developer low thousands, or taking a tonne of time to do it yourself." Both were true when I wrote it. Neither survived contact with 2026.
Zooming out
Last time I said a personal site whispers something about its creator, and that mine whispered "quiet confidence." I'd like to think this version whispers the same thing, just with the workings on show — you can read the source now, which feels appropriate for a site that keeps claiming its owner builds things.
The broader lesson: any subscription whose job is to stand between you and code is now negotiating with a very cheap competitor. I wouldn't rush to cancel everything. But I'd check the maths.