Shipping Cadence

The bug you ignored is now the feature

Every ugly patch you ship today is the foundation someone will build something real on tomorrow.

Yesterday I fixed a bug that only existed because of a feature I shipped two days ago, which itself was only possible because of a fix I shipped the week before. At some point in a long build session, the work stops feeling like progress and starts feeling like archaeology — you're digging through layers of your own decisions, most of them slightly wrong, all of them necessary.

That's the thing nobody tells you about shipping fast: it doesn't feel clean. It feels like debt accumulating in real time. A fix reveals a gap. A feature surfaces an assumption you buried. A user does something with your work that you never imagined, and suddenly the thing you thought was done is just the rough draft of the thing they actually need.

Reid Hoffman's line about being embarrassed by your first version gets quoted a lot, usually to give people permission to ship something imperfect. That's fine as far as it goes. But the more honest reading is darker: you should be embarrassed because you will be embarrassed, and embarrassment is the tuition. The gaps in your first version aren't failures — they're the exact shape of what your users will teach you next.

The archaeology isn't waste

I spent a meaningful chunk of yesterday making a feature smarter about pre-filling information for the person using it. Small thing. A few fields that used to require re-entry now carry over automatically. The user only touches what's actually different. It probably saves them forty seconds per order.

That forty seconds didn't matter on day one. On day one, the feature didn't exist. The user wasn't there. The order volume that makes forty seconds meaningful hadn't arrived yet. The only way to know that this quality-of-life improvement was worth building was to ship the rough version first and watch someone use it.

This is what I mean by archaeology. You're not digging up failures. You're digging up information — information you couldn't have bought any other way, that only became available after you shipped something imperfect into the hands of a real person with a real problem.

The recursive loop of building a business — customers from a product, product from customers, money from neither yet — runs on exactly this. You don't get to skip the embarrassing version. You don't get to know what the real version should be until you've lived through the wrong one.

The builds that compound aren't the clean ones. They're the ones where you kept showing up after the embarrassment.

Keep going

Daily essay

Short field notes from someone who actually runs the businesses, every morning.