The launch checklist
Part 12 of The Solo App Business Playbook, published in full.
The list a one-person app has to clear before it is live. Nothing aspirational on
it — every line is something that was missed at least once and cost a day.
- Domain live on Vercel with HTTPS;
www redirects to bare (or vice versa) - Title ≤60, description ≤160, one CTA above the fold, real text in
index.html - Privacy, terms, support, delete-account pages; postal address env var set
robots.txt, sitemap.xml (with lastmod), IndexNow key file, canonical on every page- Search Console + Bing: property verified, sitemap submitted
- Vercel Analytics on; no GA placeholder tags left in the HTML
- Manifest + icons + service worker; Lighthouse PWA audit passes; install prompt seen on Android
- Clerk live keys; sign-in and delete-account work end to end
- Stripe live: products, links, webhook registered, one real $1 test purchase refunded
- Catalog is the only place a price lives; the UI prints from
/api/config - Receipts and welcome email arrive; unsubscribe works
- Admin key set; owner's desk unlocks; product panel shows every link active at the catalog price
- Watch cron scheduled; confirmed it emails on a deliberate mismatch and stays silent when clean
- Security headers present (check with securityheaders.com); CSP report-only running
.vercelignore covers scripts, internal docs, release notes, *.bak- All checks green by exit code; every check has a break-test that fires
DECISIONS.md has a launch entry; WHAT-CHANGED written
Some of these need explaining
"Catalog is the only place a price lives", "every check has a break-test that fires" — those
are one line each here and a part each in the playbook, because they are the rules that stop the
expensive mistakes rather than the small ones.
The playbook → · What it costs to run →