Better Auth

Organizations

Realtime Data

Dunning

Delivery Log

Usage Metering

Platform Admin

The Convex SaaS foundation you launch from, not build.

Identity, tenancy, billing, usage metering, tenant-scoped RAG, automations, notifications, admin, dunning, email delivery, broadcasts, and GDPR tooling—all in one repository. Professional includes the full foundation and every operations console listed above. Clone it, run npx convex dev, and ship your first feature today instead of your third month.

60 modules and 173 implementation recipes. Every module runs on a clean clone with no vendor keys.

Coming Soon

One payment. Lifetime updates. Unlimited projects. Prices in AUD.

The same foundation runs UnitBuddy, a live Australian SaaS. unitbuddy.com.au

zero vendor keys realtime out of the box type-safe end to end npm run verify

What you get

This is the app you clone.

Not a landing page with a login button bolted on. A working multi-tenant product with a dashboard, a control plane, and every module reachable from the nav.

Projects and tasks
Realtime projects and tasks, scoped to the active organization, with search and limits already applied.
Platform admin control plane
Platform totals, global kill switches and rollout flags, behind a password step-up.
Module catalog with live demos
Every module says what it ships, with a live demo you can run against your own deployment.

What SaaSZero Professional gives you.

The SaaS foundation and operations consoles, together in one pack.

Identity and tenancy, settled

Better Auth is the single authority for accounts, sessions, organizations, members and invitations. Roles and permissions are wired through every query, not bolted on after.

Billing, metering and entitlements

Plans, usage meters and feature entitlements that route through one code path, so a plan change and a webhook can never disagree about what a customer is allowed to do.

AI with tenant-scoped RAG

Retrieval that respects the tenant boundary by construction, so one customer's documents cannot surface in another customer's answers.

Notifications and search

Both included, wired end to end. Nothing in this kit is held back for an upsell.

Dunning with a 14-day grace window

A failed payment opens a 14 day grace window with entitlements fully intact, retry emails on days 1, 3, 7 and 13, and a countdown banner that never threatens data loss. You can rehearse the whole fortnight with no payment provider connected.

A searchable email delivery log

Every message goes through one chokepoint that checks the suppression list, writes a ledger row, then sends. Filter by status, recipient or broadcast. Bounces and complaints suppress automatically.

Broadcasts with a brake on them

Preview a segment against the same code the real send uses, so the preview cannot lie. Retype the subject to confirm, because a modal is dismissable by reflex. Sends never starve your transactional mail.

The three ways signups die, named

Unverified after 3 days, no organization after 1 day, invitation unaccepted after 7. Each cohort has one action attached, bulk capped so one slip cannot mail everybody.

GDPR erasure with a build-time gate

Every schema table is classified as anonymize, erase or retain, and the test suite fails the build if a table is unclassified. A delete request waits 30 days before the hard delete runs, and the account keeps working the whole time.

Backup drills that catch schema drift

The drill samples every registered table and asserts that each field the registry names still exists. It finds the table somebody renamed six months ago, before an audit does.

Runs on a clean clone

No vendor keys required to see it work. Debug adapters stand in for the email and billing providers so you can read the whole system before you sign up for anything.

Full source, no licence check

There is no phone-home anywhere in the code. Use it for your own products and for client work, on as many projects as you like.

The trade

Twenty weeks of foundation. Or five minutes.

This is the project plan you do not have to run. Every sprint below is already merged, tested, and documented. Your roadmap starts at the last row.

foundation-roadmap.planwk 1 to wk 20

Auth + tenancy

sessions · MFA · orgs · invites

shipped

Feature gates + admin

flags · overrides · audit · step-up

shipped

Workflows + files + email

durable jobs · R2 · resend

shipped

Billing + usage metering

webhooks · entitlements · quotas · overage

shipped

AI, agents & automations

tenant RAG · scheduled agents · zapier-lite

shipped

Your product

the part only you can write

starts today

Your first five minutes

Clone to a working control plane in five minutes.

No vendor keys, no webhook plumbing, no waiting on sandbox approvals. Debug adapters keep email, analytics, and errors runnable from the first commit.

