# Ship ugly on purpose

> Pretty first versions hide bad ideas under polish. I ship the awkward build that answers the real question. Then I earn the right to make it beautiful.

- Author: Kevin Dalvi
- Published: 2026-03-25
- Read time: 7 minutes
- Tags: shipping, product, process
- Canonical: https://www.kevindalvi.com/blog/ship-ugly-on-purpose

I’ve delayed launches because the spacing felt off. That sounds like craft. It was fear wearing a designer’s jacket. The users I needed feedback from did not care about my 8px grid. They cared whether the thing solved their Tuesday.

Ugly on purpose is not sloppy forever. It’s a temporary contract: expose the core loop before you decorate it. If the loop is wrong, polish is a very expensive way to find out.

## Ugly that still respects people

There’s a line. Broken copy, crashing flows, and inaccessible defaults aren’t “MVP energy”. They’re disrespect. Ugly means unfinished visual systems, plain components, and hardcoded edges. It does not mean shipping something that wastes a user’s time.

My test: would I put this in front of a friendly customer and watch them try it without apologizing for ten minutes? If I need a preamble about “ignore the UI,” I waited too long on substance and too little on the one path that matters.

> Polish is a privilege you earn after the product proves it deserves attention.

## How I keep ugly intentional

- Define the single question this version must answer before any visual pass
- Freeze brand work until retention or activation shows a pulse
- Label internal builds clearly so the team doesn’t confuse prototype with product
- Schedule the polish sprint after learning. Not as a parallel fantasy

## Then make it undeniable

Once the ugly version works, I get aggressive about craft. Motion, brand, copy rhythm. All of it. Shipping ugly first doesn’t mean I like ugly products. It means I refuse to decorate a question mark.

If you’re stuck in Figma refining a homepage for a product nobody has used, close the file. Ship the awkward thing. Let reality edit you faster than your taste can.
