Actually finishing
The last 10% is where most projects are abandoned.
Most unfinished projects aren't abandoned at the hard part. They're abandoned at 90%, when the interesting problems are solved and what remains is empty states, error messages, a favicon and a deploy.
Define "done" before you need to
Write it down at the start: the specific list of things that must be true to call this finished. Without it, done is a feeling, and the feeling never arrives — there's always one more improvement.
A written definition also lets you notice when you've drifted past it into optional work.
Recognise the avoidance
Refactoring code that works. Adding a feature nobody asked for. Redesigning something functional. Researching a better library. All of these feel productive and all of them are ways of not finishing.
The tell is that they're more enjoyable than what remains on the list.
The unglamorous list
Nearly every project needs the same finishing work:
- Empty states with real copy
- Error states that say something useful
- A loading state that doesn't jump
- A 404 page
- Meta tags and a favicon
- A working mobile layout
- Something to click when there's nothing to do yet
- A way for people to contact you
Here's my project: <paste or describe>. I think it's nearly done. Give me the finishing list — everything between here and something I could share without wincing. Include the boring things: empty states, error states, mobile, meta tags, 404, favicon. For each: how long it'll take, and whether it's genuinely required or optional. Then tell me what I'm probably avoiding, and what I could cut instead of building.
Ship it slightly too early
The version you're slightly embarrassed by, in front of one real person, teaches you more than another week of polish. And most of what you'd have polished would have been removed after watching them use it.
Then stop
When it does the thing in your one sentence, and the finishing list is done, it's finished. Not perfect — finished. Put it down, tell someone about it, and let it exist.
A finished, imperfect thing is worth more than three excellent unfinished ones. It's also the only kind you learn the whole lesson from.