Next.jsReactSaaSStarter

nextjs-starter-kit — Next.js SaaS Template

By gerkec97

A Next.js-based SaaS starter template integrating Supabase and Prisma, with optional Clerk authentication and Stripe payments.

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-02View source

What stands out

A quick read of the recorded project description.

01

Next.js project skeleton including page components such as a homepage and dashboard

02

Uses Supabase for data storage and manages database schema and migrations with Prisma

03

Optional Clerk authentication and optional Stripe payments, each enabled or disabled in config.ts

04

Built-in webhook routes for Clerk and Stripe to handle authentication and payment callbacks

05

MIT licensed, allowing free use, modification, commercial use, and distribution of this version of the code

Template Details

This is a Next.js starter template aimed at getting SaaS products off the ground, with the repository under the MIT license. It pre-builds common SaaS foundations: data storage via Supabase, database schema and migrations managed with Prisma, optional Clerk for authentication, and optional Stripe for payments, both of which can be toggled in config.ts. The project includes page components such as a homepage and dashboard, plus webhook routes for Clerk and Stripe, making it easy to continue building your own product on top.

Before use, you need to set up your own Supabase account and keys; if you enable authentication or payments, you also need Clerk and Stripe accounts and API keys, and must fill in the corresponding variables in .env. The database schema is initialized through Prisma migrations. The README recommends enabling row-level security (RLS) in Supabase and keeping Supabase calls on the server side to protect the service key. The template itself does not cover the costs of these external services, and the licenses for third-party assets such as demo images, fonts, and icons must be verified separately.

Next.jsSaaSStarter

Is it right for your project?

Use Cases

  • Quickly building a SaaS product prototype with user authentication and subscription payments
  • Reducing repetitive setup of foundational modules like database, authentication, and payments for those already familiar with Next.js
  • Serving as a reference project for learning how Supabase, Prisma, Clerk, and Stripe work together in Next.js

Suitable For

  • Developers preparing to build a SaaS product who want to start from an existing skeleton
  • Teams familiar with Next.js and willing to configure external services such as Supabase, Clerk, and Stripe themselves
  • Projects that need MIT-licensed code they can freely modify and use commercially

Getting started & customization

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

  1. 1

    Requires Node.js and yarn or bun to be installed beforehand

  2. 2

    Fill in SUPABASE_URL and SUPABASE_SERVICE_KEY in .env; enabling payments requires STRIPE_SECRET_KEY and NEXT_PUBLIC_STRIPE_PRICE_ID; enabling authentication requires Clerk-related keys and redirect URLs

  3. 3

    Set auth.enabled and payments.enabled in config.ts to control whether Clerk and Stripe are used

  4. 4

    Run npx prisma migrate dev to initialize the database schema, then run yarn dev to start the development server

  5. 5

    As recommended in the README, enable row-level security (RLS) in Supabase and keep Supabase calls on the server side to protect the service key

Read repository instructions

License & source material

Usage conditions & limitations

Free to use · keep license notice

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

Must comply with when using

  • Free use, modification, commercial use, and distribution of this version of the code are permitted.
  • 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

  • Using this template requires registering your own Supabase account and obtaining API keys; enabling payments also requires a Stripe account and keys, and enabling authentication also requires a Clerk account and keys. These external services may incur costs not covered by the template.
  • The README requires users to enable row-level security (RLS) in their Supabase project to protect data, which is a necessary security configuration at deployment time.
  • The README requires always calling Supabase on the server side (API routes or server components) to keep the service key secure.
  • Demo images, fonts, icons, and other third-party assets must be checked against their respective licenses and cannot be judged solely by the code's MIT license.
  • External services such as domain, hosting, database, payment, or AI may incur additional charges.
View Original Text Basis

Permission is hereby granted, free of charge

Original License Text

Accounts and API keys for: - Supabase - Stripe (if using payments) - Clerk (if using authentication)

Original README

Enable Row Level Security (RLS) in your Supabase project to ensure data protection at the database level.

Original README

Always make Supabase calls on the server-side (in API routes or server components) to keep your service key secure.

Original README
https://github.com/gerkec97/nextjs-starter-kit/blob/main/LICENSEhttps://github.com/gerkec97/nextjs-starter-kit/blob/main/README.md

Compiled by DeepSeek based on repository license and README ·2026-10-02. 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 · 79 / 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
2024-11-11
Screenshot last checked
2026-10-02

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: 452b692cac0038a4539c0c2bf73ec84b917f9460c849ce5d29020b4b611ac61e

2026-10-02T14:04:54.482Z

Source file / repository
# Getting Started

## Prerequisites
- Node.js and yarn/bun installed
- Accounts and API keys for:
  - Supabase
  - Stripe (if using payments)
  - Clerk (if using authentication)

## Setup

1. Clone the repository:
   ```
   git clone <repository-url>
   cd <project-directory>
   ```

2. Install dependencies:
   ```
   yarn
   ```

3. Set up environment variables:
   Create a `.env` file in the root directory with the following variables:
   ```
   SUPABASE_URL=<your-supabase-project-url>
   SUPABASE_SERVICE_KEY=<your-supabase-service-key>

   # If using Stripe
   STRIPE_SECRET_KEY=<your-stripe-secret-key>
   NEXT_PUBLIC_STRIPE_PRICE_ID=<your-stripe-price-id>

   # If using Clerk
   NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=<your-clerk-publishable-key>
   CLERK_SECRET_KEY=<your-clerk-secret-key>
   NEXT_PUBLIC_CLERK_SIGN_IN_URL=/sign-in
   NEXT_PUBLIC_CLERK_SIGN_UP_URL=/sign-up
   NEXT_PUBLIC_CLERK_AFTER_SIGN_IN_URL=/
   NEXT_PUBLIC_CLERK_AFTER_SIGN_UP_URL=/
   ```

4. Configure features:
   In `config.ts`, set the desired features:
   ```typescript
   const config = {
     auth: {
       enabled: true, // Set to false if not using Clerk
     },
     payments: {
       enabled: true, // Set to false if not using Stripe
     }
   };
   ```

5. Set up the database:
   Run Prisma migrations:
   ```
   npx prisma migrate dev
   ```

6. Start the development server:
   ```
   yarn dev
   ```

7. Open your browser and navigate to `http://localhost:3000` to see your application running.

## Additional Configuration

- Webhooks: Set up webhooks for Clerk (if using auth) at `/api/auth/webhook` and for Stripe (if using payments) at `/api/payments/webhook`.
- Customize the landing page, dashboard, and other components as needed.
- Modify the Prisma schema in `prisma/schema.prisma` if you need to change the database structure.

## Important Security Notes

- Enable Row Level Security (RLS) in your Supabase project to ensure data protection at the database level.
- Always make Supabase calls on the server-side (in API routes or server components) to keep your service key secure.

## Learn More

Refer to the documentation of the individual technologies used in this project for more detailed information:
- [Next.js Documentation](https://nextjs.org/docs)
- [Tailwind CSS Documentation](https://tailwindcss.com/docs)
- [Supabase Documentation](https://supabase.io/docs)
- [Prisma Documentation](https://www.prisma.io/docs)
- [Clerk Documentation](https://clerk.dev/docs) (if using auth)
- [Stripe Documentation](https://stripe.com/docs) (if using payments)
Report a correction

Explore similar templates

Compare previews and descriptions within the same stack and category.