Writing
Posts on building AI tooling, shipping product, and the craft of PM work.
Playbooks
Frameworks, teardowns, and arguments from building agents and PM tooling.
The dashboard builds itself
A weekend prototype: an analytics agent that writes the SQL, runs it, and draws a dashboard in a design system I built, on the fly. What generative UI is, and where the boundary has to go.
Whack-a-mole is the wrong game
Building AI agents keeps surfacing problems I already worked through making games. Two of them, and the fix that worked for both.
Ultracode Ate My Harness
I spent maybe a month building a five-agent harness. Then Claude Code shipped dynamic workflows that do the orchestration for free, so I raced my harness against one. On correctness they tied. The only edge my harness kept was its rubric, and a rubric is a prompt.
What I've Learned Building Agents
A year of building AI agents, four rules of thumb I keep coming back to, and the one that ties the other three together.
The Persona Trap
Most agent-design advice tells me to give my agents personas. The research says don't. Or at least, not the way most agent tooling assumes.
Skills or Subagents
Every agent I build hits the same fork in the road. New capability needed. Should it run in the agent's context or in its own?
The Multi-Agent Default Is Don't
The first thing most PMs want to do with agents is build a team of them. The research mostly says don't. Here's when that's right, and when it isn't.
Autobots: An Agent Harness
Anthropic published the Planner/Generator/Evaluator pattern for long-running app development. My harness inherits the pattern and adds a Plan-Critic, an adjudicating Lead, and the engagement layer that keeps me looped in.
Scaffolding for Claude Code
Four pieces of scaffolding I've built around Claude Code to turn one-off sessions into consistent work. A docs tree, a dotfiles repo, a skills layer, and a preview loop.
Field Notes
Firsthand notes on what the work actually feels like right now.
Context Monkey
Some days I feel like Claude's context monkey. The way I do my PM work has shifted, and I haven't fully sat with what it means.
Two Sessions, One Inbox
I'm not an engineer, so I don't know what I don't know until I shoot myself with a footgun. Last week: two Claude sessions, one inbox, and a race I didn't see coming.
Slack Agent Side Quest
I solo-built an AI Slack agent for my team this year and didn't write a single line of code. A year ago that sentence would've been an oxymoron.