Launch checklist
Everything to check before you take real payments.
Work through this list top to bottom before announcing your launch.
Content
- No "Acme" left:
grep -rni "acme" srcprints nothing. - The example blog post
src/content/blog/welcome.mdxis deleted. - Terms and privacy have no
[bracketed]placeholders left, include your refund policy, and name your company. -
supportEmailinsrc/config.tsis an inbox you read. - Prices on the landing page match the prices of your Dodo products. See Changing a plan's price.
- No made-up testimonials, logos or numbers.
Payments
- Your business is verified in Dodo and live mode is enabled.
- You've switched to live mode: live API key, live products, live webhook.
- Test data is cleared from the production database (see Clear test data).
- You've made one real purchase from start to finish, then refunded it in Dodo.
Sign-in and email
-
NEXT_PUBLIC_APP_URLin Vercel is your real address, starting withhttps://, without a trailing slash. - Your Resend domain shows Verified, and
EMAIL_FROMuses it. - Signing up with email on the live site sends a confirmation email that arrives (check spam).
- Google: production origin and redirect URI added, and the app published (not "Testing").
- GitHub: an OAuth app whose callback URL is your production address.
- You can sign in with every method shown on the sign-in page.
Hosting
-
vercel.json(with your function region) is committed. - Your custom domain is connected, and everything above uses it. See Custom domain.
- You're an admin on production:
/adminloads. - Build checks pass:
npm run typecheck && npm run lint && npm test && npm run build.
After launch
- Submit
https://yourdomain.com/sitemap.xmlin Google Search Console. - Check Developer → Webhooks in Dodo after the first real sales: every delivery should show
200. - Watch Vercel's Logs for errors in the first days.