- Vercel account (free or paid)
- GitHub repository (can link or import project)
- Node.js 18+ installed locally
- Push this project to GitHub (if not already)
- Go to https://vercel.com/dashboard
- Click "Add New..." → "Project"
- Select your GitHub repository
- Vercel auto-detects Next.js project
- Click "Deploy"
- Wait for build and deployment to complete
- Get your public URL from project dashboard
# Install Vercel CLI
npm i -g vercel
# Login to Vercel
vercel login
# Deploy
vercel
# For production (main branch)
vercel --prod- Build Command:
npm run build(auto-detected) - Output Directory:
.next(auto-detected) - Framework: Next.js 14+ (auto-detected)
- Environment Variables: None required for Phase 1
- Visit your Vercel project URL (e.g., https://malt-keyword.vercel.app)
- Type a keyword and verify results appear
- Open DevTools Network tab
- Check response time: should be < 1 second
- Search same keyword again → should hit cache (look for Age header or X-Vercel-Cache header)
# Replace with your actual Vercel URL
curl -I "https://malt-keyword.vercel.app/api/malt/autocomplete?q=python"
# Should see: Cache-Control: max-age=0, s-maxage=60, stale-while-revalidate=300-
Vercel dashboard shows:
- Build times
- Deployment status
- Real-time analytics
- Function invocations
-
Monitor edge cache hit rate in Analytics tab
Check Vercel logs for errors. Common issues:
- Missing environment variables (check
.env.example) - Dependency issues (try
npm cilocally) - TypeScript errors (run
npm run buildlocally first)
- Check Vercel Analytics for performance data
- Verify cache headers are being set (API proxy should set them)
- Check if API calls are timing out (Malt API dependency)
To use a custom domain:
- Go to Vercel project Settings
- Click "Domains"
- Add custom domain
- Update DNS records per Vercel instructions
If you need to revert to a previous deployment:
- Go to Vercel project Deployments tab
- Find previous successful deployment
- Click menu → "Promote to Production"
Once deployed:
- Run E2E tests against live URL
- Monitor analytics for traffic
- Plan Phase 2 (Email capture)
- Consider upgrade to Pro tier if traffic exceeds hobby limits