Launching a website should feel like flipping a switch, not defusing a bomb. The difference is mostly sequence. Here's a calm, repeatable order for moving from approved changes to a public website.

Before you touch anything

  • •Confirm you're in the correct project and on the correct branch.
  • •Pull or sync so you're starting from the latest remote state.
  • •Check your working tree—there should be no surprises left over from yesterday.

Build and review locally

  • •Review the actual changes locally, not just the files you remember editing.
  • •Run lint, tests, and the production build. A build that works in development but fails in production is a launch risk, not a quirk.
  • •Open the important routes at a couple of representative screen sizes. You don't need every device—just enough to catch the obvious.

Commit and reconcile

  • •Review files before committing. A status check and a diff are your friends.
  • •Commit with a clear message that says what and why.
  • •If new remote changes appeared while you worked, reconcile them safely with a pull, rebase, or merge—whatever your team prefers. Don't force anything.

Push and deploy

  • •Push to GitHub.
  • •Confirm the hosting platform is building the correct branch and the newest commit—not the one from this morning.
  • •Watch the build finish. "It probably worked" is not a launch step.

Test the live site

  • •Test the live URL in a clean browser (incognito, no cache).
  • •Submit the forms. Click the navigation. Check SSL and any redirects.
  • •Check mobile behavior on a real phone, not just a narrow desktop window.

Don't cancel the old host too early

Keep the old host alive until you've confirmed the new one is fully serving traffic, DNS has propagated, and email (if tied to the domain) still works. Cancelling early is how people lose email for a week.

Prelaunch checklist

  • •Correct project and branch
  • •Working tree clean
  • •Lint, tests, and build pass
  • •Important routes reviewed
  • •Changes committed with a clear message
  • •Remote changes reconciled

Postlaunch checklist

  • •Hosting built the newest commit on the correct branch
  • •Live URL loads in a clean browser
  • •Forms submit and confirm
  • •Navigation and links work
  • •SSL valid, redirects correct
  • •Mobile behaves
  • •Old host still alive until fully cut over

Takeaway

Calm launches come from doing boring things in a boring order. The excitement can wait.