Twenty-five vibe-coded apps, one week later.
Launch posts are easy to find. Working links a week later are the number worth keeping. This is the count, the rules, and a sheet you can fill without pretending a vibe is the same thing as a URL.
What this report is
This is a field method, not a finished tally. We are not publishing a made-up “18 of 25 were down.” A useful edition of this note is a sample you can re-run: twenty-five projects that someone, this month, said they built with Cursor, Claude Code, Codex, or a similar agent. You score each one seven days after it was shown in public. Then you publish the sheet.
The point of the wait is to separate a screenshot from a piece of software. On the day of the post, the author’s laptop is open and the dev server is warm. A week later, that advantage is gone. Whatever still works is what they actually shipped.
How to pick the twenty-five
Take them in the order you find them. Skipping the ugly ones will flatter the sample. Write down, for each:
- where you found it, and the date of the post
- the tool the author named
- the URL they gave, or the fact that they gave none
- the date you will recheck, seven days later
If the post has no URL, that project still counts. “No link” is a result. It is the most common way a vibe-coded app fails the week-later test, and dropping those rows would hide it.
The scorecard
Score each project pass or fail. A pass has to be true without the author’s help and without their laptop in the room.
| Check | Pass | Fail |
|---|---|---|
| A visitor can open it | HTTPS page loads | No URL, localhost, timeout, or login wall you were not given a way through |
| The files are the app | The page is the thing they demoed | The link is a repo, a tweet, or a screen recording |
| It survives sleep | Still up when the author is unlikely to be tunneling | Errors at night, works only while a live session is running |
| A form remembers | A test row is still there on refresh | No form, or the form only updates local state |
| Secrets stayed out | View-source shows no account token | A live credential is in the HTML or the script |
How to read a row
Do the checks in order, in a private window, on a network that is not the author’s. Stop at the first fail if you want a single headline number: share of projects a stranger can still open. Keep the later rows anyway. They tell you why the openable ones are thin.
A project that loads and has nothing to save is not a failure of the form check. Mark that cell “not applicable” and say so in the notes. A landing page with no form can still pass the test that matters, which is that someone else can open it next week. A waitlist that forgets the email fails a different test, and it should be visible in the sheet rather than averaged away.
When you publish, include the list of sources and the recheck dates. Counts without the sheet are slogans. The sheet is the report.
Run it once on your own last project before you run it on strangers. The scorecard is uncomfortable on purpose. A week is long enough for a laptop to sleep, and short enough that you still remember what the app was supposed to be.