main · clean clone · ready to rename
  1. 0:00
    git clone && npm install

    Pull the repo. Env template included.

  2. 0:02
    npx convex dev

    Backend live. Schema pushed, types generated.

  3. 0:03
    npm run dev

    UI live. Sign in with email, no keys required.

  4. 0:05
    you're the admin

    First sign-up becomes superAdmin. Full control plane.

Time to launch

The foundation is running. Now build your product.

You are running locally five minutes in. Nobody can honestly tell you how long your product takes to build after that, and any starter kit that promises a launch date is guessing. What we can tell you is exactly what is already done and exactly what is left. This is the whole remaining path.

  1. 01an afternoon

    Make it yours

    Name, tagline, support email, and limits live in one config file. Themes and shadcn/ui sources are yours to edit.

    config/product.ts
  2. 02minutes each

    Delete what you do not need

    Example apps and optional modules remove cleanly along documented paths, without leaving dead imports or orphaned tables behind.

    docs/REMOVE_EXAMPLE_APPS.md
  3. 03your call

    Build your actual product

    Copy the projects slice as your pattern for tenant-safe CRUD, then write the part only you can write. This is the real work, and no starter kit can shorten it.

  4. 04an hour each

    Wire the real providers

    Swap debug adapters for Resend, PostHog, Sentry, and your billing provider. Each one sits behind an interface that is already called.

    npx convex env set --prod
  5. 05same day

    Deploy and verify

    Six documented steps on the certified Vercel path, then test sign-up, org bootstrap, an admin denial, and tenant isolation with two accounts.

    npm run verify && npx convex deploy

What "launch ready" actually means here

Vercel is the deployment path SaaSZero tests against. That means the critical paths, sign-up, organization bootstrap, admin denials, and provider actions, are tested against a real release, not assumed to work. The deployment guide also includes docs for Netlify, Cloudflare Workers, and Docker.

  • Separate preview and production Convex deployments
  • Fresh Better Auth secret over HTTPS
  • Real email only after sender verification
  • Source maps and analytics consent set by intention
  • Tenant isolation tested with two orgs
  • Backups, export access, and a restore drill

One command before you ship

Configuration diagnosis, strict typecheck, lint, unit and tenancy tests, then the production build. If it passes, the foundation has cleared its configuration, type, lint, test, and production-build checks.

npm run verify

doctor · typecheck · lint · test · build

All 60 modules

60 modules, wired into the running app.

Nothing here is a placeholder or a TODO. Every module below is wired, tested, and reachable from the running app. Filter by the library it ships from.

Organization overview

Home dashboard

The signed-in home screen. Live activity, organization health and pending work for the current tenant, updating in realtime as teammates act.

Projects & tasks

Your team’s work

The reference product domain: projects and tasks scoped to an organization, with roles, plan limits, search, attachments and an audit history. Copy this pattern for your own resources.

Component labs

Prove integrations live

Executable documentation. One-click smoke tests prove feature access, workflows, analytics, errors and email against your own deployment, using debug adapters until real keys are set.

Settings & members

Account & team

Profile, organization switching, invitations, role changes, ownership transfer and sign-in security, in one settings surface every tenant gets.

Sign-in & identity

How people access your product

Every way into your product: email and password, MFA, passkeys, magic links, one-time codes, social login and multi-device sessions, all under Better Auth.

Organizations

Multi-tenant teams

The multi-tenant spine. Personal and team organizations with members, invitations and roles; every product row is keyed to its organization so tenants cannot see each other.

Two-factor (MFA)

TOTP + backup codes

Authenticator-app enrollment with a verification challenge after password sign-in, plus backup codes for when the phone is gone.

Passkeys

WebAuthn

Register, list and delete passkeys, then sign in with a fingerprint or face instead of a password. Standard WebAuthn, no extra service.

Magic link

Passwordless email

One-click sign-in links sent by email. Delivery runs through the same transactional email queue as the rest of the product, previewable locally.

Email OTP

Sign-in codes

Six-digit sign-in codes by email, for people who prefer a code to a link.

Phone OTP

