Next.jsReactSaaSStarter

nextjs-saas-starter — Next.js SaaS Template

By Indie-Kit

Open-source Lite version of Indie Kit's Next.js SaaS starter, including authentication, database, subscription payments, prebuilt pages, and AI context rules for LLMs.

Explore the design

Compare the page layouts and mobile experience. Open any screenshot for a closer look.

3 previews
Desktop homepage1 / 3
Desktop captureTop of page

Actual screenshot captured by the server browser.

All pages & views 3

Screenshots show visual appearance; interactive behavior may differ.

Recorded 2026-10-01View source

What stands out

A quick read of the recorded project description.

01

Based on Next.js App Router, with Tailwind CSS and Shadcn UI for the interface

02

Uses Better Auth for social login and Magic Link authentication

03

Connects to Supabase, Neon, or any PostgreSQL database via Drizzle ORM

04

Includes basic implementations of Stripe subscription webhooks and UploadThing file uploads

05

Prebuilt landing page, sign-in and sign-up pages, app layout, and legal pages such as privacy and terms

06

Repository includes AI context rules and prompt libraries for Cursor, Windsurf, and Copilot

Template Details

This is the open-source Lite version of Indie Kit Pro. The repository is MIT-licensed and positioned as a starting point for quickly building a SaaS with Next.js. The code is based on the Next.js App Router, with Tailwind CSS and Shadcn UI for the interface. Authentication uses Better Auth (supporting social login and Magic Link), the data layer uses Drizzle ORM and can connect to Supabase, Neon, or any PostgreSQL service, the payment side provides Stripe subscription webhooks, file uploads use UploadThing, and dark mode is built in. The template already includes a landing page (Hero, features, pricing, FAQ), sign-in and sign-up pages, an app layout (top bar and user profile), and legal pages such as privacy and terms.

A notable feature of this version is how it organizes code for AI coding tools: the repository provides context rules and prompt libraries such as .cursor/rules and .claude/skills, enabling tools like Cursor, Windsurf, and Copilot to generate code following existing patterns. The README also explains that .claude can be renamed to .agent to adapt to other agent tools.

Pay attention to the boundary between the free and Pro versions: Stripe subscriptions are a basic implementation in the free version, while Dodo Payments, Stripe Payments, Lemon Squeezy, PayPal, multi-tenancy, RBAC, user impersonation, super admin panel, usage-based billing, waitlist, MDX blog and docs, Inngest email sequences, and more are only available in the Pro version. The free scope refers only to the code in this repository; external services such as domains, hosting, databases, and payments may incur separate charges, and third-party assets such as demo images, fonts, and icons need to be checked separately for licensing.

Next.jsSaaSStarter

Is it right for your project?

Use Cases

  • Building a SaaS MVP with authentication and subscription billing from scratch using Next.js
  • Generating feature code in AI coding tools such as Cursor or Windsurf using the repository's rules and prompts
  • Projects that need to connect to PostgreSQL services such as Supabase or Neon and manage database schemas
  • Independent developer projects that want to use ready-made landing, pricing, and legal pages

Suitable For

  • Independent developers familiar with Next.js and TypeScript who want to quickly launch a SaaS
  • Frontend or full-stack engineers who are used to AI coding tools and want a codebase with context rules
  • Small teams that need free MIT-licensed code as a basis for learning or secondary development

Getting started & customization

Use these recorded setup notes alongside the repository instructions for your chosen version.

  1. 1

    Create a project via the interactive npx indiekit@latest scaffold, or manually clone the repository and run pnpm install

  2. 2

    Copy .env.example to .env and configure the database URL, Better Auth Secret, Stripe keys, and optional social login keys

  3. 3

    Fill in the project name, description, and the email, address, and other information used in the footer and legal pages in src/lib/config.ts

  4. 4

    After adding or modifying table structures, run pnpm run db:push to sync the database schema, then start the development server with pnpm dev

  5. 5

    The free version does not include Pro features such as multi-tenancy, RBAC, multiple payment channels, or MDX blog and docs; external services and third-party assets require checking fees and licenses yourself

