Product Launch Waitlist

Free

Join the waitlist for early access to our revolutionary product that will change the way you work.

GITHUB INFO

0 open issues
0 stars
1 watching
0 forks

FEATURES

INFO

ReleasedJanuary 30, 2025
Last updatedJanuary 30, 2025
Product Launch Waitlist

The Next Big Thing - Waitlist Landing Page

A modern, responsive waitlist landing page built with Next.js 13+, featuring a sleek design, email collection, and automated notifications.

πŸš€ Features

  • ✨ Modern, responsive UI with glassmorphism effects
  • πŸ“ Email collection with database storage
  • βœ‰οΈ Automated email notifications via Resend
  • πŸ”— Unique referral code generation
  • 🎨 Dark mode optimized design
  • 🌐 SEO optimized
  • πŸ”’ Secure data handling with Row Level Security

πŸ› οΈ Tech Stack

πŸ“¦ Project Structure

β”œβ”€β”€ app/
β”‚   β”œβ”€β”€ api/
β”‚   β”‚   └── waitlist/
β”‚   β”‚       └── route.ts    # Waitlist API endpoint
β”‚   β”œβ”€β”€ page.tsx            # Landing page
β”‚   └── layout.tsx          # Root layout
β”œβ”€β”€ components/
β”‚   └── ui/                 # shadcn/ui components
β”œβ”€β”€ lib/
β”‚   └── utils.ts            # Utility functions
β”œβ”€β”€ public/
β”‚   └── grid.svg            # Background pattern
└── supabase/
    └── migrations/         # Database migrations

πŸš€ Getting Started

  1. Clone the repository
git clone <repository-url>
cd <project-name>
  1. Install dependencies
npm install
  1. Environment Variables

Create a .env.local file with the following variables:

NEXT_PUBLIC_SUPABASE_URL=your_supabase_url
SUPABASE_SERVICE_ROLE_KEY=your_supabase_service_anon_key
RESEND_API_KEY=your_resend_api_key
  1. Run the development server
npm run dev
  1. Build for production
npm run build

πŸ—„οΈ Database Schema

The project uses Supabase with the following schema:

-- Waitlist table
CREATE TABLE waitlist (
  id uuid PRIMARY KEY DEFAULT gen_random_uuid(),
  email text UNIQUE NOT NULL,
  created_at timestamptz DEFAULT now(),
  referral_code text UNIQUE DEFAULT encode(gen_random_bytes(6), 'hex')
);

-- Row Level Security
ALTER TABLE waitlist ENABLE ROW LEVEL SECURITY;

-- Policies
CREATE POLICY "Anyone can join waitlist"
  ON waitlist FOR INSERT TO public
  WITH CHECK (true);

CREATE POLICY "Admins can view waitlist"
  ON waitlist FOR SELECT TO authenticated
  USING (auth.role() = 'admin');

πŸ“§ Email Integration

The project uses Resend for sending automated emails. Each signup triggers a welcome email with:

  • Confirmation of waitlist registration
  • Unique referral code
  • Next steps and expectations
  • Branded HTML template

🎨 UI Components

Built with shadcn/ui, featuring:

  • Custom form inputs
  • Toast notifications
  • Buttons with loading states
  • Responsive layout components
  • Glassmorphism effects
  • Avatar stacks
  • Progress indicators

πŸ”’ Security

  • Database access controlled via Row Level Security
  • Environment variables for sensitive data
  • API route protection
  • Email validation
  • Rate limiting (recommended to add)

πŸ“± Responsive Design

  • Mobile-first approach
  • Breakpoint optimization
  • Fluid typography
  • Flexible grid layouts
  • Touch-friendly interactions

πŸš€ Deployment

The project is optimized for deployment on platforms like Vercel or Netlify:

  1. Connect your repository
  2. Set environment variables
  3. Deploy!

πŸ“„ License

MIT License - feel free to use this project for your own purposes.

🀝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.