SMS codes

SMS verification codes behind an environment flag, with codes logged locally so the flow is testable before an SMS provider exists.

Social OAuth

Google & GitHub

Google and GitHub sign-in that switch on when provider secrets are set, with the matching buttons appearing on the sign-in form.

Username

Optional handle

Optional public handles alongside email identity, for products where people are seen by name.

Anonymous

Guest sessions

Guest sessions for demos and trials, off by default, so someone can try the product before creating an account.

Multi-session

Device sessions

Several accounts or devices signed in at once, with a settings screen to review and revoke each session.

Last login method

Sign-in hint

Remembers how each person signed in last time and highlights that method on the form next visit.

Google One Tap

Env-gated

Google's returning-user prompt for one-tap sign-in, switched on by environment flag when you want it.

SIWE

Wallet sign-in

Sign-In with Ethereum for crypto-native products: wallet-based identity through the same session authority as every other method.

Generic OAuth

Custom IdP

Point identity at any custom OIDC or OAuth provider. The escape hatch for when a customer brings their own IdP.

BA Admin plugin

List · role · ban · impersonate

Operator tooling over accounts: list users, change roles, ban and unban, and impersonate for support. Separate from tenant-facing roles.

Firebase Auth bridge

Firebase identity · BA session

Keep Firebase as the identity source for phone, Google and email sign-in, and exchange its verified token for a session here. A migration path, not a rewrite.

Referral codes

Invite · attribute · reward

Invite codes with attribution: each user gets a unique code, sign-ups are credited to the referrer, and a reward hook fires.

Instagram OAuth

Login with Instagram

Instagram Business Login through the generic OAuth path, with the missing-email case handled and a helper for calling the Graph API afterwards.

Transactional email

Resend component

One chokepoint for every outbound email, with local previews before a provider is set, and Resend delivery, sandbox protection and templates after.

Analytics

PostHog + debug

A typed event catalog with redaction and consent state. Events log locally until a PostHog key is present.

Error reporting

Sentry + console

A global error boundary and intentional test exceptions. Errors go to the console until a Sentry DSN is set.

Durable workflows

Journal + replay jobs

Durable multi-step jobs that journal each step and replay after a deploy or crash. The pattern behind exports and every long-running task.

Private files

Convex · R2 · S3

Private file uploads with authorized URLs, attached to product records. Storage on Convex by default, with complete Cloudflare R2 and Amazon S3 paths.

Collaborative editor

ProseMirror OT sync

Real multiplayer rich-text editing with tenant-scoped access checks, server-side creation and plain-text search over document content.

Feature access

Flags & limits

The feature policy: plan defaults, kill switches, percentage rollouts, per-organization overrides and usage windows, every decision carrying a reason the UI can show.

Platform admin

Control plane

The platform control plane: users, organizations, an audit explorer and password step-up before any privileged change.

Just like SQL

SQL → Convex indexes

A translation guide from SQL habits to Convex indexes — joins, unions, distinct, group-by and filters — each with a live demo on real data.

Merging streams

Stream deep dive

A deep dive on composing query streams: merging, joining, filtering and paginating across indexes without loading whole tables.

TanStack Tables

Sort, search, filter

A realtime product table with column sorting, global search, filters and pagination. The pattern for every data grid you will build.

TanStack Forms

Validated product create

Schema-validated create and edit forms wired to server mutations, demonstrated on the same product catalog the tables render.

Rate Limiter

Token bucket · fixed window

Transactional rate limits at the function boundary: token buckets for bursts, fixed windows for quotas, per-user keys, already protecting the hot paths.

Migrations

Zero-downtime backfills

Resumable, batched backfills that rewrite live tables without downtime. The same machinery this codebase used for its own schema changes.

Action Retrier

Exponential backoff

Retries with exponential backoff for flaky third-party calls, ending in exactly one completion callback.

Workpool

Bounded background queues

Named background queues with parallelism caps, so a burst of jobs drains in order instead of stampeding a downstream API.

Architecture guide

Authz · ownership · tenancy

The written contract for the codebase: authentication versus authorization, ownership planes, tenancy rules and copy-paste examples for each.

