Engineering notes, written slowly

I build applications, write about AI, APIs and system design - the silent bugs, the wiring, and the boring parts that quietly hold everything up.

Recent writing 2026

Codebase health is a lagging indicator

A tooling migration, some dependency bumps and a telemetry schema. None of it reaches a roadmap, and all of it decides whether a codebase is pleasant to work in three years from now.

Engineering · 4 min read

Designing a logging system for an AI service

Building a standardised logging system for an AI assistant service: making consistent structured logging the path of least resistance, and thinking carefully about what an AI service should and shouldn't persist.

Engineering · 2 min read

From merged pull requests to a performance review

Merged pull requests already record what you did. Turning them into a work log with an LLM is easy; the hard part is the defensive rules that stop it corrupting the vault.

Engineering · 13 min read

On console warnings and the things we don't remove

Removing unused documentation tooling and fixing prop type warnings: small changes that don't ship features but make the codebase a bit more honest.

Engineering · 2 min read

Two kinds of correctness: currency bugs and ghost feature flags

A currency display bug in the exchange flow and a feature flag referencing something that never existed in production. Two different kinds of silent incorrectness.

Engineering · 3 min read

The shape of shared libraries

A shared library is defined by the shape it presents to its dependents. Two cases make that concrete: an icon component used through an undeclared path, and a one-line logging change that quietly broke a numeric assumption.

Engineering · 2 min read
Older posts