Most launch incidents are not exotic. They come from a small set of things that were assumed to be handled and never verified. We run the same checklist on every project.
**Restore a backup, do not just take one**
A backup you have never restored is a hypothesis. We restore into a scratch environment and confirm the data is complete and usable before launch.
**Confirm errors reach a human**
Trigger a deliberate exception in staging and verify it appears wherever the team actually looks. Silent error reporting is worse than none, because it creates false confidence.
**Load the slowest realistic page**
Find the heaviest query in the application, run it against production-sized data, and check for the N+1 patterns that only appear once the tables are full.
**Verify the boring things**
Certificate expiry and renewal, redirects from the old site, correct robots directives, form submissions arriving in the right inbox, and rate limits on every public endpoint. None of it is glamorous and all of it causes incidents.
**Agree who is watching after deploy**
Someone should own the first 48 hours explicitly, with a known rollback procedure. Shared responsibility with no named owner means nobody is watching at all.
Launch day is not the time to discover your backups were never configured. The checks we run on every project before going live.