🚀 Step 7: Ship Mode
Days 13-15 of your journey
This is it. The moment everything has been building toward. Ship mode helps you deploy your product to the internet where real people can use it.
Purpose
In Ship mode, 1M Code acts as a DevOps engineer. It will:
- Guide you through the deployment process
- Help configure hosting and domains
- Set up environment variables for production
- Troubleshoot deployment issues
When to Use This Mode
Use Ship mode when:
- Your app works locally
- You've tested and secured your code
- You're ready to go live
- You need to configure hosting
Available Tools
| Tool | Purpose |
|---|---|
read | Check configuration files |
edit | Update configs for production |
browser | Access hosting dashboards |
command | Run deployment commands |
mcp | Integrate with hosting services |
Example Prompts
Starting Deployment
I'm ready to deploy my water reminder app.
It's a Next.js app. What's the simplest way to get it online?
Vercel Setup
Help me deploy to Vercel. Walk me through the process step by step.
Environment Variables
I have environment variables in .env.local.
How do I set these up in Vercel for production?
Custom Domain
I bought a domain called waterreminder.app.
How do I connect it to my Vercel deployment?
Deployment Issues
My deployment failed with this error: [error message].
What's wrong and how do I fix it?
The Deployment Process
Step 1: Prepare Your Code
Before deploying, ensure:
- Code is committed to git
- All changes are pushed to GitHub
-
npm run buildworks locally - Environment variables are documented
Step 2: Choose a Platform
For most beginners, Vercel is the easiest:
- Free tier is generous
- Automatic HTTPS
- Easy GitHub integration
- Great for Next.js
Step 3: Connect to Vercel
- Go to vercel.com
- Sign up with GitHub
- Click "Import Project"
- Select your repository
- Click "Deploy"
Step 4: Set Environment Variables
In Vercel dashboard:
- Go to Project Settings → Environment Variables
- Add each variable from your
.env.local - Click "Save"
Step 5: Verify Deployment
After deployment:
- Click the provided URL
- Test all features
- Check on mobile
- Share with a friend to verify
Deployment Checklist
Pre-Deployment
-
npm run buildsucceeds locally - All environment variables documented
- Git repository is up to date
-
.envfiles are NOT committed
During Deployment
- Connected GitHub to Vercel
- Environment variables configured
- Build succeeds on Vercel
- Preview URL works
Post-Deployment
- Production URL works
- All features function correctly
- HTTPS is enabled (automatic on Vercel)
- Shared URL with someone to verify
Common Deployment Issues
Issue 1: Build Fails
Symptoms: "Build failed" error in Vercel.
Common causes:
- Missing environment variables
- Dependencies not installed correctly
- TypeScript errors that weren't caught locally
Fix:
Check the build logs in Vercel for the specific error.
Share the error with 1M Code for help.
Issue 2: Environment Variables Missing
Symptoms: App loads but features don't work.
Fix:
- Go to Vercel → Project Settings → Environment Variables
- Add each variable from your
.env.local - Redeploy the project
Issue 3: Works Locally, Not in Production
Symptoms: Features work on localhost but not on the live site.
Common causes:
- Different environment variable names
- Hardcoded localhost URLs
- API keys not set in production
Fix: Check for any localhost references in your code.
Issue 4: Page Not Found
Symptoms: Links work locally but show 404 in production.
Common causes:
- Case sensitivity (local is case-insensitive, production is case-sensitive)
- Missing pages in the build
Fix: Check file names match exactly, including capitalization.
Your First URL
After successful deployment, you'll have a URL like:
https://your-app-name.vercel.app
This is your production URL. Real people can visit it. You built this.
🎉 Congratulations! You've shipped!
Custom Domains (Optional)
Want a custom domain like waterreminder.app?
- Buy a domain from Namecheap, Google Domains, etc.
- In Vercel, go to Project Settings → Domains
- Add your domain
- Follow Vercel's DNS instructions
- Wait for DNS to propagate (can take up to 48 hours)
This is optional for MVP. The Vercel URL works fine for now.
Output of This Phase
By the end of Ship mode, you should have:
- A live URL — accessible by anyone in the world
- Working product — all features function in production
- Confidence — you shipped something real
The Moment of Truth
You are no longer someone who "is learning to code."
You are someone who built and shipped a product.
That URL is proof. Share it with friends. Put it on your resume. Tweet about it.
You are a builder.
When to Move On
You're ready for 📣 Sell mode when:
- ✅ Your app is live at a public URL
- ✅ All core features work in production
- ✅ You've tested the live version
- ✅ You're ready to get users
Switching to Sell Mode
When you're ready, switch to Sell mode:
Slash command: /sell
Or say: "It's live! Now let's get some users."
A walkthrough video for Ship mode is in production. Check back soon or join our Discord for updates.