Build a B2B SaaS with Next.js 16, Drizzle ORM & Makerkit

Build TeamPulse, a complete B2B SaaS with authentication, organizations, Stripe billing, and role-based permissions. Hands-on course using Next.js 16, React 19, Better Auth, and Drizzle ORM.

A hands-on, project-based course where you build a real B2B SaaS application from scratch using the latest web technologies.

What you'll build: TeamPulse - a team feedback and feature request tool

By the end: A feature-complete B2B SaaS with authentication, organizations, billing, role-based permissions, and production deployment.

Total time: ~10-12 hours across 12 modules


What You'll Learn

SaaS Development Skills

  • Build database schemas with Drizzle ORM
  • Create Server Actions with next-safe-action
  • Implement forms with react-hook-form + Zod
  • Structure Next.js App Router applications

Authentication & Security

  • Configure Better Auth (OAuth, MFA, magic links)
  • Handle email verification & password reset
  • Protect routes and API endpoints

Multi-Tenancy

  • Implement organization-based data isolation
  • Configure role-based access control (Owner/Admin/Member)

Payments

  • Integrate Stripe subscriptions & checkout
  • Gate features by subscription plan

Email & Admin

  • Customize React Email templates
  • Build admin dashboards with metrics

Production Deployment

  • Configure environment variables
  • Deploy with security best practices
  • Set up monitoring and error tracking

Monorepo Skills

  • Navigate Turborepo package structure
  • Understand package dependencies
  • Use development commands efficiently

Course Structure

ModuleTitleTimeWhat You'll Learn/Build
0Architecture & Technologies45-60 minStack deep-dive (Next.js, Better Auth, Drizzle), monorepo navigation
1Setup & Configuration30 minRunning app configured for B2B mode
2Branding1 hrCustomize your app's branding
3Data Model & First Feature2-3 hrsDatabase schemas, server actions, feedback boards with CRUD
4Feedback Items2-3 hrsFeedback submission, voting, status workflow, filtering
5Public Boards1 hrPublic routes, anonymous submission, rate limiting, SEO
6Authentication1 hrGoogle OAuth setup, auth hooks, post-auth flow
7Organizations & Teams1 hrMulti-tenancy, invitations, TeamPulse-specific permissions
8Billing & Subscriptions1-2 hrsPlan limits, gating boards/feedback, usage dashboard
9Email & Notifications45 minReact Email templates, feedback notifications
10Settings & Profile30 minAccount settings, profile management
11Admin Dashboard45 minUser management, metrics, impersonation, banning
12Production Readiness1 hrEnvironment config, security checklist, deployment

The Project: TeamPulse

Throughout this course, you'll build TeamPulse - a team feedback tool where:

  • Teams create feedback boards for their products
  • Members submit feedback (bugs, features, ideas)
  • Voting surfaces the most important items
  • Status workflow tracks progress (New → Planned → In Progress → Done → Closed)
  • Public boards allow anonymous submission from external users
  • Roles control who can create boards, change status, and delete feedback
  • Billing gates boards per plan (Free: 1 board, Starter: 3, Pro: 10, Enterprise: unlimited) and feedback limits per board

This project exercises every major Makerkit feature in a realistic context - so that you will be able to apply the knowledge you gain from this course to your own projects.


How This Course Works

Hands-On First

Every module produces working functionality. You won't just read about features - you'll build them.

Progressive Building

Each module builds on the previous. By the end, you have a complete, cohesive application.


Prerequisites

Before starting Module 1, ensure you have:

  • Node.js 20.10.0+
  • pnpm package manager
  • Docker for local services
  • Git for version control
  • Basic familiarity with React, TypeScript, and Next.js

For a more detailed list of prerequisites, please refer to the Prerequisites Documentation.


Course vs Documentation

This course teaches you how to build features. For API references and deep dives, you will want to refer to the Documentation.

  • Database operations and schemas
  • Server actions patterns
  • Billing customization
  • Authentication configuration

External Resources


After the Course

After completing all modules, you'll have:

  • A working TeamPulse application with all major SaaS features
  • Deep understanding of Makerkit patterns and conventions
  • Production deployment checklist ready to execute
  • Foundation to build your own SaaS product

Frequently Asked Questions

Course FAQ

Do I need prior experience with Next.js to take this course?
Basic familiarity with React, TypeScript, and Next.js is recommended. You should understand components, hooks, and basic routing. The course teaches advanced patterns but assumes you know the fundamentals.
Can I use this course to build a different SaaS product?
Absolutely. While you build TeamPulse as the example project, every pattern you learn applies directly to any B2B SaaS. The database schemas, server actions, authentication flows, and billing integration work the same way regardless of your product domain.
What's the difference between this course and the Makerkit documentation?
The documentation is a reference for specific features and APIs. This course teaches you how to build features end-to-end in a realistic context, with step-by-step guidance and verification checkpoints. Use the course to learn, then the docs as a reference.
How do I get help if I'm stuck?
Check the Makerkit Discord community for support. Most issues are configuration-related, so verify your environment variables and database connection first. Each module has a checkpoint section to help you verify your progress.
Is the course updated for Next.js 16 and React 19?
Yes. This course covers Next.js 16 with App Router, React 19 with Server Components and Server Actions, and the latest versions of Better Auth, Drizzle ORM, and Tailwind CSS 4.

Ready?

Start with Module 0: Architecture & Technologies to understand the stack, then proceed to Module 1: Setup & Configuration.