4 September 2026
Goodbye WordPress, hello Next.js
This site used to be a block of HTML pasted into Elementor. Now it's a Next.js app. Here's why I moved it.
This site used to be a single block of HTML pasted into an Elementor widget on WordPress. It worked, and it was quick to ship. But three things bothered me.
First, the weight. A page builder loads its own JavaScript bundle to render what is, in the end, mostly text and images. Second, versioning: my entire site was a paste, so there was no git history and no way back after a bad click. Third, the look. Page builders nudge every site in the same direction, and mine had ended up with the neon-green-on-dark look that half the portfolios on the internet have right now.
So I rebuilt it as a Next.js app. The framework part was easy, since I write React for client work anyway. What I actually gained:
- The whole site lives in a repository now. Every project, every sentence — versioned and revertable.
- There's no builder runtime. Pages ship as HTML with a little hydration for the theme toggle, which is about as interactive as a personal site needs to be.
- Hosting is simple. It runs on a VPS behind Nginx. No database, no admin panel, nothing to update on Sunday nights.
What survived from the old site: the grayscale-to-color hover on project screenshots, the dry footer, and the standing claim that I write my own copy (em dashes included). The rest of the design is new: near-monochrome, editorial, and a lot quieter.
If your personal site is a paste inside someone else's builder, I'd move it into a repo. It's a weekend of work, and it's yours afterwards.