▸ Launch Checklist · 2025

SaaS Launch Checklist

TL;DR

Before going live, a SaaS product needs to pass 60+ checks across 8 categories: product readiness, security, infrastructure, billing, analytics, monitoring, legal, and go-to-market. The five most commonly missed items are Stripe left in test mode, webhook URL pointing at localhost, empty states not designed, Sentry not configured for production, and no analytics event on the activation action.

This is the exact checklist 4Byte Agency runs before every SaaS product goes live at the end of the 28-day build.

60+Total checklist items
8Categories covered
28Days to build the MVP
Day 0Zero excuses for missing critical items

▸ Launch Timeline

What to do at each milestone before and after launch

Launch is not a single moment — it's a four-milestone sequence. Each milestone has a defined focus and concrete actions. Missing any one creates avoidable chaos.

Week Before Launch

T-7 Days
  • Complete all 8 checklist categories — no open Critical items
  • Run full end-to-end test of all core user flows
  • Switch Stripe to live mode and test with a real card
  • Configure all production environment variables
  • Set up uptime monitoring and error tracking for production URL

48 Hours Before

T-48 Hours
  • Deploy to production and verify production domain is live
  • Run smoke tests on production — signup, login, core feature, checkout
  • Verify all transactional emails fire correctly in production
  • Confirm Stripe webhook endpoint is pointed at production URL
  • Brief the support contact (Slack, email, or intercom) so it's ready to respond

Launch Day

T-0
  • Publish to the first cohort (beta list or public — based on launch strategy)
  • Monitor Sentry error dashboard for the first 2 hours
  • Watch Posthog funnel: signup → onboarding → core action → paid
  • Be available to respond to support messages within 30 minutes
  • Celebrate — then watch the data, not just the numbers

First Week Post-Launch

T+7 Days
  • Review activation funnel — where are users dropping off?
  • Fix any bugs surfaced by real user behaviour
  • Conduct 3–5 user interviews with early adopters
  • Review Day 1 retention — are users returning the day after signup?
  • Plan the first post-launch sprint based on data, not gut feeling

▸ Full Launch Checklist

60+ items across eight categories — every one before you go live

Items marked Critical must be complete before the first user signs up. All other items should be completed within the first week post-launch at the latest.

01
🚀

Product Readiness

10 itemsCritical
All core features work end-to-end with no critical bugs outstandingCritical
Signup flow tested: email verification, onboarding steps, and dashboard entry all workCritical
Login, logout, and password reset all function correctly in production environmentCritical
Empty states designed and implemented for all major data views — no blank screensCritical
Loading states and error states exist for every async operation
Mobile responsiveness tested across iOS Safari, Android Chrome, and desktop
Onboarding checklist or guided tour implemented and tested with a fresh account
Core activation event confirmed — user can reach first 'aha moment' in under 5 minutesCritical
Account deletion and data export flows work (GDPR requirement for EU users)
Profile and settings pages functional — name, email change, password change
02
🔐

Security

10 itemsCritical
JWT tokens stored in httpOnly, Secure cookies — not localStorageCritical
Row-level security (RLS) enabled and tested on all tenant database tablesCritical
Cross-tenant data leakage test passed — Organisation B cannot read Organisation A's dataCritical
Zod input validation on every API route before any database operationCritical
Rate limiting on login, signup, magic link, and password reset endpointsCritical
HTTPS enforced on all routes. HSTS header configured in next.config.jsCritical
No sensitive keys in NEXT_PUBLIC_ environment variables or client bundlesCritical
Content-Security-Policy and X-Frame-Options headers configured
Stripe webhook signature verification implemented with constructEvent()Critical
Dependency vulnerability scan run (npm audit clean or Snyk scan passed)
03
🌐

Infrastructure

10 itemsCritical
Custom domain configured and DNS propagated — product not running on *.vercel.appCritical
SSL certificate active — HTTPS working on all routes including www and apex domainCritical
All production environment variables set in Vercel (not .env files on a server)Critical
CI/CD pipeline running — automatic deployment on push to main branch
Staging environment exists — separate from production with separate Stripe keys
Database backups enabled and tested — verified you can restore from a backupCritical
Core Web Vitals passing — LCP < 2.5s, CLS < 0.1, INP < 200ms on production URL
All user-uploaded files served from Supabase Storage CDN — not via API routes
Redirect from www to apex (or apex to www) working correctly
404 and 500 error pages designed and implemented — not Next.js defaults
04
💳

Billing

10 itemsCritical
Stripe account in live mode — not test mode. Live mode Stripe keys configured in production env varsCritical
Stripe webhook endpoint registered in Stripe Dashboard pointing to production URLCritical
All critical webhook events handled: subscription.created, payment_succeeded, payment_failed, subscription.deletedCritical
End-to-end billing tested with a real card in production: signup → checkout → active subscription confirmedCritical
Stripe Billing Portal configured and accessible from product settingsCritical
Feature gating working: free/trial users see upgrade prompts, paid users get full accessCritical
Trial expiry flow tested: trial ends → access restricted → upgrade prompt shown
Failed payment flow tested: card declined → status updated → dunning email triggered
Pricing page live on marketing site with accurate plan details matching Stripe configurationCritical
Invoices generated correctly and accessible to customers via Stripe Billing Portal
05
📊

