Notes from twenty-plus years of shipping things.
Short essays and field notes — what we've learned about white-label engineering, AI in production (what works inside the practice, what we'd ship to a client), the boring craft of WordPress, and what actually breaks at 2 a.m. Published when there's something worth writing down. Not on a schedule.
The pre-handoff gate. We should have had it on day one.
Every build we handed off had a handful of small, embarrassing mistakes that the agency caught in their QA. Not architectural problems. The kind that a fresh pair of eyes finds in 10 minutes. We built…
Read the essayLong-form: process, craft, opinions.
Async carried the decisions. It didn’t carry the error sources.
For 9 months and about 50 sites, we ran a white-label partnership with a US marketing agency without a single direct call between developers.…
The first year was chaos. Then we wrote it down.
Early on, the same agency's sites were being built three different ways. Different form plugins. Different CSS units. Different conventions for capitalising menu items.…
Short-form: things we've noticed lately.
Not essays. Single observations from active projects — what surprised us, what broke, what we're changing about how we work. Two-minute reads, written in the moment.
Scope grows mid-build. Here’s what we changed.
Mid-build scope changes are not unusual. The failure mode is not the change itself—it is handling it informally, inside an estimate that was never sized for it.
Draft-first is not a courtesy. It’s a discipline.
Two separate incidents (one on a law firm homepage, one on a dental redesign) converged into a single non-negotiable: for sensitive-industry clients, draft-first delivery is not a politeness. It is…