Read repository instructions

License & source material

Usage conditions & limitations

Free to use · keep license notice

This entry covers the free version in the public repository under the MIT license; the free scope applies to this version's code and does not mean external services or third-party assets are free.

Must comply with when using

  • You may use, modify, commercialize, and distribute this version's code for free.
  • When distributing copies or substantial portions of the code, retain the original author's copyright notice and the full MIT license notice.
  • The code is provided as is; warranties and limitations of liability are governed by the original license and applicable law.

Additional costs & items to verify

  • This repository is only the open-source Lite version. Pro version features (multi-tenancy, RBAC, user impersonation, super admin panel, usage-based billing, waitlist, MDX blog and docs, Inngest email sequences, Dodo/Stripe/Lemon Squeezy/PayPal payments, etc.) are not included in the free code and require a paid upgrade.
  • The free version only provides a basic Stripe subscription implementation; full payment capabilities belong to the Pro version and are not available within the free scope.
  • Running it requires your own PostgreSQL database (such as Supabase or Neon); database services may incur external costs.
  • Payment functionality requires applying for and configuring your own Stripe keys; Stripe is an external paid service.
  • Authentication functionality requires generating and configuring your own Better Auth Secret.
  • Social login is optional and requires applying for third-party OAuth credentials such as Google/GitHub yourself.
  • File uploads depend on the external UploadThing service; you need to register an account yourself and fees may apply.
  • Project materials mention optional paid versions or features; this entry only covers the public free code and does not include paid upgrades.
  • Demo images, fonts, icons, and other third-party assets must be checked against their respective licenses; the code's MIT license alone cannot be used to judge them.
  • External services such as domains, hosting, databases, payments, or AI may incur separate charges.
View Original Text Basis

Permission is hereby granted, free of charge

Original License Text

This is the **Open Source / Lite Version** of [Indie Kit Pro]

Original README

**Stripe Subscriptions** | Basic | Full |

Original README

**Database URL**: Use **Supabase**, **NeonDB**, or any PostgreSQL provider.

Original README

**Stripe Keys**: For payment processing.

Original README

**Better Auth Secret**: Run `npx auth secret` to generate.

Original README

**Social Keys**: (Google/GitHub, optional).

Original README

📁 **UploadThing** for file storage - Easy file uploads.

Original README
https://github.com/Indie-Kit/nextjs-saas-starter/blob/main/LICENSE.mdhttps://github.com/Indie-Kit/nextjs-saas-starter/blob/main/README.md

Compiled by DeepSeek based on repository license and README ·2026-10-01. Results only cover the materials read; dependencies, images, fonts, and subsequent term changes are subject to their respective original texts.

Project checks & description sources

Template Information

Source platforms
GitHub
Documentation and maintenance reference score
More documented · 92 / 100
Technologies
Next.js · React
Website type
SaaS · Starter
How this score is calculated

Our heuristic uses license records (up to 30), a demo link (12), a preview (10), stars (15), recorded maintenance (15), description completeness (8), feature records (5) and classification data (5). It is not a code, security or performance test, or a Google score. A link does not establish tested functionality.

What to verify for this project

Repository update recorded
2026-07-28
Screenshot last checked
2026-10-01

A demo link is listed. Check it with your own content and viewport sizes; its presence does not confirm that forms, authentication or payments work.

The catalog identifies Next.js as the primary stack. Check the actual dependency manifest and lockfile for versions and hosting requirements. These notes use recorded metadata, not a code audit or a deployment test.

Use a selection guide →

How this description was prepared

AI-assisted description based on catalog records and repository material. Repository authors are not automatically the reviewers of this description.

Automatically checked against source and license rules; no manual editorial review.

Inspect the recorded source material

SHA-256: ce9822d2732801995ed469fdc212e35b15aabe36d24879ca50d4b77a72852dab

2026-10-01T01:22:56.664Z

Source file / repository
# Indie Kit - The AI-Native Next.js Starter Kit

![Indie Kit](public/hero.png)

