On Shipping Imperfect Work
Caramel sat 94% done for three months.
I knew what was wrong with it. The mobile checkout flow had a layout quirk on older iPhones. The admin dashboard had a filter that didn't persist across page loads. The product image loading was slightly janky on slow connections.
None of these things were blocking anyone from buying anything. Three independent sellers had been asking me to hand over access for weeks. I kept saying "almost."
The real issue wasn't the bugs. It was that "94% done" was a comfortable place to live. Almost finished means you never have to discover what the finished thing actually is.
I eventually set a rule I've used on every project since: before starting, write down what "done enough to ship" looks like. Not perfect — done enough. A short, specific list of criteria. Then when you hit that list, you ship, and the remaining work becomes a roadmap item rather than a permission gate.
The criteria for Caramel were: checkout works end-to-end, sellers can manage their inventory, and orders reach their email. That's it.
The iPhone quirk is still there. It's on the list. The product has been live for seven months.
Imperfect work that exists is more useful than perfect work that doesn't. This is obvious when you say it. It's remarkably easy to forget when you're the one building.