Integrations guide

Provider matrix

The provider matrix: what runs with no keys, what each vendor adds, how to remove one, and the smoke test that proves it.

Polar billing

Merchant of record

Subscription billing with Polar as merchant of record behind a provider-agnostic adapter, webhook ingestion, and a bridge from plan to feature entitlements. A debug adapter simulates the whole path offline.

Stripe subscriptions

Checkout · Portal · Tax

The Stripe path: subscription checkout, the customer portal, signed webhooks and tax collection, feeding the same entitlement bridge as Polar.

Stripe Connect

Marketplaces & platforms

Marketplace and platform payments: onboarding sellers, routing charges between parties, and taking a platform fee.

Paddle billing

Merchant of record

Paddle as merchant of record: hosted checkout, subscriptions and VAT handled for you, mapped into the same feature entitlements.

Lemon Squeezy

Merchant of record

Lemon Squeezy as merchant of record for indie pricing: overlay or hosted checkout and subscription webhooks into the same entitlement bridge.

AI agent & chat

Convex Agent component

Persistent chat threads with real model replies and retrieval over the organization's own documents, with citations. A debug assistant answers offline until a key is set.

Usage metering

Per-user + aggregate

Per-user daily usage counters for chat, API calls and exports, with an aggregate path that keeps dashboards and plan limits fast at scale.

Presence

Who's online

Who is online, where, right now: heartbeat-driven presence with away detection, scoped to the organization.

Automations

Zapier-lite, native

When-this-then-that inside your product: record changes, inbound webhooks, cron ticks and meter thresholds trigger emails, signed webhooks, agent runs or tasks.

Background agents

AI that acts

Scheduled AI agents that act on the tenant's data — weekly summaries, task triage, anomaly watch — journaled so failed runs replay instead of vanish.

Usage-based billing

Meters → invoices

From meter to invoice: immutable usage events, hourly window close, a push to your billing provider, and quotas that warn at 80 percent and block at 100.

Notifications

Bell + digests

An in-app notification center with a live unread badge, per-user preferences, muted types, and daily or weekly email digests.

Global search

Cmd+K everything

One command palette over projects, tasks, documents, products and members, always scoped to the organization you are in.

saaszero CLI

add / remove modules

A written specification for module add and remove tooling: the removability contract, module manifests and marked regions, with notifications and search as the pilot scope.

API keys

Programmatic access

Customer-facing API tokens: generated once, stored only as digests, scoped to an organization and rate limited per key.

Outbound webhooks

HMAC + retries

Let customers subscribe to your events: signed deliveries, retries with backoff, and dead-letters that stay visible with their last status code.

Account security

Recovery & sessions

Password reset and recovery flows plus session review, with credential material living only in the identity layer, never in product tables.

Helpdesk

Example app · support queue

A complete support desk assembled from shipped modules: SLA timers, transactional replies, notifications, search and an audit trail. Three new tables, no new infrastructure.

CRM

Example app · deal pipeline

A complete deal pipeline assembled from shipped modules: a reactive board, bulk stage moves that fire automations, a live table and a computed forecast. Four new tables, no new infrastructure.

Authentication

Passwords, passkeys, MFA, OTP, OAuth, and session management—already wired

Better Auth handles credentials, sessions, MFA, and passkeys. SaaSZero adds the bridge that hands the verified session to your Convex functions, so an authenticated query works on the first run. Each method is its own page and component, so you can delete the ones you do not want.

Email and password

Sign up, sign in, reset, and verify, with a password step-up for sensitive writes.

Passkeys

WebAuthn registration, listing, and deletion. Sign in with face or fingerprint.

Two-factor (MFA)

TOTP authenticator enrollment plus backup codes, with a dedicated challenge route.

Magic link

One-click email sign-in that runs through the same transactional email queue.

Email OTP

Short-lived numeric sign-in codes delivered by email.

Phone OTP

SMS verification codes, gated behind an environment flag.

Social OAuth

Google and GitHub out of the box, plus a generic provider for any custom IdP.

Google One Tap

