31SaaS

NextJs boilerplate that has everything you need to build a working product, not MVP

Overview

Build a Modern Sleek SaaS in Days

31SaaS is a comprehensive NextJs 14 boilerplate designed to help developers quickly build modern, sleek SaaS applications. With a robust tech stack including Next.js 14, React 18, Tailwind CSS, Shadcn UI, Radix UI, Appwrite, Resend, Stripe, TanStack React Query & Table, and Content Layer, it provides everything needed for a production-ready application.

Key Features

  • Authentication: Robust user authentication with Appwrite, secure routes, and JWT generation
  • Payments: Integrated Stripe for handling subscriptions and transactions
  • Database: Appwrite database integration for secure data storage
  • Email: Email functionality through Resend
  • Blog: Content management system for creating and publishing blog content
  • SEO: Built-in SEO optimization tools
  • UX: Beautiful user interface with Shadcn UI and Radix components
  • Compliance: Tools to help with regulatory compliance

Get up and running within 10 minutes with the quick start guide. Save hundreds of development hours and thousands of dollars compared to building these features yourself.

Said Hasyim's profile picture

Said Hasyim

Related Boilerplates

Visit website for HyperSaas

HyperSaas

Comprehensive SaaS boilerplate with Django and React/Next.js

JavaScript
Python
TypeScript
Radix UI
React
shadcn/ui
Tailwind CSS
PostgreSQL
Redis
Stripe
Django
Django REST Framework
Next.js

Features:

AI
Auth
AWS
Background Jobs
CI/CD
Dark Mode
Developer Tools
+6 more
Visit website for Nextbase

Nextbase

A comprehensive Next.js boilerplate for building SaaS products with auth, payments, and organizations

JavaScript
TypeScript
React
shadcn/ui
Tailwind CSS
Supabase
Lemon Squeezy
Stripe
Next.js

Features:

Access Control
Admin
API
Auth
Blog
Changelog
Docs
+9 more
Visit website for Indie Starter

Indie Starter

Next.js starter for indie makers to write less code, iterate fast, and earn cash

JavaScript
TypeScript
React
shadcn/ui
Tailwind CSS
PostgreSQL
Supabase
Stripe
Next.js

Features:

Analytics
Auth
Blog
Landing Page
Legal Pages
Logging
Magic Links
+7 more
Visit website for Makerkit

Makerkit

A SaaS Starter Kit for building production-ready React applications

JavaScript
TypeScript
Lucide Icons
Radix UI
shadcn/ui
Tailwind CSS
Firestore
Supabase
Lemon Squeezy
Stripe
Next.js
React
React Native
Remix

Features:

2FA
Admin
AI
Analytics
Auth
Blog
Dark Mode
+16 more
Visit website for Supastarter

Supastarter

Scalable and production-ready SaaS starter kit for Next.js, Nuxt, and SvelteKit.

JavaScript
TypeScript
Radix UI
Radix Vue
shadcn/ui
Tailwind CSS
Prisma
Chargebee
Creem
Lemon Squeezy
Polar
Stripe
Next.js
Nuxt
React
Svelte
SvelteKit
Vue.js

Features:

Access Control
AI
Analytics
API
Auth
Blog
Contact
+10 more
Visit website for Next Forge

Next Forge

Production-grade Turborepo template for Next.js apps

JavaScript
TypeScript
Radix UI
shadcn/ui
Tailwind CSS
EdgeDB
Neon
Prisma
Turso
Stripe
Next.js
React
Turborepo

Features:

AI
Analytics
API
Auth
Blog
Dark Mode
Docs
+8 more

Frequently Asked Questions

JavaScript

What makes JavaScript ideal for SaaS development?

JavaScript excels in SaaS development due to its robust ecosystem, strong typing capabilities, and excellent library support. JavaScript boilerplates leverage language-specific features to provide type-safe database queries, efficient API routing, and optimized runtime performance. The language's maturity means you get battle-tested packages for authentication, payment processing, and background jobs that integrate seamlessly.

TypeScript

What makes TypeScript ideal for SaaS development?

TypeScript excels in SaaS development due to its robust ecosystem, strong typing capabilities, and excellent library support. TypeScript boilerplates leverage language-specific features to provide type-safe database queries, efficient API routing, and optimized runtime performance. The language's maturity means you get battle-tested packages for authentication, payment processing, and background jobs that integrate seamlessly.

Next.js

What Next.js-specific architecture patterns are implemented?

Next.js boilerplates leverage the framework's native architecture patterns including its routing system, middleware pipeline, and controller/handler structure. They implement Next.js's conventions for separating concerns, dependency injection, and service layer patterns. The codebase follows Next.js's best practices for organizing models, views/components, and business logic to ensure maintainability as your application grows.

Radix UI

What Radix UI-specific component architecture is used?

