
Photo by Carlos Muza on Unsplash
From Boilerplate to Production: Deployment Checklist for MVPs
From Boilerplate to Production: Deployment Checklist for MVPs
You've built your MVP on a boilerplate. Features work locally. Now it's time to deploy to production. This checklist ensures nothing gets missed.
Pre-Deployment: Environment and Services
Third-Party Services
- Stripe — Switch from test to live API keys
- Database — Production database provisioned (Neon, Supabase, PlanetScale, or AWS RDS)
- Email — Production email service configured (Resend, SendGrid, or Postmark)
- Domain — Custom domain purchased and DNS configured
- Hosting — Vercel, Railway, or Fly.io account ready
Environment Variables
- All production environment variables set in hosting platform
- No test/development keys in production config
- Stripe webhook endpoint updated to production URL
- Database connection string points to production database
- Email service using production API key
Database
- Production database created and accessible
- All migrations applied (
prisma migrate deploy) - Database connection pooling enabled (important for serverless)
- Backup strategy configured (daily automated backups)
- Seed data removed (no test users or fake products in production)
Security
- HTTPS enforced (automatic on Vercel/Netlify)
- Environment variables are secrets, not hardcoded
- Stripe webhook signature verification enabled
- Authentication cookies are HTTP-only and secure
- Rate limiting on login and signup endpoints
- CORS configured correctly
- No sensitive data in client-side code or logs
Full security guide: Security Checklist for MVP Apps.
Performance
- Images optimized (WebP, lazy loading, proper sizing)
- JavaScript bundle size checked (no unnecessary imports)
- Database queries optimized (no N+1 queries)
- Static pages pre-rendered where possible
- CDN serving static assets
SEO and Marketing
- Meta titles and descriptions on all pages
- Open Graph images for social sharing
-
sitemap.xmlgenerated and accessible -
robots.txtconfigured - Google Analytics or PostHog installed
- Favicon and app icons set
Monitoring
- Error tracking (Sentry) configured for production
- Uptime monitoring (BetterUptime, UptimeRobot) set up
- Stripe webhook logs accessible in Stripe Dashboard
- Application logs accessible through hosting platform
Go-Live Day Timeline
| Time | Action |
|---|---|
| T-2 hours | Final code review and merge to main |
| T-1 hour | Deploy to production, verify build succeeds |
| T-45 min | Run database migrations |
| T-30 min | Test critical flows: signup, login, payment, core feature |
| T-15 min | Verify Stripe webhooks are received |
| T-10 min | Check email delivery (signup triggers welcome email) |
| T-5 min | DNS propagation check (custom domain resolves) |
| T-0 | Launch — share the URL publicly |
| T+1 hour | Monitor error tracking and logs for issues |
| T+24 hours | Review analytics, check for errors, respond to feedback |
Post-Launch
- Monitor error rates for 48 hours
- Respond to user feedback within 24 hours
- Fix critical bugs immediately, queue non-critical for next sprint
- Set up weekly analytics review
Need a security review first? Read Security Checklist for MVP Apps.
Starting from scratch? Browse production-ready boilerplates on MVPHub.