Analytics & Tracking

8 itemsHigh
Posthog (or equivalent) installed and capturing page views in productionCritical
Signup event tracked with user properties (plan, referral source, organisation)Critical
Core activation event tracked — the first action that signals a user has found valueCritical
Trial start, trial conversion, and subscription cancellation events trackedCritical
Signup → Activation funnel configured in Posthog for daily monitoring
Session recordings enabled for the first 30 days to identify UX friction points
Referral source attribution captured on signup (UTM parameters → database field)
Core dashboard and feature usage events tracked for retention analysis
06
📡

Monitoring & Alerting

8 itemsCritical
Sentry error monitoring active in production with source maps uploaded for readable stack tracesCritical
Uptime monitoring configured with ≤ 1-minute check interval and email/Slack alert on downtimeCritical
Alert configured for Sentry error rate spikes — trigger when errors exceed normal baselineCritical
Stripe webhook delivery monitored in Stripe Dashboard — alert on repeated failures
Database query performance monitoring — Supabase slow query log reviewed
Background job failure alerts configured if using Inngest or Trigger.dev
Status page (optional but recommended) — statuspage.io or similar for user-facing transparency
On-call contact defined — who receives alerts at 2am and how to reach themCritical
07
📋

Legal & Compliance

8 itemsHigh
Privacy Policy published at /privacy — covers data collection, use, storage, and deletionCritical
Terms of Service published at /terms — accepted by users during signup via checkbox or click-wrapCritical
Cookie consent banner shown to EU/UK visitors if using analytics cookies
Company legal entity registered — product should not launch under a personal name
Data Processing Agreement (DPA) template available for B2B enterprise customers
Subprocessor list documented (Stripe, Supabase, Vercel, Resend, Posthog, Sentry)
Account deletion process removes or anonymises all personal data within 30 days
Data export functionality available for users to download their data on request
08
📣

Go-to-Market

10 itemsHigh
Marketing landing page live with clear value proposition, features, pricing, and CTACritical
Pricing page shows accurate plan details that match live Stripe configurationCritical
Support channel ready to receive messages — email, Intercom, Crisp, or Slack communityCritical
Onboarding email sequence configured in Resend — welcome, day 3 check-in, day 7 retention
Product screenshots or demo video on landing page — shows what the product looks like before signup
Signup CTA visible above the fold on all landing page viewportsCritical
Social proof element on landing page — testimonials, logos, or launch metrics
Announcement prepared for relevant channels — Twitter/X, LinkedIn, Product Hunt, community
Beta user list notified of launch — email to waitlist or early access group
Founder accessible on launch day — monitoring support and willing to jump on calls

▸ Most Commonly Missed

Six items most often missed — and how to verify each one

These six items appear consistently in post-launch incident reports. Each one includes an exact verification step so you can confirm it's done — not just assume it.

Stripe test mode left on in production

Very common

Consequence If Missed

Payment attempts silently fail or complete without real charges. Real users see checkout errors. Revenue is lost.

How To Verify

Go to Stripe Dashboard → top-left toggle shows 'Test mode' or 'Live mode'. Production must show 'Live mode'.

Stripe webhook still pointing at localhost or staging URL

Very common

Consequence If Missed

Production subscription events (payment success, failures, cancellations) never reach your handler. Subscription state becomes permanently stale.

How To Verify

Stripe Dashboard → Developers → Webhooks → verify endpoint URL matches your production domain.

Empty states not designed — new users see blank screens

Common

Consequence If Missed

New users land on the dashboard and see nothing. No guidance, no CTA. They close the tab and don't return.

How To Verify

Sign up with a fresh account and navigate every main route. Any blank screen is a missing empty state.

Sentry not configured for production (only development)

Common

Consequence If Missed

Production errors are invisible. The first signal of a bug is an angry support email or a drop in activation rate — not an alert.

How To Verify

Trigger a deliberate error in production (visit /test-error) and verify it appears in Sentry within 30 seconds.

Password reset emails going to spam or not firing in production

Common

Consequence If Missed

Users who forget their password cannot recover access. They churn permanently — a recoverable situation becomes an unrecoverable one.

How To Verify

Trigger a password reset in production and check delivery to a Gmail and Outlook inbox. Check spam folders.

No analytics event on the activation action

Common

Consequence If Missed

Without tracking the first meaningful user action, you have no data on activation rate — the most important early metric. You cannot improve what you cannot measure.

How To Verify

Complete the core activation action in production and verify the event fires in Posthog Live Events view.

