What's under the hood of this site, 2026 edition
Round three
First this site was WordPress, until one update broke it. Then it was Hugo, which was fast and fine, until I wanted more than a list of posts. So here we are on round three, rebuilt from scratch, and this time I wrote down the rules before I started. This post is a quick tour of what it’s made of. It isn’t a tutorial, just the choices and why I made them.
The short list
- Astro builds the whole thing. It turns plain files into plain pages and ships almost no JavaScript unless I ask for it. That was the main reason I picked it.
- Markdown holds everything I write: posts, past projects, even the daily photo snaps. If this site disappears tomorrow, my words are still just text files.
- GSAP moves the pieces on the home page. The shapes drift on their own, lean towards your cursor, and can be picked up and thrown around. It’s the only animation library on the site.
- Hand-written canvas does the faint ASCII texture in the background and the thin lines that follow your cursor. Neither needed a library.
- A small git-based CMS is there for when I’d rather write in a form than in a text editor.
- A static host serves the result. Every page is built ahead of time, so there’s nothing to log into on your side and very little to break.
- Object storage keeps every image. More on that below.
- An iPhone Shortcut is how snaps get posted. Share a photo, type a caption, done.
The rules I gave it
Design: flat, loud, no soft edges. Black ground, three neon colours, two typefaces, no gradients and no soft shadows. If something looks like it came out of a UI kit, I’ve done it wrong. Videos are the one thing that’s never tilted, because a crooked video looks like a mistake, not a style.
No images in the repository. Every picture on the site lives in storage, not in git. The build even fails if an image sneaks in. This keeps the repo small and fast, and it means I can post a hundred photos without the project turning into a heavy download. Photos are resized on demand when someone opens a page, so a phone gets a phone-sized picture.
Everything has a cap. The home page shows the latest few, the section pages show a few more, and everything else lives in plain numbered archive pages. No infinite scroll, no surprises, and Ctrl+F still works.
Keep it boring where it counts. Plain links, real pages, text you can select. The fancy part stays on the surface and the plumbing stays dull.
Snaps from the phone
The part I like most is posting photos from my phone. I pick a few pictures, share them to a Shortcut, add a title, and a minute later there’s a new page on the site. No laptop and no app to open. It also made me keep my promise to post small things more often, because the effort is close to zero.
What I’d tell past me
Write the rules first, because they decide a hundred small things later. Keep the content in plain text, because you’ll outlive every framework. And rebuild the site when it’s fun to, not when it breaks.
Next up is probably a proper draft mode, so I can write things down before they’re ready. It’s on the list.