Quick Start âĄ
The fastest path from zero to running app
đ Goal: Get your SaaS app running in under 15 minutes
Choose your development environment: Vercel test domain (faster path to production) or local development.
Choose Your Starting Path
Path A: Vercel Dev Environment
Best for: Faster path to production, showing stakeholders, or if you prefer cloud development.
- Deploy to Vercel in 30 seconds
- Use Vercel test domain (e.g., my-app.vercel.app)
- Same OAuth setup as local (just different URLs)
- Already deployed when ready for production
Path B: Local Development
Best for: Starting customization immediately, having full control, or building features from day one.
- Clone and run locally
- Full database with SQLite (zero config)
- Working authentication (GitHub login)
- Edit code and see changes instantly
Not sure? Both paths give you the same fully-functional app. Choose Path A for faster deployment. Choose Path B for traditional local development.
Path A: Develop on Vercel
Use a Vercel test domain as your development environment
Why Develop on Vercel?
- Your app is already deployed - no separate production deployment step later
- Share your progress with teammates via a real URL
- Test on real mobile devices easily
- Same features as local dev (once OAuth is configured)
Clone the Repository
First, clone the repository to your local machine:
1# Clone the repository2git clone https://github.com/SubZzzzzz/KitTy-Saas-starter-kit my-saas-app3cd my-saas-appDeploy to Vercel (30 seconds)
Click the button below to deploy instantly:
Requires a free Vercel account. You'll get a .vercel.app subdomain (e.g., my-app.vercel.app).
my-saas-abc123.vercel.app). You'll need it for OAuth setup in Step 3.Set Up Environment Variables
In your Vercel project dashboard, go to Settings â Environment Variables and add:
1# Database (use Vercel Postgres or Neon - see note below)2DATABASE_URL="postgresql://user:pass@host:5432/dbname"3 4# Auth Secret (generate with: openssl rand -base64 32)5AUTH_SECRET=your_random_secret_here6 7# Your Vercel URL8AUTH_URL=https://your-vercel-app.vercel.app9NEXT_PUBLIC_APP_URL=https://your-vercel-app.vercel.appTo add environment variables:
- Go to your Vercel dashboard
- Select your project
- Click "Settings" tab
- Click "Environment Variables" in the sidebar
- Add each variable and click "Save"
- Redeploy your app for changes to take effect
Set Up GitHub OAuth (5 minutes)
Enable GitHub login by creating an OAuth app. This works the same way for both Vercel and local development - just use your Vercel URL instead of localhost:
- Go to GitHub Developer Settings
- Click "New OAuth App"
- Fill in the form:
- Application name: My SaaS App (Dev)
- Homepage URL:
https://your-app.vercel.app - Authorization callback URL:
https://your-app.vercel.app/api/auth/callback/github
- Click "Register application"
- Copy the Client ID
- Click "Generate a new client secret" and copy it
Add to your Vercel environment variables:
1# GitHub OAuth2AUTH_GITHUB_ID=your_github_client_id_here3AUTH_GITHUB_SECRET=your_github_client_secret_herehttp://localhost:3000/api/auth/callback/githubTest Login
After redeploying with your OAuth credentials, verify everything works:
- Visit your Vercel URL
- Click "Sign In" in the top right
- Click "Sign in with GitHub"
- Authorize the app when prompted
- You should be redirected to the dashboard
â Success!
If you can see the dashboard, your app is fully functional on Vercel! You're already deployed and ready to customize.
Customize (Optional)(Optional)
Since you already have the repository cloned, install dependencies and start customizing:
1# Install dependencies2npm install3 4# Start the dev server to preview changes locally5npm run dev6 7# Make your changes, commit, and push to redeploy automaticallyPath B: Local Development
Full setup with working authentication
What You'll Need
- Node.js 18+ installed (download here)
- Git installed (download here)
- A GitHub or Google account (for OAuth setup)
- 15 minutes of focused time
Local Development Steps
Clone and Install (2 minutes)
Open your terminal and run these commands:
1# Clone the repository2git clone https://github.com/SubZzzzzz/KitTy-Saas-starter-kit my-saas-app3cd my-saas-app4 5# Install dependencies6npm install7 8# Set up the database9npm run db:devnode --version should show v18 or higher.Create Environment File (1 minute)
Create a file named .env.local in the project root:
1# Create the file (macOS/Linux/Git Bash)2touch .env.local3 4# Or (Windows PowerShell)5New-Item .env.localAdd these essential variables to .env.local:
1# Database (SQLite for local dev)2DATABASE_URL="file:./dev.db"3 4# Auth Secret (generate with: openssl rand -base64 32)5AUTH_SECRET=your_random_secret_here6AUTH_URL=http://localhost:30007NEXT_PUBLIC_APP_URL=http://localhost:30008 9# We'll add OAuth credentials in the next stepopenssl rand -base64 32 and paste the output as AUTH_SECRET. No openssl? Use this generator.Set Up GitHub OAuth (5 minutes)
Enable GitHub login by creating an OAuth app. This setup works for both local and Vercel development - just use your environment's URL:
- Go to GitHub Developer Settings
- Click "New OAuth App"
- Fill in the form:
- Application name: My SaaS App (Dev)
- Homepage URL:
http://localhost:3000(or your Vercel URL) - Authorization callback URL:
http://localhost:3000/api/auth/callback/github(or your Vercel URL)
- Click "Register application"
- Copy the Client ID
- Click "Generate a new client secret" and copy it
Add to your .env.local file:
1# GitHub OAuth2AUTH_GITHUB_ID=your_github_client_id_here3AUTH_GITHUB_SECRET=your_github_client_secret_hereStart the App (1 minute)(Optional)
Start the development server:
1npm run devOpen your browser to:
You should see the landing page! đ
Test Login (2 minutes)
Verify everything works:
- Click "Sign In" in the top right
- Click "Sign in with GitHub"
- Authorize the app when prompted
- You should be redirected to the dashboard
â Success!
If you can see the dashboard, your app is fully functional. You're ready to customize!
Common Issues & Quick Fixes
â "npm: command not found"
Fix: Node.js isn't installed. Download from nodejs.org, then restart your terminal.
â "Redirect URI Mismatch" (GitHub)
Fix: Callback URL must be exactly http://localhost:3000/api/auth/callback/github (http not https, no trailing slash).
â "Configuration Error" when signing in
Fix: Check that AUTH_GITHUB_ID and AUTH_GITHUB_SECRET are in .env.local. Restart dev server with npm run dev.
â Port 3000 already in use
Fix: Use a different port: PORT=3001 npm run dev and update AUTH_URL to http://localhost:3001
â Variables not loading after editing .env.local
Fix: Stop the dev server (Ctrl+C) and restart with npm run dev. Env changes only load on server start.
Need more help?
See the Troubleshooting guide for comprehensive solutions to common problems.
Complete .env.local Example
Here's what your minimal working .env.local should look like:
1# Database2DATABASE_URL="file:./dev.db"3 4# Auth Configuration5AUTH_SECRET=abc123def456ghi789example_replace_this6AUTH_URL=http://localhost:30007NEXT_PUBLIC_APP_URL=http://localhost:30008 9# GitHub OAuth10AUTH_GITHUB_ID=Iv1.abc123example11AUTH_GITHUB_SECRET=abc123def456ghi789exampleWhat You Have Now
â Working App
- Landing page with pricing
- User authentication (GitHub)
- User dashboard
- SQLite database
- Dark mode toggle
đ¨ Ready to Customize
- Change colors and branding
- Add your own features
- Configure billing (optional)
- Deploy to production
Next Steps
đ¨ Customize Theme Colors â
Make it yours by changing the color palette to match your brand
⨠Add Your Logo & Branding â
Replace the default logo and update branding throughout the app
đŗ Setup Billing (Optional) â
Configure Stripe or LemonSqueezy to accept payments
đ Deploy to Production â
Learn how to deploy your customized app to the web
Want More Detailed Explanations?
This quick start gets you running fast. For deeper understanding, check out the individual guides:
- Installation Guide â Detailed explanation of the installation process
- Environment Variables â Complete reference for all configuration options
- Adding OAuth Providers â Add Google OAuth and learn how authentication works
- Advanced Configuration â Optional environment variables and advanced settings