The reading list
Essays, tech notes, and the in-between.
- AI·3 min read
From Audit to Hook: Turning Drift Into Enforcement
A tooling audit surfaces drift. CLAUDE.md tells the agent not to do it. Hooks make sure it actually doesn't. Eight real scripts from a production codebase, with the audit finding each one came from.

- AI·3 min read
The Claude Hooks Lifecycle: A Primer You Can Bookmark
Eight events, one JSON payload format, three exit codes that matter. The reference doc I wish I had open the first time I wrote a Claude Code hook.

- AI·3 min read
Tracking Tokens-Per-Session: The Number Claude Code Hides
Tokens-per-session is the single most useful signal for agentic coding sessions — and Claude Code doesn't show it. /usage gives you cost. /context gives you window percent. Neither sums to the number you actually want. Here's what to track, why, and how to put it on your statusline.

- AI·3 min read
Your Statusline is the Cheapest Feedback Loop in Agentic Coding
Most teams using Claude Code, Cursor, or Aider leave the statusline at default. It's a one-line strip of pixels that costs you nothing, sees zero tokens, and can change every decision you make during a session.

- technical-notes·3 min read
SMS Is a Lossy Channel: An Architect's Guide to OTPs, Alerts, and Graceful Degradation
SMS looks like a reliable transport because it usually works. Architecturally, it's a best-effort store-and-forward network with no end-to-end SLA. Here's what every engineer should design for before wiring OTPs, alerts, or 2FA to a text message.

- AI·3 min read
design.md, DESIGN.md, and Google Stitch: One File, Narrower Views
There's a popular framing that AGENTS.md is for coding agents and DESIGN.md is for design agents. That framing is a category error. Write one file; serve both.

- AI·3 min read
How I Actually Wrote This Site's design.md
Parts 4–9 were the templates. This is the living artifact — a section-by-section tour of the design.md that powers this site, the calls I made, the rules that stuck, and the lines I would write differently if I started over.

- AI·3 min read
The Agent-Ready Audit: A Runnable Checklist for Any React Codebase
One bash script, six numbers, an opinion about each. Run it on Monday morning and you have a prioritised list of what to fix before agents can help.

- technical-notes·3 min read
The question generator, the cron job, and shipping it locally
Grounded question generation is one prompt away. Wrap the project with a local cron, a one-line backup, and a popular-guests landing query — and the podcast index runs on its own.

- technical-notes·3 min read
The React side: guest pages, search UI, and codegen'd types
A Vite + React SPA with three real pages — popular guests, guest detail, search — wired to FastAPI through codegen'd TypeScript types from a shared Pydantic schema. No UI framework, three pages, type-safe end to end.
