Multi-factor authentication
Users enroll an authenticator app and are challenged for a code at sign-in.
Inside MakerKit





> Add a projects table scoped to team accounts
Context your harness loads
Root rules first, then the folder the agent works in
Products built on MakerKit
AmplefoundAI-organic growth agent
GondlaThe first content engine designed for Hybrid Search Visibility
ConvoQualitative Research At Scale
QA.techShip faster with AI agents that create and run your QA tests
ReplybossFind relevant posts on X. Grow faster and sell more.
ReplenoInventory management for craft & small businessesBetter Auth runs inside your app and stores users, sessions, and organizations in your database. Organizations, invitations, custom roles, MFA, passkeys, magic links, and OAuth, tied to Stripe or Polar.
Password, magic link, passkeys, OAuth and multi-factor authentication, with the emails that go with them.
Users enroll an authenticator app and are challenged for a code at sign-in.
Templates written in JSX with React Email, sent through Resend or Nodemailer (SMTP).
Password, magic link and social sign-in, configured per environment.
Opt-in sign-in with Face ID, Touch ID, Windows Hello or a security key. No password to phish.
Passwordless sign-in: users get a one-time link by email instead of typing a password.
The multi-tenant SaaS boilerplate parts: auth, billing, teams with roles, and a super admin that can impersonate or ban users and teams, plus the screens your customers use to manage them.
Roles map to permissions that your code and your database policies both check.
Users change plans, update payment methods and download invoices without a support ticket.
Users belong to several teams and switch between them, or work in their personal account.
Flat, per-seat and metered subscriptions through Stripe Checkout, with webhooks that keep plans and seats in sync with your database.
Billing, email, CMS and monitoring sit behind interfaces, so changing provider is configuration, not a rewrite.
Every UI string comes from translation files, so adding a language is content work.
Rules, an MCP server, skills and strict checks keep generated code in the kit’s patterns.
AGENTS.md files at the root and in each package teach coding agents the kit’s conventions.
Strict TypeScript and linting across the monorepo, so type errors surface before your users find them.
Gives Claude Code, Cursor, Codex and Gemini structured access to the kit: database, components, translations, checks and PRDs.
Tests for authentication, team accounts and invitations, written with page objects you can extend.
The full source lives in your repository. Nothing is hidden behind a package you cannot edit.
Skills in every Better Auth kit: /reviewer reviews the diff, /bug-hunt sweeps the codebase, and /drizzle-expert or /prisma-expert handles schemas and queries.
The parts nobody lists until they are missing: content, deployment, documentation, and people to ask when you get stuck.
The setup, stack, and tooling are decided, so your first commit is a product feature.
Clone the repository, install dependencies, and start the dev server: the full SaaS runs locally, not a demo shell.
Better Auth with Drizzle or Prisma 7 on Postgres, running on Next.js 16 or TanStack Start, with React 19, Zod 4, Shadcn UI, Tailwind CSS 4, and TypeScript 7.
Strict TypeScript, Oxlint, and oxfmt configured across the monorepo. The Rust-based Oxc toolchain keeps lint and format feedback fast as the codebase grows.
Email and password, magic links, passkeys, OAuth, and TOTP MFA, configured in one Better Auth file and stored in your own Postgres.
Secure email/password authentication with built-in password reset, email verification, and account recovery flows.
Passwordless sign-in: users click a link in their inbox and skip the password entirely.
WebAuthn passkeys: users sign in with Face ID, Touch ID, Windows Hello, or a hardware security key. Phishing-resistant, with nothing to reset.
Google, GitHub, Facebook, X, Discord, and many more OAuth providers ready to configure.
TOTP-based MFA to protect your users' accounts, with enrollment and challenge screens included.
Better Auth's organization plugin with invitations, plus custom roles each organization defines from the UI.
Full B2B multi-tenancy support. Let customers create workspaces, manage teams, and collaborate securely.
Email-based invitation system with role assignment. Onboard team members with a single link.
Granular role-based access control (RBAC). Define custom roles and permissions that match your product's needs.
Stripe or Polar subscriptions per organization, including per-seat billing with seat enforcement and metered usage.
Stripe Checkout handles cards, Apple Pay, Google Pay, and other payment methods.
Self-service subscription management. Customers update payment methods, view invoices, and cancel without opening a support ticket.
Per-seat, usage-based, flat-rate subscriptions, or one-time purchases. Plans live in one billing schema that checkout and the pricing table both read.
Manage your users, organizations, and build your own internal tooling within the app.
See users, organizations, and subscriptions in one dashboard, restricted to super admins.
Explore, impersonate users, ban/delete accounts, all without touching the database.
Screens for every flow, built from the same Shadcn UI components you will use for your own features.
A landing page template with hero, features, pricing, and call-to-action sections to adapt to your product.
Dashboard demo components with charts, ready to wire to your own data.
Every Shadcn UI component pre-installed and themed. Browse, copy, and customize from our built-in dev tools.
A pricing table generated from your billing config: change a price in one place and the page follows.
Get found by your target audience with blog, documentation, changelog, and more.
A blog for product updates and SEO content, with per-post metadata and sitemap entries.
Reduce support load and improve user onboarding with the built-in documentation. Educate users and drive traffic to your product.
Keep users engaged with product updates. Announce features, fixes, and improvements in a dedicated changelog.
Comprehensive monitoring and testing tools to help you keep your SaaS running smoothly.
Pre-configured end-to-end tests for critical user flows. Ship with confidence, catch regressions before your users do.
Plug-and-play support for Sentry, PostHog, Signoz, and more. Monitor errors, track analytics, and debug production issues.
Ask me and the MakerKit community on Discord about setup, kit-related issues, and how the codebase fits together.
Developers and founders on the kits, the docs and the support. Every quote links to the original post.
just wanna say thanks to @gc_psk for building @makerkit_dev . it is such an overpowered template. like finally we have a really good one with active development, good docs and now even cursorrules/windsurfrules to just sit down and see ai agents do the stuff. truly mindblowing.

