Uses the Next.js /app directory and React to build pages and routes
nextjs-saas-starter — Next.js SaaS Template
By juliankoehn
A SaaS starter based on the Next.js App Router, integrating Prisma, PostgreSQL, Lucia Auth, and Stripe/Tier billing, including authentication, account settings, and project member management; the repository README still marks it as a work in progress.
Explore the design
Compare the page layouts and mobile experience. Open any screenshot for a closer look.
Actual screenshot captured by the server browser.
All pages & views 2
Screenshots show visual appearance; interactive behavior may differ.
What stands out
A quick read of the recorded project description.
Integrates Lucia Auth, covering registration, login, logout, email verification, and password recovery
Account settings support changing username, password, email, timezone, language, and appearance
The project module includes creation, renaming, deletion, and member invitations and role management
Connects to PostgreSQL via Prisma as the data layer
Billing integrates Tier and Stripe, supporting subscriptions and Checkout
Template Details
nextjs-saas-starter is an open-source starter for SaaS scenarios, using Next.js's /app directory to organize pages and routes, paired with React. The data layer uses Prisma as the ORM, connecting to PostgreSQL; authentication is provided by Lucia Auth; billing integrates Tier and Stripe, supporting subscriptions and the Checkout flow, with pricing models configured through the Tier Model Builder. Styling and UI use tailwindcss and shadcn.
According to the README's completion checklist, the authentication module covers registration, forgot password, change password, email verification, login, and logout; the account module supports changing username/name, password, email (with confirmation), timezone, language, appearance, and deleting the account (restricted when the user is a project Owner). The project module supports creation, renaming, deletion (the restriction that only the Owner can delete is not yet complete), and member management supports invitations (create invitation, send email, accept invitation, remove invitation), removing members (non-Owners can leave on their own), and changing roles. The billing module is not yet checked off as complete in the checklist.
The repository README explicitly states "it's still a work in progress," so this template is better suited as a starting point for learning or secondary development rather than a ready-to-launch product. Running locally requires copying .env.example to .env.local and configuring the corresponding environment variables; the repository also provides a Docker Compose configuration, using mailpit for local email development.
Is it right for your project?
Use Cases
- SaaS project starter code that needs authentication and account settings
- Projects that want to reference the structure of Next.js App Router combined with Prisma and PostgreSQL
- Team collaboration products that need basic implementations of projects, member invitations, and role management
- Developers planning to integrate Stripe subscription billing and wanting an existing integration example
Suitable For
- Developers familiar with Next.js and React who want to quickly set up a SaaS skeleton
- Engineers who need to study how Lucia Auth and Prisma are integrated
- Teams preparing to build on the existing codebase and complete the billing module themselves
Getting started & customization
Use these recorded setup notes alongside the repository instructions for your chosen version.
- 1
Before running locally, execute npm i, copy .env.example to .env.local, and fill in the required environment variables
- 2
Use npm run dev to start the development server, accessible by default at http://localhost:3000
- 3
The repository provides a Docker Compose configuration, and local email development uses mailpit
- 4
The README notes the project is still in progress and the billing module is not complete; verify feature status before use
- 5
The code is under the MIT license, but third-party assets such as demo images, fonts, and icons require separate license verification
License & source material
Usage conditions & limitations
Free to use · keep license noticeThis 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's 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
- Billing features depend on third-party services Tier and Stripe; using subscriptions and Checkout requires registering the corresponding accounts and configuring API keys, which may incur service fees.
- Authentication is implemented based on Lucia Auth; deployment requires configuring session and authentication-related environment variables yourself.
- The data layer uses Prisma, requiring a PostgreSQL database connection and connection string configuration.
- Local running requires copying .env.example to .env.local and filling in the required environment variables; otherwise it cannot start properly.
- Local email development depends on the mailpit service, and email-related features require this service.
- The project README states it is still in progress and the billing module is incomplete; features may be incomplete and it is not suitable for direct use as a production-ready product.
- 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 domains, hosting, databases, payments, or AI may incur additional charges.
View Original Text Basis
Permission is hereby granted, free of charge
Original License Text
Pricing using [**Tier**](https://www.tier.run/) and [**Stripe**](https://stripe.com/)
Original README
Authentication using [**Lucia Auth**](https://lucia-auth.com/)
Original README
ORM using [**Prisma**](https://www.prisma.io/)
Original README
cp .env.example .env.local
Original README
using mailpit for local email development.
Original README
https://github.com/juliankoehn/nextjs-saas-starter/blob/main/LICENSE.mdhttps://github.com/juliankoehn/nextjs-saas-starter/blob/main/README.mdit's still a work in progress.
Original README
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
- Partly documented · 69 / 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
- 2023-11-22
- 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: 3a8ba2439878f102d88775564bcd8eba45d0a8bb3e75438c79b5408b64f88dc3
2026-10-01T01:22:10.896Z
Source file / repository# Next.js SaaS Prisma PostgreSQL Auth Starter
This project aims to create a metered billing SaaS utilizing Next.js, Prisma, PostgreSQL, and Stripe.
> :warning: **it's still a work in progress.**
## Features
- NextJS 14 `/app` dir
- Pricing using [**Tier**](https://www.tier.run/) and [**Stripe**](https://stripe.com/)
- Pricing model using Tier Model Builder
- Subscriptions and Checkout
- Authentication using [**Lucia Auth**](https://lucia-auth.com/)
- ORM using [**Prisma**](https://www.prisma.io/)
- [tailwindcss](https://tailwindcss.com/) and [shadcn](https://ui.shadcn.com/) for styling and UI
## Running Locally
First, run the development server:
```
npm i
cp .env.example .env.local
npm run dev
```
Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.
## License
License under the [MIT License](LICENSE).
## Features
- [x] **Authentication**
- [x] Registration
- [x] Forgot Password
- [x] Change Password
- [x] Email Verification
- [x] Login
- [x] Logout
- [x] **Account**
- [x] Change Username / Name
- [x] Change Password
- [x] Change Email
- [x] Confirm Email
- [x] Change Timezone
- [x] Change Language
- [x] Change Appearance
- [x] Delete Account restrict when Owner of Projects
- [ ] **Projects**
- [x] Create
- [x] Change Name
- [x] Delete Project
- [ ] Restrict Delete to Owner
- [x] **Members**
- [x] Add
- [x] Create Invitation
- [x] Send Email
- [x] Accept Invitation
- [x] Remove Invitation
- [x] Remove
- [x] Self-remove only if not Owner
- [x] Change Role
- [ ] **Billing**
## Docker Compose
using mailpit for local email development.
## Development
### Emails
> :warning: docs section is WIPExplore similar templates
Compare previews and descriptions within the same stack and category.

Next.js SaaS Starter
The official Next.js SaaS starter template, integrating email/password authentication, Stripe Checkout subscriptions, a dashboard with user/team CRUD, basic Owner/Member RBAC, and activity logging.
Next.js · SaaS

Next.js Commerce
Vercel's officially maintained Next.js App Router ecommerce starter with deep Shopify integration, offering a complete product catalog, cart, and checkout flow. Core logic is modular for swapping backends, and community provider versions exist for BigCommerce, Medusa, and Saleor.
Next.js · E-commerce

Next-js-Boilerplate
A developer-first Next.js 16 starter with Tailwind CSS 4 and TypeScript, supporting both App Router and Page Router.
Next.js · Starter

tailwind-nextjs-starter-blog
A Next.js and Tailwind CSS blog starter template using Contentlayer for Markdown/MDX, with built-in SEO, code highlighting, and tags. It targets personal technical blogs and migration from Jekyll/Hugo to React, and supports one-click Vercel deployment.
Next.js · Blog

next-forge
next-forge is a Turborepo-based Next.js template maintained by Vercel, positioned as a starting point for SaaS products.
Next.js · Starter

SaaS-Boilerplate
SaaS-Boilerplate is an open-source SaaS starter template built with Next.js App Router, React 19, TypeScript, Tailwind CSS, and Shadcn UI.
Next.js · SaaS
