Blog
Thoughts on software, specifications, and the future of development.
The Study of Apps
Code became the source of truth by accident. We think specifications should be. Here's why — and what AI makes possible.
Agentic Workflows Are Just Automated Specifications
An AI agent executing a business process is really just running a spec. If the spec is wrong, the agent is wrong. Here's why that matters.
The Discovery Phase Nobody Wants to Pay For
The highest-leverage investment a team can make is understanding requirements before writing code. So why does everyone skip it?
What We Learned Building Bento
Behind the scenes of building a terminal dashboard for multi-service projects: the decisions, tradeoffs, and lessons from shipping Bento.
AI Doesn't Replace the Spec Problem
LLMs can generate code faster than ever. But without specifications, there's nothing to verify it against. More code, less understanding.
The Locked Spec
What happens when a specification is validated, signed off, and locked? It becomes a building block that AI and teams can trust forever.
Why Natural Language Specs Aren't Vague
The obvious objection to natural language specifications is precision. Here's how to make them rigorous enough to be machine-actionable, without inventing a new formalism.
The Programmer's Oath, Revisited
Uncle Bob proposed a professional oath for programmers. Now that AI agents write code too, what should that oath look like?
The Cost of Reimplementation
HTTP clients, date parsers, cryptographic algorithms, rebuilt from scratch in every language. How much has the industry spent solving the same problems over and over?
Software's Missing Middle
Every other high-stakes profession has an institutional layer between intent and implementation. Software skipped that step. What would a 'building code' for software actually look like?
Technical Debt Is Specification Debt
Teams don't accumulate bad code, they accumulate missing or drifted specifications. The code is a symptom. The spec is the disease.