Taken off sale · Rebuilding

Next.js SaaS Boilerplate

A production-ready starter that handles auth, billing, teams, and architecture. Built from real shipping experience, not tutorials.

Why I unpublished it

Architecture debt

The original was built iteratively as I learned. Auth flow, middleware chain, and database schema needed a ground-up rethink after 4 years of real usage.

Next.js 15 changed everything

Server Components, partial prerendering, and the App Router matured enough to justify a full rewrite. The old pages/ router approach no longer made sense.

Feature creep

Every customer wanted something different. I added features without a clear boundary. The rebuild starts from first principles: what does every SaaS actually need?

Better DX is possible

The old code worked but wasn't pleasant to extend. The new version treats developer experience as a first-class feature, not an afterthought.

What existed (v1)

Framework
Next.js 14 (Pages Router)
Auth
NextAuth.js + credentials + OAuth
Billing
Stripe subscriptions + webhooks
Database
PostgreSQL + Prisma ORM
Teams
Multi-tenant RBAC (owner/admin/member)
Styling
Tailwind CSS + shadcn/ui
Testing
Vitest + Playwright + MSW
Email
React Email + Resend

The rebuild (v2)

Done

App Router migration

Full move to Next.js 15 App Router with Server Components, streaming, and partial prerendering.

In Progress

Better auth (Auth.js v5)

Database sessions, passkeys, and magic links. No more JWT refresh token dance.

Pending

Documentation site

A proper docs site with examples, not a README with 3,000 words no one reads.

Roadmap

Done
Core architecture, database design, App Router structure
Doing
Auth system, billing integration, team management
Doing
Onboarding flow, email templates, testing suite
Next
Documentation, demo deployment, launch page

Timeline

Q4 2024

Took v1 off Gumroad. Started architecture planning.

Q1 2025

App Router rewrite, database schema v2, Auth.js migration.

Q2-Q3 2025

Billing, teams, onboarding. Internal alpha.

Late 2025

Documentation, public launch.