Pre-launch checklist
The list below breaks this down into the parts that matter most. Read through each one and note anything that applies to your own setup.
- Remove test credentials and demo data.
- Move private secrets into managed configuration.
- Secure every public table and function.
- Add loading, empty, error and retry states.
- Check mobile layout and keyboard accessibility.
- Set up a custom domain, HTTPS and redirects.
- Verify metadata, robots.txt and the sitemap.
Release workflow
Follow the sequence below from start to finish. The order matters: later steps assume the earlier ones are done.
- Review the changed files and database migration order.
- Run the build and targeted tests.
- Test the published environment with a non-admin account.
- Check provider logs and email or webhook delivery.
- Publish a small change, verify it, then expand the release.
GitHub and hosting
Keep the repository as a reviewable source of truth. If deploying through Vercel or Netlify, map environment variables deliberately, configure the SPA fallback and verify the production callback and domain origins.
Post-launch monitoring sequence
Here is the process broken into clear steps. Take them one at a time and check each off before continuing.
- Check error logs and payment or signup completion rates during the first hour.
- Confirm transactional emails and webhooks are arriving in the live environment.
- Watch database size and function usage against the plan's limits.
- Ask a real user unfamiliar with the project to complete the core task and note where they hesitate.
- Schedule the first backup verification within a week of launch.
Warning signs the project is not actually ready
Before making changes, work through the points below. Each one covers a different part of the picture, so treat them as a set rather than picking favourites.
- Nobody can name who gets notified if the site goes down.
- Admin routes are reachable without an authentication check.
- There is no way to restore data if a migration or bulk edit goes wrong.
- Error states show a blank screen or a raw stack trace to the user.