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

The demo is the test

A feature that passes every test can still be broken in ways the test suite is structurally unable to see. Four kinds of blindness that only surfaced once real stakeholders started using an AI booking assistant in a room.

Engineering · 15 min read

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
Older posts