Returning users sign in from Google’s One Tap prompt when it is enabled.

Multi-session

Several accounts signed in at once, with per-device session management.

Anonymous sessions

Let people try the product as a guest, then upgrade the session on sign-up.

Username

Optional handles alongside email identity.

Last login method

Remember how someone signed in last time and hint it on the form.

Sign in with Ethereum

Wallet-based sign-in via SIWE for crypto-native products.

Admin plugin

List, promote, ban, and impersonate users from the platform admin.

Account security

Recovery flows, active session review, and connected account management.

Recipe

Firebase bridge

Keep Firebase as the identity source and exchange it for a Better Auth session.

Recipe

Referral codes

Invite, attribute, and reward. Built on top of the invitation flow.

Multi tenancy

Tenant isolation enforced in every public function

Better Auth owns organizations, members, and invitations. SaaSZero owns the resources keyed by organizationId. There are no duplicate tenancy tables to drift apart. Every public function validates its arguments, authenticates the caller, then authorizes a typed permission against the stored key, never the one the browser sent.

Organizations and teams

Personal and team organizations, with an active organization per session.

Roles and permissions

Owner, admin, and member out of the box, with typed permissions you can extend.

Invitations

Invite by email, accept through a dedicated route, and manage pending invites.

Audit trail

Every panel mutation is recorded and searchable behind a password step-up.

API keys

Scoped programmatic access for your customers' own integrations.

Outbound webhooks

HMAC-signed delivery with retries, so customers can react to your events.

Tenancy test suite

convex-test cases that assert cross-organization reads and writes are refused.

Platform admin

Overview, user projection, audit explorer, and integration labs.

Feature overrides

Flip a capability for one organization without shipping a deploy.

Convex backend

Queues, retries, rate limits, migrations, and workflows—already wired

Queues, retries, rate limits, migrations, and durable workflows are the parts of a SaaS that take months to get right and never make the demo. SaaSZero wires the official Convex components for all of them and adds the policy and UI on top.

Durable workflows

Journalled, replayable multi-step jobs that survive a deploy. Includes a working export run.

Workpool

Bounded background queues so a burst of work cannot starve your interactive traffic.

Action retrier

Exponential backoff for flaky third-party calls, without hand-rolled retry loops.

Rate limiter

Token bucket and fixed window limits applied at the function boundary.

Migrations

Stateful, resumable backfills with progress tracking and zero downtime.

Aggregates

Maintained counts and rollups that stay correct without scanning the table.

Private file storage

Convex File Storage with authenticated URL generation. An R2 recipe is included.

Collaborative documents

ProseMirror operational-transform sync for real multiplayer editing.

Presence

Who is online and where, without a second realtime service.

Global search

A command palette wired to indexed search across your resources.

Notifications

In-app bell feed plus scheduled digest emails.

Feature flags

Product defaults, rollout percentages, and per-organization overrides. Decisions carry a reason.

Money

Billing, however you sell

Polar ships as a Convex component with entitlements wired into the feature policy. Stripe, Paddle, and Lemon Squeezy each get a full implementation recipe. Usage meters roll up into invoices, so metered pricing is not a rewrite.

PolarComponent
Stripe SubscriptionsRecipe
Stripe ConnectRecipe
PaddleRecipe
Lemon SqueezyRecipe

Entitlements

A billing snapshot feeds the same feature policy that gates the rest of the product.

Usage metering

Per-user and aggregate meters that count once, even when an action retries.

Usage-based billing

Roll meters into billable periods and hand them to your provider.

Debug default

A clean clone returns a debug entitlement snapshot, so nothing breaks without keys.

Working examples

Read the pattern, then copy it

Every module page pairs a live demo with the implementation recipe behind it. These are not screenshots of something that used to work. Sign up, run the seed, and click through all of them.

Projects and tasks

The reference realtime domain. Statuses, priorities, search, limits, and rate limits.

AI agent and chat

Streaming chat on the Convex Agent component, with retrieval over your own documents.

Background agents

AI that proposes an action, then applies it once you approve. Token budgeted and shape pinned.

Automations

A native Zapier-lite. Trigger on your own mutations and chain steps.