▸ Launch Strategy

Soft launch vs hard launch — which one is right for your SaaS

The launch strategy choice determines how much risk you take on launch day and how much data you'll have before broad exposure. Here's the honest comparison.

Soft Launch (Recommended)

Recommended

Release to a small, controlled cohort — your waitlist, beta users, or a community you're already part of. Get structured feedback before wide public release.

Advantages

  • Bugs affect a small audience
  • Real feedback before public exposure
  • Lower pressure to be perfect
  • Validates activation before scaling acquisition
  • Build social proof (testimonials, case studies) first

Trade-offs

  • Slower initial growth
  • Requires a pre-existing audience or community

Best For

First-time SaaS founders, complex products, anything B2B

Hard Launch (Public from Day One)

High Risk

Announce publicly from the first day — Product Hunt, Twitter, LinkedIn, community posts. Maximum initial visibility.

Advantages

  • Maximum exposure from launch day
  • Product Hunt can drive significant traffic
  • Social proof builds faster with volume

Trade-offs

  • Bugs affect everyone immediately
  • No validation before scale
  • High pressure to have a polished product from day one
  • Wasted acquisition if activation is low

Best For

Consumer products, products with a proven waitlist of 1,000+ engaged signups, founders with large existing audiences

▸ Post-Launch Week

The first week after launch — what to focus on each day

The first week is the most information-dense week in the product's life. What you do with that information determines whether the product compounds or stalls.

01

Day 1

Watch and Fix
  • Monitor Sentry for error bursts
  • Watch signup funnel in Posthog real-time
  • Respond to all support messages within 30 minutes
  • Fix any P0 bugs immediately — same day
02

Day 2–3

Support & Stabilise
  • Review activation rate (signups vs core action completions)
  • Fix any UI/UX issues surfaced by real user sessions
  • Respond to every user message personally — founder-led support
  • Note every question asked — each is a gap in onboarding or copy
03

Day 4–5

Learn & Validate
  • Conduct 3–5 user interviews with early adopters
  • Review session recordings in Posthog for friction points
  • Check Day 1 retention: what % returned the day after signup?
  • Identify the top 3 points where users drop out of onboarding
04

Day 7

Plan Sprint 1
  • Review all data: activation rate, D1 retention, support themes
  • Prioritise fixes and improvements by user impact, not gut feel
  • Plan and scope the first post-launch sprint — 2-week iteration cycle
  • Set targets for Sprint 1: specific activation and retention improvement goals

▸ FAQ

Frequently asked questions about SaaS launch preparation

What should be on a SaaS launch checklist?+

A complete SaaS launch checklist covers eight categories: product readiness (core features, empty states, onboarding), security (auth, RLS, API validation), infrastructure (domain, SSL, CDN), billing (Stripe live mode, webhooks), analytics (error tracking, product analytics), legal (privacy policy, terms), monitoring (Sentry, uptime), and go-to-market (landing page, pricing, support).

How long before launch should you run a pre-launch checklist?+

Run the pre-launch checklist at least one week before your planned launch date. This gives time to fix critical issues. Items like switching Stripe to live mode and configuring production environment variables should be done 48 hours before launch in a controlled environment.

What is the most commonly missed item in a SaaS launch checklist?+

The most commonly missed items are: Stripe left in test mode in production, Stripe webhook still pointing at localhost, empty states not designed so new users see blank screens, Sentry not configured for production, and no analytics event on the activation action.

Should you do a soft launch or hard launch for a SaaS product?+

A soft launch to a small cohort of invited users is almost always better for an MVP. Soft launches reveal real-world bugs before they affect a large audience, let you validate the activation rate before scaling acquisition, and allow you to gather structured feedback before full public release.

What analytics should be set up before a SaaS launch?+

Before launch, set up: Sentry for error monitoring, uptime monitoring with alerts, Posthog for product analytics tracking the signup → activation funnel, and custom events for your core activation event. Set up before launch so data is captured from the first user.

How does 4Byte Agency prepare a SaaS product for launch?+

4Byte Agency runs a structured pre-launch checklist across all 8 categories in the final days of every 28-day build: product readiness review, security audit, infrastructure verification, Stripe live-mode switch, analytics configuration, legal document review, monitoring setup, and go-to-market preparation. Launch day is planned and controlled — not a surprise.

SaaS Development Cluster Complete · 15 / 15 Pages

▸ Ready to ship?

Want your SaaS product launched in 28 days with every box ticked?

4Byte Agency runs this exact checklist at the end of every 28-day SaaS build. Every critical item across all 8 categories is verified before a single user signs up. Let's build and launch your product together.

60+ item launch checklist run as standard
Stripe live mode verified before handoff
Sentry + uptime monitoring configured
Empty states and onboarding built in
Security audit across all 7 layers
Analytics event tracking from day one
Available now
28-day delivery guaranteed
Response in ≤ 4 hours
45+ SaaS products shipped