Case studies on the things that took longer than the headline lets on.
The score said 60. The TBT chart was on fire. The real story turned out to be three different problems wearing one trench coat — browser extensions, animation timing, and a hydration race I introduced while fixing the other two. A field guide to separating signal from noise in performance work.
16 May 2026 · 8 min read
Static analysis measures what the code looks like; git-xray-tools measures what the team does with it. Fourteen composable bash + jq tools that mine repo history for the signals coverage and linting can't reach. No LLM, no server, no data leaving the machine.
10 May 2026 · 8 min read
Building an LLM-powered query interface for an internal data exploration tool. The interesting parts aren't the prompt, they're everything around it.
29 Apr 2026 · 8 min read
A taxonomy of about thirty agents I've shipped across production codebases: what works, what doesn't, and how to roll them out without it becoming theatre.
22 Apr 2026 · 7 min read
A strangler-fig migration of a high-traffic marketplace search API onto graphql-yoga + hono, built in parallel for four months and validated by replaying every production query against the legacy service.
15 Apr 2026 · 9 min read
Six weeks of instrumentation, one flamegraph that mattered, three changes that landed in production. The story of a measurable performance win on the API the most teams depended on.
8 Apr 2026 · 6 min read
Not a methodology, a case study. The specific decisions, the IDP cadence, the calibration moments, and the parts I almost got wrong.
1 Apr 2026 · 8 min read