TanStack tables

A twelve-row product catalog with sorting, search, and server-side filtering.

TanStack forms

Validated create and edit flows wired to Convex mutations.

Collaborative docs

Multiplayer ProseMirror editing with presence, seeded with sample documents.

Component labs

Prove each integration live, with a definition of done for every provider.

Module removability

Documented removal paths and a removability contract, so deleting what you do not need is safe.

173 implementation recipes

Step-by-step guides for seat limits, dunning, hardened webhooks, retries, and more

A recipe is not a doc page. Each one names an outcome, the hard part it handles, the files it touches, and the ordered steps to get there. When you hit seat limits, dunning, SSRF hardening on outbound webhooks, or exactly-once external effects, there is already a recipe for it.

Why Convex

The backend that deletes your sync layer.

Most starter kits hand you a database and leave the hard half to you: cache invalidation, socket plumbing, API routes that drift from their types. Convex removes that category of work rather than organising it.

  • Queries are subscriptions

    Components re-render when the data changes. No polling, no sockets, no manual cache invalidation.

  • Functions are the API

    Write TypeScript handlers. Arguments are validated at runtime and the types flow to the client. No REST routes, no OpenAPI drift.

  • Components are sub-backends

    Auth, rate limiting, workflows, and email are isolated packages with their own tables. Compose them rather than rebuild them.

  • ACID without the ORM

    Transactional mutations with document-level isolation. Indexes are explicit and the schema is enforced at rest.

The stack

Convex and Better Auth at the core; email, analytics, errors, files, and billing behind adapters

A clean clone runs with no vendor keys at all. Without vendor keys, email renders locally, analytics stays in a redacted debug log, and errors go to the console. Set a key and the production adapter takes over behind the same interface.

Next.js 16
React 19
Convex
Better Auth 1.6
TypeScript strict
Tailwind CSS v4
shadcn/ui sources
Vitest and Playwright

Optional providers

ResendEmail
PostHogAnalytics
SentryErrors
Convex File StorageDefault
Cloudflare R2Recipe
VercelHosting

How SaaSZero enforces authorization, retries failed work, keeps realtime in Convex, and isolates provider integrations.

Secure by Default

Every public Convex function validates its arguments, authenticates the caller, then authorizes a typed permission against the stored organizationId. UI checks are treated as UX, never as authorization.

Survives Failure

Third parties time out and deploys land mid-job. Workflows journal each step and replay, retries back off, pools stay bounded, and effects fire exactly once. Timed-out calls and mid-job deploys do not strand work or duplicate effects.

Realtime, No Second Service

Live queries, presence, and collaborative editing come from Convex itself. There is no socket tier to run, no Redis to babysit, and no cache to invalidate by hand.

Swappable at the Edges

Email, analytics, errors, files, and billing each sit behind one interface. A clean clone runs with no vendor keys, and the CLI removes a whole module without leaving dead imports.

Pricing

One payment. The whole codebase.

No seats, no subscription, no usage tier. You buy the source and it stays yours.

$249AUD

  • Full source, yours to edit and own
  • All 60 modules, nothing locked
  • 173 implementation recipes
  • Private GitHub repository access
  • Lifetime updates, no renewal
  • Unlimited projects, commercial use
  • Client and freelance work allowed
  • Support on the template codebase
Coming Soon

Pay once. You are invited to the private repository straight after checkout.

Not sure yet? Ask first.

Because you get the complete source on purchase, there are no refunds. So it is worth being certain before you buy, not after. Email me for a product walkthrough or architecture questions; I will also tell you if SaaSZero is a poor fit for your project.

sales@unitbuddy.com.au

Licence, in one line

Use it for your own products and for client work, on as many projects as you like. You may not resell it or publish the source.

Read the licence

Two packs

One pack today. Enterprise on the way.

Professional combines the SaaS foundation and operations consoles that were previously sold separately. Enterprise adds SSO, SCIM and audit exports on top, and is coming soon.

this page

Professional

The SaaS foundation and operations consoles, together in one pack.

$249

AUD once

