O
Overture
Back to Journal

On Shipping Imperfect Things

Perfectionism is a slow poison for creative work. The antidote is learning to ship before you are ready.

On Shipping Imperfect Things

I almost didn’t publish this blog.

Not because I didn’t have things to say, but because the design wasn’t right. The typography needed tweaking. The dark mode colors were slightly off. The reading experience on mobile wasn’t exactly what I’d envisioned.

But I published it anyway. And that act — the act of shipping something imperfect — taught me more than another week of polishing ever could.

The perfection paradox

Here’s the thing about perfection: it’s asymptotic. You can approach it infinitely, but you never arrive. And the closer you get, the more energy each incremental improvement costs.

The difference between 90% and 95% takes twice the effort of getting from 0% to 90%. The difference between 95% and 98%? Triple. Getting from 98% to 99%? That’s where entire projects go to die.

What shipping teaches you

When you put something into the world — imperfect, rough-edged, alive — three things happen that no amount of private iteration can replicate:

1. You discover real problems. The issues you find in production are never the ones you worried about in development. The font rendering difference between your MacBook Pro and your user’s Android phone. The way real content breaks your beautiful grid. The feature you built that nobody uses and the gap you didn’t notice that everybody needs.

2. You develop taste faster. Taste is a feedback loop. You make something, you see it in context, you understand what works and what doesn’t, and you recalibrate. Without the “see it in context” step, the loop never closes.

3. You build creative momentum. Finished work — even imperfect work — creates energy. Unfinished work drains it. Every project sitting at 95% in your drafts folder is a tiny weight on your creative conscience.

The ritual of release

I’ve started treating shipping as a ritual rather than a milestone. It’s not the end of the process — it’s a checkpoint. A moment where I consciously decide: this is good enough to learn from.

Some practical rules I follow:

  • Set a ship date before you start. Not a deadline to stress about — a container to create within.
  • List three things you’d improve. Then ship anyway. Those become v2.
  • Share with one person first. The act of showing someone instantly clarifies what matters and what doesn’t.
  • Delete the TODO comments. They’re aspirational debt. Either fix it now or accept the current state.

The uncomfortable truth

The work you ship imperfectly will always outperform the work you never ship at all. Every single time.

So ship the thing. Then make it better. Then ship it again.


This post was written in 45 minutes and published with two typos I caught after the fact. I fixed them. The world continued to turn.

Author

Written by the Editor

Exploring the craft of building for the web. Design, code, and everything in between.