Built and maintained full-time by Giancarlo, a software engineer with almost 15 years of experience at startups and enterprises. Support questions reach me directly.
My favorite so far is @gc_psk and @makerkit_dev ship cursor rules along with updates to the framework. That's been really useful to pull in new version (via git remote) and things stay in sync.
Just started using MakerKit and it's a total game-changer. 🚀 Wish I had this when I was building Phishr. Instant team management and billing? Insane.
Second that! Giancarlo provides amazing support!! 😄
You need to check @makerkit_dev by @gc_psk — it’s the best I’ve seen so far. It’s feature complete, plenty examples, amazing docs, great Discord community, the dude provides support even days after his weeding (which is crazy!) I’m not affiliated in every way, just a happy cx.
Honestly @makerkit_dev is great. More for B2B products but really clean and well documented.
Amazing! @gc_psk has built a masterpiece with this one!
I just stumbled upon @makerkit_dev (and you!), it's impressive, I thought it was a big team behind how many features I saw (and I've been working in software a long time!) I was just looking for a free boilerplate, but the lifetime licence makes it a no brainer. Thank you!
I would have totally agreed with you until… I found @makerkit_dev last year. This is by far, the best boilerplate I found those past years. The dev is pushing new features and updates almost every week. His documentation (specially migrating to Next 15) is the best I’ve seen.
Makerkit is a gem for makers, if I was not building a desktop app I would be using it for sure, maybe for my next project
I landed on MakerKit after getting into boilerplates with ShipFast. Much better.
1000% recommend buying a good boilerplate (or making your own) I use @makerkit_dev it's so good I had an affiliate link, but I can't find it at the moment
For anyone who wants to build their own SaaS, I recommend trying out @makerkit_dev. Thanks to @gc_psk for creating such a fantastic tool that makes building websites a breeze! #SaaS #buildinpublic
We loved the product since when Giancarlo released the first version, and are building upon it ever since for all of our products. Highly recommended for all indie makers out there.
Solid and battle tested boilerplate with an amazing community and support.
Adding Better Auth to an app is the quick part. Wiring its organizations to roles, invitations, per-seat billing, and an admin panel takes longer. With AI coding tools, that is still 49-81 hours of senior developer time, including fixing the patterns AI got wrong.
Hours with Claude Code or Cursor · bar shows the range on a 0–25h scale
Estimates for a senior developer building from scratch with Claude Code or Cursor at $150/hour, including 15-25 hours refactoring AI-generated patterns. Read the methodology
Better Auth handles identity. MakerKit adds the organizations, roles, billing, and admin that turn it into a product.
The MakerKit Better Auth SaaS Starter Kit is the Drizzle or Prisma edition of MakerKit, available for Next.js 16 and TanStack Start. Better Auth runs inside your app and stores users, sessions, and organizations in your own Postgres. The kit adds organizations with invitations and custom roles, passkeys, MFA, Stripe or Polar billing, and a super admin with impersonation.
Users, sessions, and organizations live in your Postgres. No external auth service and no per-user pricing.
Better Auth's organization plugin with invitations, plus roles each organization defines from the UI.
Email and password, magic links, passkeys, OAuth, and TOTP MFA, with rate limiting and captcha plugins.
Per-organization subscriptions with per-seat enforcement and metered usage.
Next.js 16 or TanStack Start, with Drizzle or Prisma 7. Same features in every combination.
AGENTS.md and CLAUDE.md files at the root and in each package, rules for Claude Code, Cursor, Codex, and Gemini, and an MCP server your agent can call.
Without MakerKit: Hosted auth that bills per active user
With MakerKit: Self-hosted Better Auth with no per-user fees
Without MakerKit: Better Auth installed, organizations still unwired to billing
With MakerKit: Organizations connected to roles, invitations, seats, and admin
Without MakerKit: Your user table held by a vendor
With MakerKit: Your user table in your own Postgres
Without MakerKit: Roles hardcoded for every customer
With MakerKit: Custom roles each organization manages
Each license includes the Next.js and TanStack Start kits for that ORM. One-time purchase: lifetime license, continuous updates, unlimited projects of your own.
Questions about licensing?
Read the MakerKit license terms and the MakerKit FAQ, or contact me.
Not covered here? Ask in Discord or contact me.
It is MakerKit's Drizzle and Prisma kits, which use Better Auth for authentication. Each is available for Next.js 16 and TanStack Start and ships email and password, magic links, passkeys, OAuth, TOTP MFA, organizations with invitations and roles, a super admin with user impersonation, and Stripe or Polar billing.
Ownership and cost. Better Auth runs inside your app and stores users, sessions, and organizations in your own Postgres, so there is no per-user auth pricing and no third party holding your user table. The trade-off is that you operate auth yourself: secrets, email verification, and rate limiting are configured by the kit, and keeping them on in production is your job.
The kit configures Better Auth's organization plugin for teams, members, and invitations, and adds custom roles that each organization can define from the UI without code changes. Your code checks access through the kit's permissions API and custom authorization policies.
Drizzle if you like queries that read like SQL and no generated client. Prisma 7 if your team already knows Prisma's schema language and client. Auth, organizations, billing, and admin are the same in both, and each is its own license, so pick the ORM you want to live with.
Yes. Account modes let you run personal accounts only (B2C), organizations only (B2B), or both (B2B2C), chosen in configuration.
PostgreSQL from any provider: Neon, Supabase Postgres, Railway, or your own server. The deployment docs cover Docker and Railway, and because Better Auth runs in-process there is no separate auth service to deploy.
A one-time purchase. You get a lifetime license to the source code, continuous updates for the stack you bought, and unlimited projects for your own business, with no renewal fee. Building products for clients requires a Team license, and each client that receives the code needs their own license.
Discord support from me, Giancarlo, the founder who works on MakerKit full-time, and from the community. I help with setup, kit-related issues, and questions about the codebase. Team licenses add a private Discord channel for your team.
Better Auth, organizations, custom roles, and billing, already connected in your own Postgres. Pick Drizzle or Prisma above and start on the product instead of the auth wiring.
Read the Better Auth kit docs