Skip to content
zero2vibecodelearn vibe coding
Level 4 · Shipping it 6 min Reviewed by the author · Aug 4, 2026

What done actually means

Done is not "no more ideas" — it is a written list, verified on a clean start, by someone who is not you.

Level 4 · 0 / 3 lessons0%

No hands-on task in this lesson — just read it through and answer the questions.

Here is how a first project usually dies: it works, you keep improving it, and one day you stop opening it.

Nothing broke. There was simply never a moment where it was done, because nobody had said what done meant.

You wrote that definition in level 1. Now you use it.

Done is the list, not the feeling

Go back to your finish line:

Done means:
- I paste a URL, click Save, and it appears in the list
- Refreshing the page does not lose the list
- I can delete an item
- It does not look broken on my phone

Four lines. Check them one at a time, by actually doing them. Not “I think that works” — do it and watch.

Everything you notice along the way that is not on this list goes on the Later list. Not into this build. That is the entire discipline, and it is harder than it sounds because the things you notice will be genuinely good ideas.

Quick check

While checking your finish line you spot a small design flaw that is not on the list. What do you do?

Test from a clean state

This is where most “done” projects fail, and the reason is always the same: your machine knows things a fresh one does not.

You have data in your browser from testing. You have a file sitting in the right folder because you put it there an hour ago. You know that you have to click one thing before another.

So test clean:

  • A new browser profile or a private window. No saved data, no cache.
  • A fresh copy of the project folder, if there is anything to set up.
  • Empty state. What does the page look like with zero saved links? A blank white rectangle is a real bug, and it is the first thing every new user sees.
  • A different device. Your phone, at minimum.

Important

Empty state and error state are the two screens nobody tests and every user meets. Zero items, and something going wrong. Look at both deliberately.

Quick check

Which screen is most likely to be broken in a small project?

Watch one other person use it

Fifteen minutes, one person, no help from you.

You will want to explain. Do not. The moment they hesitate is information, and your explanation destroys it.

You will learn things like:

  • They did not know what the box was for.
  • They clicked the wrong thing first.
  • They pasted something that was not a URL and the thing broke.
  • They expected pressing Enter to save, and it did not.

Every one of those is a real finding that no amount of self-testing produces, because you cannot forget how your own thing works.

Tip

Ask them to say out loud what they are trying to do as they do it. It feels awkward for about thirty seconds and then it is the most useful feedback channel you have.

Try it yourself

The thing works. Decide whether that means done.

The done checklist

- Every line of my finish line passes, checked by doing it
- Works from a clean state: new browser, no saved data
- Empty state looks intentional
- Bad input does not break it
- Works on my phone
- One other person used it without me explaining anything
- The review checklist from level 3 passed

If all seven pass, it is done. Not perfect — done. Those are different words and only one of them is achievable.

Quick check

What is the difference between done and perfect?

Version one is allowed to be small

Readlist saves links and shows them. It has no tags, no search, no sync, no accounts.

That is a complete version one. Small and finished beats large and abandoned, every single time — and only one of those two teaches you what happens after you ship, which is the next lesson.

The Later list does not go away. It becomes version two, if there is one. Plenty of good version ones never get a version two, and that is not a failure.

Check your understanding

Answered 0/2
Mode:

What is the strongest test that a project is actually done?

Why test on a fresh start rather than the session you have been working in?

Finish the task in the terminal and answer the questions to complete the lesson.

📝 My notes

Saved automatically in this browser · shows up on the Notes page.

Lesson Q&A

What is the strongest test that a project is actually done?

A written list, checked from a clean state, by a second person. Everything else is a feeling.

Why test on a fresh start rather than the session you have been working in?

Your machine has accumulated state and knowledge. A new browser, a new folder, a new person exposes what you never actually did.

While checking your finish line you spot a small design flaw that is not on the list. What do you do?

A finish line you edit while checking it is not a finish line. Capture the idea, finish the pass, then decide deliberately.

Which screen is most likely to be broken in a small project?

You develop with data in front of you, so the zero-items view rarely gets looked at — and it is the first thing a new user sees.

What is the difference between done and perfect?

Done is defined and checkable. Perfect is a moving target that recedes as you approach, which is why projects that aim for it never ship.

Related reading on the blog

Move between lessons with · search with ⌘K