Journals

Long-form writing on development, homelab, learning, and whatever else I'm thinking about.

Butter-Smooth Maps and a 3D Car That Won't Cooperate

I wanted a map that panned like butter and a 3D car that followed the road. A week later I had learned which one was lying to me.

9 min read#flutter

A Game About Laundry (That's Not Really About Laundry)

A laundrette game about the lives people leave in their pockets, and revisiting the game dev spark I thought I'd lost.

5 min read#game-dev

Build Localisation Before You Need It

Seek added Russian in an afternoon. Ascend added a bunch of languages after one Greek request and it hurt.

5 min read#i18n

Import Plans Before the App Opens

A GPT mini model on the web, deep links into the app, and the same pipe reused for Couch to 5K.

5 min read#product

The Stories I Tell Myself

The facts of my life don't change with my mood. The meaning I attach to them does.

5 min read#mindset

Onboarding Before Onboarding

The motivated moment happens before someone installs your app. Ascend doesn't save the plan until the user decides to stay.

4 min read#product

Why I'm Optimistic About Junior Engineers

AI didn't replace the junior engineer. It changed what learning and shipping look like for one.

6 min read#ai

Treat Demos Like Unit Tests

We automate tests, builds and deployments. So why are screenshots and GIFs still manual?

5 min read#automation

The Age of Suspicion: Why AI Made Authenticity Expensive

AI didn't just make content cheap. It made authenticity expensive.

6 min read#ai

Stop Giving AI More Context. Give It Better Examples.

I varied how much code an LLM could see. Token count barely changed. What changed was whether it copied or invented.

5 min read#ai

The Death of Code Reviews (As We Know Them)

AI made writing code cheap. Review is where the time goes now.

3 min read#ai