Writing
Engineering judgment, written down: architecture, applied AI, and the craft of shipping.
Jul 18, 2026
2 min read
The most expensive line in an early-stage codebase is the one that adds infrastructure before it adds users. A field guide to deferring complexity without painting yourself into a corner.
architecture · startups
Jun 15, 2026
2 min read
A simple standard for judging any external development team, including us: if they vanished tomorrow, how bad would it be? The answer is decided months earlier than most clients think.
process · product
May 27, 2026
2 min read
The debt metaphor is good and everyone uses it wrong. Debt is fine at the right rate. The skill is knowing which loans you hold and what each one charges.
engineering · architecture
Apr 22, 2026
2 min read
A status report describes work. A demo proves it. Why we structure every engagement around deployed software on Fridays, and what it changes about trust.
process · product
Mar 31, 2026
2 min read
The mobile stack debate is usually argued with identity and anecdotes. It deserves a decision framework instead. Here is the one we use, including where it says native.
mobile · architecture
Feb 24, 2026
2 min read
Agentic systems are the most exciting pattern in software right now, which is exactly why they are being applied to problems that a pipeline would solve better. A decision rule.
applied-ai · architecture
Feb 5, 2026
2 min read
When retrieval breaks, nothing crashes. The system keeps answering, fluently and wrongly, and your first alert is a user who stopped trusting it. Instrumenting the part everyone forgets.
applied-ai · evals
Jan 19, 2026
2 min read
Teams budget LLM features by multiplying token prices. The invoice that actually hurts arrives elsewhere. A map of where the money really goes.
applied-ai · product
Dec 8, 2025
2 min read
We spent two decades learning not to concatenate user input into queries. Then we built systems that concatenate user input into instructions and acted surprised.
security · applied-ai
Nov 11, 2025
2 min read
The strictness settings in your compiler config look like an engineering preference. They are actually a decision about how expensive your future changes will be.
typescript · engineering
Sep 30, 2025
2 min read
Microservices solve an organizational problem you do not have yet. A defense of the boring deployable, with the actual thresholds where the answer changes.
architecture · startups
Sep 2, 2025
2 min read
Test-driven development got a strange second life in AI engineering: the eval set is the spec, the score is the progress bar, and everything else is negotiable.
applied-ai · evals
Aug 14, 2025
2 min read
Every LLM demo works. That is precisely the problem. Notes on the four things that separate a convincing prototype from a feature you can put in front of paying users.
applied-ai · engineering