Operational PM, in the open.
Essays on how teams actually coordinate. Build notes on what we built and why. Field notes from inside. Anti-patterns. Technical architecture. And the changelog. Filter by what kind of writing you're after.
Splitting Inbox from Overview
One screen became two. Conversion to "task acted on" went from 31% to 68%. Here's the surgery.
Async standups: what works, what dies in a week
We've run async standups for 30 months across three team shapes. The format matters less than the consequence.
The blocker data model
Why blockers reference both tasks and people, how escalation paths are computed, and the migration that almost broke us.
Why blockers are first-class objects
In most tools blockers live in comments. We made them their own primitive. Here's what changed and what didn't.
PM hygiene debt
The compounding cost of letting boards rot. Quantified, with three real teams as the data.
Async destroyed visibility. What replaces it.
Remote work broke the standup. The fix isn't another meeting; it's a different signal entirely.
Why server-sent events, not WebSockets
The boring tech choice that's outperformed our expectations. Operational notes from a year in production.