All Blogs

It was supposed to be a weekend job. The old version ran on Gatsby — fine, fast enough, but I'd been hitting walls. The routing and GraphQL pipeline were rigid in a way that fought me every time I wanted to add anything new. There was no built-in image optimisation. Every new dependency landed with its own dev-server slowdown. Meanwhile, every other project I touched was on Next.js, and the contrast got worse every month.  Next eventually shipped file-based routing of its own. Then `next/image`, `next/font`, `next/script`, the metadata API, `next/og`, the package-import optimiser. None of it world-changing on its own; together it stopped being a framework and started being a runtime with batteries. The first Saturday of the rewrite ported routing. The second Saturday threw out the data layer. The third Saturday ate the design.

I Rebuilt This Site for Three Years

May 16, 2026
What started as a music app quietly became the thing that gets me to my desk.  ## The rules I set on day one

Spotify and Me

May 13, 2026
I wanted a better way to browse NASA photos on my phone and save them as wallpapers. NASA has the APOD API, the Image of the Day RSS feed, and the full Images API — tons of great content — but no mobile interface that makes it easy to frame and download a shot for your lock screen. So I built one.  Here's what I learned building it, including the parts that didn't work the first time.

StarWalls: A Minimal Space Photo Wallpaper PWA

Apr 21, 2026
Welcome to my first blog. A brief of what I did in 2020. It was a horrifying year for all the people all over the world for sure. But it shouldn't hold you back. This year I indeed taste a lot of new things, thanks to the pandemic effect. Mostly React, NodeJS & JamStack related.  ## Prequel

2020 Wrapped

Jan 15, 2021
# Heading 1  ## Heading 2

Hello World

Dec 31, 2020