ShipStack: Next.js SaaS Starter Kit
Stop wasting weeks on boilerplate. Ship your SaaS in days.
ShipStack is a production-ready Next.js 15 SaaS starter kit with everything you need to launch — auth, payments, email, dashboards, and a blog — all wired up and working out of the box.
What's Included
Authentication (Auth.js)
- Email + password signup/login
- Google & GitHub OAuth (one config line each)
- Magic link (passwordless) login
- Password reset flow with email verification
- Session management & middleware protection
- Role-based access control (ADMIN / USER)
Stripe Subscriptions — Full Lifecycle
- Monthly & yearly billing plans
- Free tier + paid tiers (fully configurable)
- Upgrade / downgrade / cancel flows
- Stripe Customer Portal (self-serve billing)
- Webhook handler for all subscription events
- Trial periods support
- Prorated upgrades
Dashboards
- User dashboard — subscription status, usage stats, account settings
- Admin dashboard — user management, MRR overview, subscription table, activity log
- Sidebar navigation with collapsible groups
- Responsive layout (works on mobile)
Blog (MDX)
- File-based MDX blog at
/blog
- Syntax-highlighted code blocks
- SEO meta tags per post
- RSS feed auto-generated
- Author profiles
Landing Page
- Hero section with CTA
- Features grid
- Pricing table (synced to Stripe plans)
- Testimonials section
- FAQ accordion
- Footer with newsletter signup
Email (Resend)
- Welcome email on signup
- Email verification
- Password reset
- Subscription confirmation
- Payment failed warning
- Cancellation confirmation
- All emails fully customizable (React Email templates)
Developer Experience
- Next.js 15 App Router + Server Components
- TypeScript — strict mode, fully typed
- Tailwind CSS — utility-first styling
- shadcn/ui — accessible, composable components
- Prisma ORM with PostgreSQL
- Zod schema validation everywhere
- ESLint + Prettier pre-configured
- Absolute imports (
@/)
- Environment variable validation on startup
Deployment Ready
- Vercel-optimised (zero config deploy)
- Docker
compose.yml for local dev
- Database migrations included
- Seed script for demo data
Tech Stack
| Layer | Technology |
|---|
| Framework | Next.js 15 (App Router) |
| Language | TypeScript (strict) |
| Styling | Tailwind CSS + shadcn/ui |
| Auth | Auth.js v5 |
| Database | PostgreSQL + Prisma ORM |
| Payments | Stripe (subscriptions + portal) |
| Email | Resend + React Email |
| Deployment | Vercel / Docker |
Quick Start
git clone https://github.com/your-purchase/shipstack
cd shipstack
cp .env.example .env.local
# Fill in your keys (Stripe, Google, Resend, DB)
npm install
npx prisma migrate dev
npm run dev
Your SaaS is running at http://localhost:3000 in under 5 minutes.
Pages & Routes
/ Landing page
/pricing Pricing table
/blog Blog index
/blog/[slug] Blog post
/login Login
/signup Signup
/forgot-password Password reset
/dashboard User dashboard
/dashboard/billing Subscription management
/dashboard/settings Account settings
/admin Admin panel (ADMIN role only)
/admin/users User management
/admin/subscriptions Subscription overview
What You Don't Have to Build
- ✅ Auth flows (login, signup, OAuth, magic link, reset)
- ✅ Stripe billing (subscriptions, portal, webhooks)
- ✅ Transactional emails (7 templates included)
- ✅ Admin tooling (users, subscriptions, MRR)
- ✅ Blog with MDX + SEO
- ✅ Dark mode
- ✅ Responsive layout
- ✅ TypeScript types everywhere
- ✅ Database schema + migrations
- ✅ Environment validation
Who Is This For?
- Indie hackers launching a SaaS side project
- Agencies building client SaaS products
- Developers who've built auth + billing 10 times and never want to again
Pricing
One-time purchase. Lifetime updates. No licence fees.
Use on unlimited personal or client projects. Source code included — no obfuscation, no black boxes.
Support
Issues, questions, and feature requests via the included GitHub repo. Response within 24h.