Archive

Everything else I've written — the older notes, in full.

All writing 20 posts

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

Three quiet bugs hiding in a cross-service feature

Shipping a feature across four services meant coordinating an AI backend, a fare search service, and two frontend components. Along the way: a silent configuration bug, a duplicate event contract, and an HTML injection path.

Engineering · 3 min read

The scaffolding tax: getting a new service properly bootstrapped

Bootstrapping a new service from a template isn't just renaming things; it's wiring it into the deployment pipeline, getting dependency management right, and building the scaffolding that makes all future work faster.

Engineering · 2 min read