<div align="center">

[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?repository-url=https://github.com/Indie-Kit/nextjs-saas-starter)
[![Deploy on Railway](https://railway.app/button.svg)](https://railway.app/new/template?template=https://github.com/Indie-Kit/nextjs-saas-starter)

[![Star on GitHub](https://img.shields.io/github/stars/Indie-Kit/nextjs-saas-starter?style=social)](https://github.com/Indie-Kit/nextjs-saas-starter/stargazers)
[![Get Pro Version](https://img.shields.io/badge/Get%20Pro%20Version-Indie%20Kit-blue?style=for-the-badge)](https://indiekit.pro/?utm_source=github-starter&utm_medium=readme&utm_campaign=lite)
[![Join Discord](https://img.shields.io/badge/Discord-Join%20Community-5865F2?style=for-the-badge&logo=discord&logoColor=white)](https://indiekit.pro/app/discord)

</div>

# The AI-Native Next.js Starter Kit 🤖

**Engineered for modern development. Optimized for AI.**

This is the **Open Source / Lite Version** of [Indie Kit Pro](https://indiekit.pro/?utm_source=github-starter&utm_medium=readme&utm_campaign=lite). It combines a production-grade tech stack with **"AI Context Rules"** that empower LLMs (Cursor, Windsurf, Copilot) to understand your codebase, write bug-free code, and navigate your project autonomously.

[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg?style=for-the-badge)](https://opensource.org/licenses/MIT)
[![Next.js](https://img.shields.io/badge/Next.js-16-black?style=for-the-badge)](https://nextjs.org/)
[![TypeScript](https://img.shields.io/badge/TypeScript-5-blue?style=for-the-badge)](https://www.typescriptlang.org/)

## 🚀 Features

### Core Stack - The Right Architecture

- 🏗️ **Next.js 16** (App Router) - Staying ahead of the curve.
- 🎨 **Tailwind CSS v4** + **Shadcn UI** - Beautiful, accessible UI.
- 🔐 **Better Auth** (Social + Magic Link) - Secure and simple.
- 🗄️ **Drizzle ORM** + **Bring Your Own Database** - Connect to **Supabase**, **Neon**, or any Postgres provider.
- 💳 **Stripe** Subscription Webhooks - Ready for monetization.
- 📁 **UploadThing** for file storage - Easy file uploads.
- 🌙 **Dark Mode** built-in - Because developers love it.

### Pre-built Pages

- 🏠 **Landing Page** (Hero, Features, Pricing, FAQ)
- 🔐 **Auth Pages** (Sign In, Sign Up)
- ⚙️ **App Layout** (Header, User Profile)
- 📄 **Legal Pages** (Privacy, Terms)

## 🤖 AI-Optimized Architecture

We've structured the codebase to be easily understood by LLMs (Cursor, Windsurf, Copilot, Antigravity). This means fewer hallucinations and better code generation, regardless of which tool you use.

- **Self-Documenting Code**: Your AI knows _exactly_ where auth lives (`.claude/skills/auth-handler`), how to migrate the DB (`.cursor/rules`), and where to put new components.
- **No Hallucinations**: We force the AI to use existing patterns (like `withAuthRequired`) instead of inventing broken ones.
- **One-Shot Prompts**: Paste a single command like `/bootstrap` and watch it scaffold your entire MVP plan.

💡 **Pro Tip**: To use this kit with Google's Antigravity or other AI agents that expect a `.agent` folder, simply rename `.claude` to `.agent`:

```bash
mv .claude .agent
```

## 🛠️ Getting Started

### ⚡️ Quick Start (Recommended)

Run the following command to scaffold a new project interactively:

```bash
npx indiekit@latest 
# or
pnpm dlx indiekit@latest
# or
yarn dlx indiekit@latest
```

This CLI will:
- 🚀 Scaffold the project instantly (no git history to remove).
- 🛠️ Guide you through setup options.
- 📦 Install dependencies automatically.

### 🐢 Manual Setup

If you prefer to clone the repo manually:

### 1. Clone & Install

```bash
git clone https://github.com/Indie-Kit/nextjs-saas-starter.git my-saas
cd my-saas
pnpm install
```

### 2. Environment Setup

Copy the example environment file and fill in your secrets:

```bash
cp .env.example .env
```

You will need:

- **Database URL**: Use **Supabase**, **NeonDB**, or any PostgreSQL provider.
- **Better Auth Secret**: Run `npx auth secret` to generate.
- **Stripe Keys**: For payment processing.
- **Social Keys**: (Google/GitHub, optional).

Also, update `src/lib/config.ts` with your project name, description, and legal details (email, address) which are used in the footer and legal pages.

### 3. Database Setup

```bash
# Sync database schema to the database after adding new tables or modifying existing tables
pnpm run db:push
```

### 4. Run Development Server

```bash
pnpm dev
```

Open [http://localhost:3000](http://localhost:3000) to see your app.

## 🧠 The AI "Brain" (Exclusive)

This kit is designed to be "read" by LLMs. It includes:

- **`.cursor/rules`**: Context-aware rules for Cursor to understand project structure.
- **Prompt Library**: Pre-written prompts to generate features, DB schemas, and tests.
- **Self-Correction**: Setup to help AI fix its own linting errors.
- **Skills**: Specialized instructions for the AI to handle Auth, DB, and Payments correctly.

## 💎 Indie Kit Pro vs Starter

This starter is perfect for learning and building simple MVPs. For serious production apps, check out **[Indie Kit Pro](https://indiekit.pro/?utm_source=github-starter&utm_medium=readme&utm_campaign=table)**.

| Feature                         | Starter (Free) | Indie Kit Pro |
| :------------------------------ | :------------: | :-----------: |
| **Next.js 16 App Router**       |       ✅       |      ✅       |
| **Better Auth**                 |       ✅       |      ✅       |
| **Postgres + Drizzle**          |       ✅       |      ✅       |
| **Stripe Subscriptions**        |     Basic      |     Full      |
| **AI Navigation Rules**         |     Basic      |   Advanced    |
| **Dodo Payments**               |       ❌       |      ✅       |
| **Stripe Payments**             |       ❌       |      ✅       |
| **Lemon Squeezy Payments**      |       ❌       |      ✅       |
| **PayPal Payments**             |       ❌       |      ✅       |
| **Multi-Tenancy (Teams/Orgs)**  |       ❌       |      ✅       |
| **Role-Based Access Control**   |       ❌       |      ✅       |
| **User Impersonation**          |       ❌       |      ✅       |
| **Super Admin Dashboard**       |       ❌       |      ✅       |
| **Credit System (Usage Based)** |       ❌       |      ✅       |
| **Waitlist System**             |       ❌       |      ✅       |
| **Blog & Docs (MDX)**           |       ❌       |      ✅       |
| **Email Sequences (Inngest)**   |       ❌       |      ✅       |
| **Documentation Site**          |       ❌       |      ✅       |
| **Priority Support**            |       ❌       |      ✅       |

**_Get 1-1 mentorship with CJ for free when you upgrade to Pro._**

[**👉 Upgrade to Pro**](https://indiekit.pro/?utm_source=github-starter&utm_medium=readme&utm_campaign=upgrade)

### See Pro in Action

<a href="https://www.youtube.com/watch?v=Nps1LFxy8A8" target="_blank">
  <img src="https://img.youtube.com/vi/Nps1LFxy8A8/maxresdefault.jpg" width="600" alt="Building SaaS with AI in minutes using Indie Kit" />
</a>

## 🤝 Community & Support

- **[Free Discord Community](https://indiekit.pro/app/discord)**: Join our community of indie hackers to ask questions and share your progress!
- **Twitter**: Follow [@cjsingg](https://x.com/cjsingg) for updates.
- **Issues**: Open a GitHub issue for bugs in the starter.

---

Built with ❤️ by [CJ](https://x.com/cjsingg).
Report a correction

Explore similar templates

Compare previews and descriptions within the same stack and category.