On this page
- The deployment gap
- Step 1: Secrets and configuration
- Step 2: HTTPS and DNS
- Step 3: CI/CD — automate the deploy
- Step 4: Health checks and monitoring
- Step 5: Databases — indexes, backups, connections
- Step 6: Scheduled jobs and background work
- Step 7: Resilience — what happens when things break
- Step 8: Deployment strategy — how to ship without breaking
- Step 9: Security review
- Step 10: Cost awareness
- Checklist
- FAQ
- Related topics
- Sources
Deploying AI-Generated Apps to Production: A Vibecoder's Checklist
Your AI wrote the app. Now here's every step between 'it works on my machine' and 'it's running in production.' Deployment, monitoring, secrets, databases, and the checklist your AI didn't include.
Quick answer
- Your AI writes the app. It skips deployment entirely. You need: HTTPS, secrets, health checks, monitoring, backups, and indexes.
- Use a PaaS for your first deploy — Railway, Fly.io, or Render. Not Kubernetes.
- Every step below links to a full guide. Work through them in order on your first deploy.
The deployment gap
AI coding assistants are brilliant at writing application code. They’re terrible at operations — the work of making that code run reliably on the internet. Your assistant will generate a beautiful Express or FastAPI server and then… stop. No health check. No monitoring. Hardcoded secrets. No database indexes. No error alerting.
That’s the deployment gap. These guides bridge it.
Step 1: Secrets and configuration
Your AI hardcoded something. Find it before you deploy.
- How to Manage Secrets and Environment Variables Properly — Use env vars, not hardcoded strings.
- Why Do .env Files Keep Leaking Secrets? — The .env in your git history is public.
- Why Your Frontend API Keys Are Not Secret — Anything in client-side code is exposed.
- How to Automate API Key Rotation — Keys should expire.
Step 2: HTTPS and DNS
No exceptions. Every production app needs TLS.
- How to Add HTTPS to a Static Site — Free TLS with Let’s Encrypt.
- How to Set Up Cloudflare for a Small Project — DNS, SSL, and CDN in one.
- How to Monitor Domain Expiry — The single biggest cause of “my site is down.”
Step 3: CI/CD — automate the deploy
Push to main, deploy. No manual steps, no forgotten commands.
- What Is CI/CD? — The concept.
- How to Set Up a CI/CD Pipeline With GitHub Actions — The setup.
- How to Add Security Scanning to Your CI/CD Pipeline — Catch secrets and vulns in CI, not in production.
Step 4: Health checks and monitoring
Your AI wrote an app that runs. It didn’t write anything that tells you when the app isn’t running.
- What Is a Health Check? — The
/healthendpoint every app needs. - How to Add Health Checks to Your App — The implementation.
- What Is Uptime Monitoring? — Know when your site is down before your users do.
- How to Get Alerted When Your Site Goes Down — From silence to notification.
- What Is Observability (and How Is It Different From Monitoring)? — Logs, metrics, and traces.
Step 5: Databases — indexes, backups, connections
Your AI writes queries. It never adds indexes, sets up backups, or configures connection pooling. Do these before real data hits the database.
- What Is Database Indexing (and Why Is My Query Slow)? — The #1 cause of slow queries.
- How to Add an Index to a Slow SQL Query — The fix.
- What Is the N+1 Query Problem? — The ORM performance killer.
- What Is a Connection Pool? — Don’t open a new connection per request.
- How to Fix ‘Too Many Connections’ in Postgres — The connection pool overflow.
- What Are Database Migrations (and Why Do They Break Deploys)? — Schema changes, safe edition.
- How to Set Up Automated Database Backups — Because your AI didn’t.
Step 6: Scheduled jobs and background work
Your AI added setInterval or a cron job. It didn’t add monitoring for them.
- What Is a Cron Job (and Why Do They Fail Silently)? — Scheduled tasks and their silent failure mode.
- How to Monitor Your Cron Jobs — Alerts for when scheduled jobs stop running.
- How to Build a Background Job Queue — Async work, done right.
- What Is a Dead Letter Queue? — Where failed messages go.
Step 7: Resilience — what happens when things break
Your AI writes the happy path. Production is the unhappy path. Add these before you need them.
- What Is the Circuit Breaker Pattern? — Stop calling dead services.
- What Is Exponential Backoff? — How retries should work.
- How to Add Retry Logic to API Calls — Don’t retry blindly.
- What Is Graceful Shutdown? — Finish in-flight requests before exiting.
- Why Does My App Ignore SIGTERM (and How Do I Fix It)? — Kubernetes sends signals your app ignores.
Step 8: Deployment strategy — how to ship without breaking
Choose a strategy before you need it. A bad deploy with no rollback plan is a panic attack.
- Rolling vs Blue-Green vs Canary Deployments: Which Should You Pick? — Three strategies, one decision.
- What Is Zero-Downtime Deployment? — Deploy without dropping requests.
- How to Roll Back a Bad Deploy — When the new version is broken.
- What Is a Feature Flag? — Deploy dark, enable later.
Step 9: Security review
Run through these before any real users hit the app.
- How to Review AI-Generated Code Like a Senior Engineer — What to look for in the AI’s code.
- How to Scan Your Codebase for Hardcoded Secrets — Find leftovers.
- What Is Static Application Security Testing (SAST)? — Automated security scanning.
- How to Add SAST Scanning to a GitHub Repo — The setup.
- How to Test Your App for Broken Access Control — Verify auth on every endpoint.
- What Is SQL Injection (and Why Does AI-Generated Code Keep Writing It)? — Your AI’s queries are probably vulnerable.
- What Are Security Headers (and How Do You Add Them)? — CSP, HSTS, X-Frame-Options.
Step 10: Cost awareness
Your AI doesn’t know your budget. Neither does the cloud provider.
- What Is FinOps (Cloud Cost Management)? — Treat cloud costs as an engineering discipline.
- How to Reduce Your Cloud Bill Without Breaking Production — Practical cost-cutting.
- How to Launch Free Infrastructure on AWS, GCP, or Azure — Run a real app at $0 inside the big-three free tiers.
- Why Is Your Docker Image So Large (and How Do You Shrink It)? — Smaller images = faster deploys and lower costs.
Where this bites vibecoders
The AI builds a working app in hours. The vibecoder ships it. And then: the database slows to a crawl (no indexes), secrets leak through the frontend (hardcoded API keys), scheduled jobs fail silently (no monitoring), and the domain expires (no renewal alert). The checklist above is the difference between a demo and a deployed application. Work through it once, and it becomes muscle memory.
Checklist
Before first deploy:
- Secrets in environment variables, never in code
- HTTPS configured
- Health check endpoint returning 200
- Uptime monitoring with alerts
- Database indexes on columns used in WHERE clauses
- Automated database backups
- CI/CD pipeline running tests on every push
- SAST scanning in CI
- Security headers configured
Before any real traffic:
- Connection pooling configured
- Rate limiting on public endpoints
- Circuit breaker for external service calls
- Dead letter queue for failed async jobs
- Cron job monitoring
- Rollback plan tested
FAQ
My AI-generated app works locally. What do I need to do before deploying?
At minimum: put secrets in environment variables (never in code), add a health check endpoint, configure HTTPS, set up error alerting, and add database indexes. The AI writes the app but skips all five of these. Each has a linked guide below.
What’s the fastest way to deploy an AI-generated app?
A static site goes on Netlify or Cloudflare Pages. A backend with a database goes on Railway, Fly.io, or Render — platforms that handle provisioning, SSL, and deployment from Git. Avoid Kubernetes for your first deploy; use a PaaS until you outgrow it.
What’s the one thing vibecoders miss most often?
Monitoring. The AI generates the app, the vibecoder deploys it, and nobody knows it’s down until a user complains — days later. Set up uptime monitoring and health check alerting before you do anything else post-deploy.
Do I need all of this for a hobby project?
No. For a hobby project, do steps 1-4 (secrets, HTTPS, CI/CD, monitoring) and skip the rest. For anything with paying users or other people’s data, do all ten steps.
Related topics
- How to Launch Free Infrastructure on AWS, GCP, or Azure
- What Is CI/CD?
- What Is a Cron Job (and Why Do They Fail Silently)?
- How to Manage Secrets and Environment Variables Properly
- What Is Database Indexing (and Why Is My Query Slow)?
- How to Review AI-Generated Code Like a Senior Engineer
- What Is a Health Check?
- What Is Uptime Monitoring?