In every pack

  • Full source, yours to keep
  • All 60 base modules
  • 173 implementation recipes
  • Lifetime updates, no renewal
  • Unlimited projects, commercial use

Operations consoles

  • 14 day dunning window
  • Email delivery log
  • Broadcasts with preview
  • Stuck signup cohorts
  • GDPR export and erasure

Enterprise · not included

  • OIDC and SAML sign-on
  • SCIM users and groups
  • Append-only audit trail
  • Delegated admin portal

Enterprise

Professional plus SSO, SCIM, audit exports, and delegated administration. Coming soon.

Coming soon

In every pack

  • Full source, yours to keep
  • All 60 base modules
  • 173 implementation recipes
  • Lifetime updates, no renewal
  • Unlimited projects, commercial use

Operations consoles

  • 14 day dunning window
  • Email delivery log
  • Broadcasts with preview
  • Stuck signup cohorts
  • GDPR export and erasure

Enterprise

  • OIDC and SAML sign-on
  • SCIM users and groups
  • Append-only audit trail
  • Delegated admin portal

One payment. Lifetime updates. Unlimited projects. All prices in AUD.

Questions before you buy?

For anything not covered below, email .

You are running locally in about five minutes and can be deployed to a live URL the same day, because the Vercel path is certified and takes six documented steps. What nobody can honestly promise you is a launch date, since that depends on the product you are building, not the foundation under it. What SaaSZero removes is the roughly twenty weeks of foundation work before your first real feature: auth and tenancy, feature gates and admin, workflows and files and email, billing and usage metering, then AI and automations. That part is already merged, tested, and documented.
Next.js 16 with React 19 on the front, Convex for the realtime database and server functions, and Better Auth for identity. Tailwind CSS v4 with owned shadcn/ui sources for the UI. Convex components handle the email queue, rate limits, workflows, migrations, and aggregates. Optional providers are Resend for email, PostHog for analytics, Sentry for errors, and Polar or Stripe for billing.
Convex gives you realtime subscriptions, transactional server functions, file storage, and scheduled work in one place, with end to end types and no migration scripts to babysit. SaaSZero pairs it with Better Auth so tenancy and identity are not your problem either. If you want SQL, this is not the kit for you.
A step-by-step guide for one real outcome, such as seat-limited teams, dunning and failed payment recovery, or hardening an outbound webhook against SSRF. Each recipe names the hard part it handles, the files it touches, and the ordered steps. There are 173 of them across 60 modules, and they are versioned with the code rather than written once and left to rot.
It runs. A clean clone starts with no vendor keys at all, and you can click the whole thing end to end: sign up, create an organization, invite a teammate, upload a private file, flip a feature flag, and watch the audit trail record it.
Better Auth owns credentials, sessions, MFA, passkeys, organizations, members, and invitations. SaaSZero owns the user projection, the product resources keyed by organizationId, the feature policy, and the audit trail. There are no duplicate tenancy tables. Every function re-authorizes against the stored organizationId, so an active organization ID from the client is context only, never permission.
Typescript throughout, in strict mode, including noUncheckedIndexedAccess. Run npm run verify to check doctor, types, lint, unit tests, and the production build in one command.
You get every update and release pushed to the repository, with no renewal. You can also raise issues and feature requests on GitHub.
You receive a license key. Activate it with your GitHub username and you are invited to the private repository. Clone it, run npm install, point it at a Convex deployment, and you are running locally in a few minutes.
Yes, for as many of your own and your clients' projects as you like. That is what it is for.
No. Publishing the source would break the license, since the codebase is the product.
No. Please read the license for the details.
No. You get the complete codebase on purchase and there is no way to verify it has not been used. If you have doubts, get in touch before you buy and I will walk you through the product in full so you can decide.
Yes, for anything related to the template codebase itself. I cannot help with your own business logic or with customizations you have made on top.
first sign-up = superAdmin

Start with the SaaS foundation and operations layer already written.

Clone the repo, build the product logic only you can write, and launch with auth, tenancy, billing, admin, dunning, email delivery, and GDPR tooling already in place.

One payment. Lifetime updates. Unlimited projects.