Radix UI boilerplates follow the framework's component composition patterns with reusable, atomic design components. They implement Radix UI's best practices for component structure, props handling, event management, and lifecycle methods. The component library includes authentication flows, dashboards, data tables, forms with validation, and navigation—all built with Radix UI's native features like hooks (React), composition API (Vue), or directives (Angular).

React

What React-specific component architecture is used?

React boilerplates follow the framework's component composition patterns with reusable, atomic design components. They implement React's best practices for component structure, props handling, event management, and lifecycle methods. The component library includes authentication flows, dashboards, data tables, forms with validation, and navigation—all built with React's native features like hooks (React), composition API (Vue), or directives (Angular).

shadcn/ui

What shadcn/ui-specific component architecture is used?

shadcn/ui boilerplates follow the framework's component composition patterns with reusable, atomic design components. They implement shadcn/ui's best practices for component structure, props handling, event management, and lifecycle methods. The component library includes authentication flows, dashboards, data tables, forms with validation, and navigation—all built with shadcn/ui's native features like hooks (React), composition API (Vue), or directives (Angular).

Tailwind CSS

What Tailwind CSS-specific component architecture is used?

Tailwind CSS boilerplates follow the framework's component composition patterns with reusable, atomic design components. They implement Tailwind CSS's best practices for component structure, props handling, event management, and lifecycle methods. The component library includes authentication flows, dashboards, data tables, forms with validation, and navigation—all built with Tailwind CSS's native features like hooks (React), composition API (Vue), or directives (Angular).

Appwrite

What Appwrite-specific features are leveraged in these boilerplates?

Appwrite boilerplates utilize the database's native capabilities including its transaction model (ACID for SQL, eventual consistency for NoSQL), indexing strategies (B-tree, GiST, full-text search), and advanced features like JSON columns, array types, window functions, or document queries. The schema design takes advantage of Appwrite's strengths—whether that's PostgreSQL's JSONB, MySQL's full-text search, MongoDB's aggregation pipeline, or Redis's data structures.

Stripe

What Stripe API features are implemented?

Stripe boilerplates implement the provider's complete API suite including checkout sessions, subscription lifecycle management, customer portal, webhook event handling, and invoice generation. They use Stripe's latest API version with proper error handling, idempotency keys, and retry logic. The integration includes Stripe-specific features like payment intents, setup intents, subscription schedules, and tax calculation APIs.

JavaScript

What JavaScript-specific tools and libraries are included?

JavaScript boilerplates include the language's most popular and production-proven tools. This typically includes testing frameworks, linters, formatters, build tools, and package managers specific to JavaScript. You'll get pre-configured toolchains that enforce best practices, automated testing pipelines, and development environments optimized for JavaScript development workflows.

TypeScript

What TypeScript-specific tools and libraries are included?

TypeScript boilerplates include the language's most popular and production-proven tools. This typically includes testing frameworks, linters, formatters, build tools, and package managers specific to TypeScript. You'll get pre-configured toolchains that enforce best practices, automated testing pipelines, and development environments optimized for TypeScript development workflows.

Next.js

How does Next.js's ORM/database layer work in these boilerplates?

Next.js boilerplates use the framework's native ORM or query builder (Prisma, Eloquent, Active Record, SQLAlchemy, etc.) with pre-configured models for users, subscriptions, teams, and common SaaS entities. They include optimized queries, relationships, migrations, seeders, and database connection pooling. The implementation leverages Next.js's specific features like eager loading, query scopes, and transaction handling for performance.

Radix UI

How is state management handled in Radix UI boilerplates?

Radix UI boilerplates use the framework's recommended state management approach—whether that's React Context + hooks, Redux Toolkit, Zustand, Pinia (Vue), NgRx (Angular), or Svelte stores. They include pre-configured state slices for authentication, user data, subscriptions, and UI state with proper TypeScript typing. The implementation follows Radix UI's patterns for global state, local component state, and server state synchronization.

React

How is state management handled in React boilerplates?

React boilerplates use the framework's recommended state management approach—whether that's React Context + hooks, Redux Toolkit, Zustand, Pinia (Vue), NgRx (Angular), or Svelte stores. They include pre-configured state slices for authentication, user data, subscriptions, and UI state with proper TypeScript typing. The implementation follows React's patterns for global state, local component state, and server state synchronization.

shadcn/ui

How is state management handled in shadcn/ui boilerplates?

shadcn/ui boilerplates use the framework's recommended state management approach—whether that's React Context + hooks, Redux Toolkit, Zustand, Pinia (Vue), NgRx (Angular), or Svelte stores. They include pre-configured state slices for authentication, user data, subscriptions, and UI state with proper TypeScript typing. The implementation follows shadcn/ui's patterns for global state, local component state, and server state synchronization.