A complete, production-ready email list/waitlist system built with Next.js, using only free services.
- 📧 Email Collection: Beautiful waitlist form with validation
- 📊 Real-time Counter: Live subscriber count
- ✉️ Welcome Emails: Automatic confirmation emails via Resend
- 🛡️ Duplicate Prevention: No duplicate email addresses
- 📱 Responsive Design: Works on all devices
- 🔒 Admin Dashboard: Manage and export your email list
- 📈 Analytics: Track signups and engagement
- 🚀 Free Hosting: Deploy to GitHub Pages
- Storage: Upstash Redis (10K requests/day)
- Email Service: Resend (100 emails/day)
- Hosting: GitHub Pages (unlimited static sites)
- Domain: GitHub Pages subdomain (free)
git clone https://github.com/CF-LLC/emaillist.git
cd emaillist
npm install- Sign up at console.upstash.com
- Create a new Redis database
- Copy the REST URL and Token
- Sign up at resend.com
- Get your API key from the dashboard
- Verify your sending domain (or use test mode)
cp .env.example .env.local
# Edit .env.local with your actual keysnpm run dev
# Open http://localhost:3000npm run build
# Push to main branch - GitHub Actions will deploy automaticallyAccess the admin panel at /admin with your configured password to:
- View all subscribers
- Export email list as CSV
- See signup statistics
- Manage unsubscribes
- Edit
app/components/waitlist-signup.tsxfor the main form - Modify
app/components/email-template.tsxfor welcome emails - Update
app/layout.tsxfor branding and metadata - Customize styles in
app/globals.css
See .env.example for all configuration options including:
- Redis connection settings
- Email service configuration
- Admin password
- Analytics tracking
- Custom branding
This setup handles:
- 10,000 signups/month (Upstash free tier)
- 3,000 emails/month (Resend free tier)
- Unlimited traffic (GitHub Pages)
For higher volume, upgrade to paid tiers or switch to alternatives like:
- Storage: Railway PostgreSQL, PlanetScale MySQL
- Email: SendGrid, Mailgun, Amazon SES
- Hosting: Vercel, Netlify, Railway
- No personal data stored beyond email addresses
- Built-in unsubscribe functionality
- GDPR-compliant data handling
- Optional cookie-free analytics
MIT License - see LICENSE file for details
PRs welcome! See CONTRIBUTING.md for guidelines.