Guides app deployment to production: select hosting by stack (Vercel/Next.js, Railway/Python), connect custom domains, set env vars, manage prod DBs, configure DNS.
npx claudepluginhub whawkinsiv/solo-founder-superpowers --plugin solo-founder-superpowersThis skill uses the workspace's default tool permissions.
The gap between "it works on my screen" and "anyone can use it" feels enormous. It's not. This skill walks you through choosing a host, deploying, connecting a domain, and setting up backups — step by step.
Provides Ktor server patterns for routing DSL, plugins (auth, CORS, serialization), Koin DI, WebSockets, services, and testApplication testing.
Conducts multi-source web research with firecrawl and exa MCPs: searches, scrapes pages, synthesizes cited reports. For deep dives, competitive analysis, tech evaluations, or due diligence.
Provides demand forecasting, safety stock optimization, replenishment planning, and promotional lift estimation for multi-location retailers managing 300-800 SKUs.
The gap between "it works on my screen" and "anyone can use it" feels enormous. It's not. This skill walks you through choosing a host, deploying, connecting a domain, and setting up backups — step by step.
This skill is for deployment and hosting. For pre-launch quality checks, use go-live. For monitoring after deploy, use monitor. For database setup, use database. For security hardening, use secure.
| Built With | Deploy To | Why |
|---|---|---|
| Lovable | Lovable's built-in hosting | Already deployed. Just connect your domain. |
| Replit | Replit Deployments | One-click deploy from your Repl. Built in. |
| Bolt / Stackblitz | Netlify or Vercel | Export code, connect git repo, auto-deploys. |
| Claude Code (Next.js, React) | Vercel | Built for Next.js. Git push = deploy. |
| Claude Code (any framework) | Railway | Supports everything. Simple dashboard. |
| Claude Code (static site) | Netlify or Cloudflare Pages | Free tier is generous. Fast global CDN. |
| Claude Code (Python/Django/Flask) | Railway or Render | Good Python support with managed databases. |
| Platform | Free Tier | Ease | Database | Custom Domain | Best For |
|---|---|---|---|---|---|
| Vercel | Generous | Very easy | No (use Supabase) | Yes | Next.js, React apps |
| Railway | $5 credit/mo | Easy | Yes (Postgres) | Yes | Full-stack apps, any framework |
| Netlify | Generous | Very easy | No | Yes | Static sites, JAMstack |
| Render | Free tier | Easy | Yes (Postgres) | Yes | Full-stack, background jobs |
| Fly.io | Limited free | Moderate | Yes (Postgres) | Yes | Global distribution, Docker |
| Cloudflare Pages | Very generous | Easy | No (use D1 or Supabase) | Yes | Static sites, edge functions |
| Replit | Included | Easiest | Yes (built-in) | Yes | Apps built in Replit |
| Lovable | Included | Easiest | Yes (Supabase) | Yes | Apps built in Lovable |
Recommendation for most solo founders: Vercel (for Next.js) or Railway (for everything else).
Your app is already running. You just need a custom domain:
Deployment Checklist — Vercel:
- [ ] Push your code to a GitHub repository
- [ ] Go to vercel.com → "Add New Project"
- [ ] Connect your GitHub repo
- [ ] Vercel auto-detects framework and configures build settings
- [ ] Add environment variables (Settings → Environment Variables)
- [ ] Click "Deploy"
- [ ] Connect custom domain (Settings → Domains)
- [ ] Update DNS (Vercel gives you the records)
- [ ] Verify HTTPS is working
Tell AI:
Help me deploy my Next.js app to Vercel. My app uses:
- Framework: [Next.js version]
- Database: [Supabase/PlanetScale/etc.]
- Environment variables I need: [list them]
Walk me through the steps and tell me what environment variables
to set in the Vercel dashboard.
Deployment Checklist — Railway:
- [ ] Push code to GitHub repository
- [ ] Go to railway.app → "New Project"
- [ ] Choose "Deploy from GitHub Repo"
- [ ] Select your repo
- [ ] Add environment variables in the Railway dashboard
- [ ] If you need a database: click "New" → "Database" → "PostgreSQL"
- [ ] Railway gives you a DATABASE_URL — add it to your app's env vars
- [ ] Click "Deploy"
- [ ] Connect custom domain (Settings → Networking → Custom Domain)
- [ ] Update DNS records
Environment variables store secrets (API keys, database passwords) that should never be in your code.
Common Environment Variables:
DATABASE_URL=postgresql://user:password@host:5432/dbname
STRIPE_SECRET_KEY=sk_live_...
STRIPE_PUBLISHABLE_KEY=pk_live_...
STRIPE_WEBHOOK_SECRET=whsec_...
NEXT_PUBLIC_SUPABASE_URL=https://xxx.supabase.co
SUPABASE_SERVICE_ROLE_KEY=eyJ...
EMAIL_API_KEY=re_...
NEXTAUTH_SECRET=random-string-here
NEXTAUTH_URL=https://yourdomain.com
NODE_ENV=production
.env and .env.local to .gitignore.Tell AI:
List all the environment variables my app needs for production deployment.
My app uses: [list your services — Supabase, Stripe, email provider, etc.]
Show me which ones are public (safe for client-side) and which are secret
(server-only).
.com if possible. .io and .co are fine for SaaSYour hosting platform will tell you exactly which DNS records to add. Typical setup:
| Record Type | Name | Value | Purpose |
|---|---|---|---|
| A | @ | 76.76.21.21 (example) | Points root domain to host |
| CNAME | www | cname.vercel-dns.com (example) | Points www to host |
Where to add DNS records: Log in to wherever you bought your domain (Namecheap, Cloudflare, etc.) → DNS Settings → Add the records your hosting platform gives you.
DNS propagation takes 5 minutes to 48 hours (usually under 30 minutes). Be patient.
Tell AI:
I bought a domain on [Namecheap/Cloudflare/Google Domains] and I'm hosting on [Vercel/Railway/Netlify].
Walk me through connecting the domain step by step. Tell me exactly which DNS records
to add and where.
Supabase is already hosted. Your production app connects to the same Supabase project (or a separate one for production):
Production Database Checklist — Supabase:
- [ ] Create a separate Supabase project for production (don't share with dev)
- [ ] Run your migrations on the production database
- [ ] Enable Row Level Security (RLS) on all tables
- [ ] Set up database backups (Supabase Pro plan includes daily backups)
- [ ] Use the production URL and keys in your production env vars
| Service | Free Tier | Best For |
|---|---|---|
| Supabase | 500MB, 2 projects | Postgres + auth + storage |
| Railway Postgres | Included with $5 credit | Apps already on Railway |
| PlanetScale | 1 billion row reads/mo | MySQL, branching workflow |
| Neon | 512MB | Serverless Postgres |
| Render Postgres | 1GB, 90-day limit | Apps already on Render |
If you don't have backups, a single mistake can destroy your business.
Backup Checklist:
- [ ] Database backups enabled (daily minimum)
- [ ] Verified you can restore from a backup (test this!)
- [ ] Code is in a git repository (GitHub/GitLab)
- [ ] Environment variables documented (not in code, but you know what they all are)
- [ ] File uploads stored in cloud storage (S3, Supabase Storage, Cloudflare R2)
Database backups by platform:
Once deployed, set up basic monitoring (see monitor skill for full guidance):
Minimum Viable Monitoring:
- [ ] Uptime check — Use BetterUptime, UptimeRobot (free), or Checkly
- [ ] Error tracking — Use Sentry (free tier) to catch production errors
- [ ] Alerts — Get notified by email or Slack when your site goes down
- [ ] Check your app once daily — log in and use it like a customer
Tell AI:
My app at [URL] is showing [error]. I'm hosted on [platform] with
[database]. Here are the error logs: [paste logs]. Help me figure out
what's wrong and how to fix it.
| Mistake | Fix |
|---|---|
| Committing API keys to GitHub | Add .env to .gitignore. Rotate any leaked keys immediately |
| Using the same database for dev and production | Create separate environments. One bad query shouldn't break production |
| No backups | Enable database backups today. Not tomorrow. Today |
| Skipping custom domain | Buy one. $10/year. yourapp.com builds trust |
| Overcomplicating deployment | Use the platform that matches your build tool. Don't migrate unnecessarily |
| Not testing after deploy | Always click through your app after every deployment |
| Ignoring deploy logs | When something breaks, logs tell you why. Learn to read them |