Skip to main content

Get Running in 5 Minutes

This is the fastest path to seeing KwikSaaS in action. You only need Supabase to start — Stripe and Resend can be added later.
TL;DR: Clone → Set 3 env vars → Run. That’s it.

Prerequisites

Node.js 18+

Check: node -v. Download if needed.

Supabase Account

Free tier works perfectly. Create account →

Step 1: Clone & Install

git clone https://github.com/MohammedAlhawamdeh/kwiksaas.git
cd kwiksaas
npm install
Takes about 1-2 minutes depending on your connection.

Step 2: Create Supabase Project

1

Create project

  1. Go to supabase.com/dashboard
  2. Click New Project
  3. Pick a name, set a password, choose a region
  4. Wait ~2 minutes for it to spin up
2

Copy your keys

Go to Settings → API and grab these 3 values:
What to copyWhere to paste
Project URLNEXT_PUBLIC_SUPABASE_URL
anon public keyNEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEY
service_role secretSUPABASE_SECRET_KEY
3

Configure auth redirects

Go to Authentication → URL Configuration:
  • Site URL: http://localhost:3000
  • Redirect URLs: Add http://localhost:3000/auth/callback
4

Run database migration

Option A (Recommended):
npx supabase link --project-ref YOUR_PROJECT_REF
npx supabase db push
Option B (Manual): Copy contents of supabase/migrations/*.sql and run in Supabase SQL Editor.

Step 3: Set Environment Variables

cp .env.example .env.local
Open .env.local and fill in the 3 Supabase values you copied:
# Required - Supabase
NEXT_PUBLIC_SUPABASE_URL=https://xxxxx.supabase.co
NEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEY=eyJ...
SUPABASE_SECRET_KEY=eyJ...

# Required - Site URL
NEXT_PUBLIC_SITE_URL=http://localhost:3000

# Everything else is optional for now!
Stripe and Resend are optional. The app works without them — you just won’t have payments or custom emails yet.

Step 4: Run It!

npm run dev
Open http://localhost:3000 🎉

Verify It’s Working

TestHow
Homepage loadsVisit / — you should see the landing page
Auth worksGo to /sign-up, create an account
Dashboard worksAfter signing in, you land on /dashboard
You’re done! The app is running with full auth. Time to make it yours.

What’s Next?

What to Customize

See exactly which files to change (and which to leave alone)

Add Payments

Connect Stripe when you’re ready for billing

Full Quickstart

Complete setup with Stripe, Resend, and PostHog

Deploy

Push to production on Vercel