Product

Ship your multi-tenant B2B SaaS on SvelteKit + Postgres without rebuilding orgs, invites, and billing from scratch.

A production-grade starter with multi-tenancy wired end-to-end on real Postgres: organizations, invitations, role-based access, seat-based billing via a merchant of record, and an append-only audit log. Drizzle ORM + postgres.js. No provider lock-in.

The production-grade SvelteKit + Postgres starter — scales to any team size.

What's inside

  • Organizations & membership

    Create, join, leave; single-use invite links with expiry and atomic claim; ownership transfer.

  • Role-based access control

    Three built-in roles (owner > admin > member) with strict hierarchy — enforced server-side on every request, not just hidden in the UI.

  • Seat-based billing seam

    A BillingAdapter interface with seat limits enforced at join-time. Checkout runs through a merchant of record when live, so you never touch raw card data.

  • Append-only audit log

    Who did what, queryable, export-ready. No update or delete path exists.

  • Real Postgres, no provider lock-in

    Drizzle ORM + postgres.js over any Postgres — Neon, Railway, Supabase-direct, Fly.io, or self-hosted. Connection pooling config + PgBouncer/Supavisor guidance included.

  • Row-level security (opt-in)

    Defense-in-depth RLS policies with a per-request identity pattern — fail-closed at the database level once you adopt the GUC.

Who it's NOT for

  • You want managed Supabase Auth/realtime/storage — this kit is provider-neutral and owns auth itself.
  • You need enterprise SSO/SCIM on day one — this ships app-level tenancy, not identity-provider federation.
  • You want a huge component library — this is a foundation, not a UI kit.

Compare with other VerdantStack starters

The database layer

Unlike a single-file database that hits a ceiling at single-server scale, this starter uses the full Postgres ecosystem: connection pooling (postgres.js pool + PgBouncer/Supavisor guidance), row-level security as opt-in defense-in-depth, and documented add-yourself paths for read replicas,JSONB, and full-text search. The service layer is identical across VerdantStack kits — only the driver changes.

Tenancy is application-enforced by default; rls/0010_rls_policies.sql adds database-level fail-closed hardening once you adopt the per-request identity pattern.

Built for AI coding agents

The kit ships with the context files AI coding agents (Claude Code, Cursor, GitHub Copilot) actually need to work in a codebase the moment they open it.

  • AGENTS.md + CLAUDE.md — architecture decisions, command shortcuts, and "things that will bite you" so an agent starts productive, not fumbling.
  • TypeDoc API reference — generated from the code, a machine-readable spec of every export that cannot silently rot.
  • A public docs portal + llms.txt — deep-dive guides and a site index an agent can retrieve, not just a human can read.

Not a bolt-on: the full agent context lives in the repo from day one.Read the AGENTS.md.

See it in action

Real UI from the live deployed demo — postgres-starter.verdantstack-site.pages.dev (seeded org, resets daily).

Live demo: organizations home after sign-in
Organizations home after sign-in — pick an org, manage members and seats.
RBAC denial: member view has no admin controls; a native POST attempting to promote the owner returns a real 403
RBAC denial — enforced server-side, real HTTP 403.
Live demo: append-only org audit log
Audit log — every event recorded, append-only, export-ready.

Pricing, stated plainly

One license, unlimited projects, lifetime updates and lifetime standard support included (async, 48h target), lifetime use of the version you downloaded.

$129$79early-bird · standard $129 after launch week
  • 194 automated tests against a real Postgres database
  • ✅ Live interactive demo — try before you buy
  • ✅ Full documentation + API reference
  • ✅ AI-agent context files (AGENTS.md, CLAUDE.md, TypeDoc)
  • ✅ Lifetime updates and standard support

Source delivered to buyers. The full kit code is delivered privately to you after purchase — it is not posted publicly. Explore the docs, feature list and proof freely; buy when you want the code.

Buy Now — 79

30-day full refund — no hassle, no questions. If it's not for you, get your money back.

Actively maintained — see the latest release.Read License Agreement

Which database fits you?

All three kits ship the same tested multi-tenant core — orgs, invites, RBAC, seat billing, audit log. They differ only in the data layer. So the only real question is: which database do you already run, or plan to run? Pick by situation, not by feature list.

Do I need to scale past a single server / need Postgres features?

Postgres Starter (vendor-neutral)

Am I already invested in Supabase (auth, storage, realtime)?

Supabase Starter

Do I want a free, managed, edge-native database with zero ops?

Multi-tenant SvelteKit Starter (D1)

Your situationPickWhy
You will outgrow a single-file DB — pooling, replicas, JSONB, RLS, big dataSvelteKit + Postgres Starter(this one)Real Postgres, zero lock-in, Drizzle ORM, opt-in RLS. The vendor-neutral flagship.
You want managed Supabase Auth / realtime / storage APIs and RLS out of the boxSvelteKit + Supabase StarterThe same core layered onto Supabase — auth, database, realtime, RLS handled for you.
You want zero external services — everything on the Cloudflare edge, cost-freeMulti-tenant SvelteKit StarterSQLite/D1 via better-sqlite3 + Drizzle. The zero-ops serverless default.

Not sure? Read the documentation or the multi-tenant starter evaluation checklist. Every kit is a one-time license with lifetime updates and a 30-day refund.

FAQ

Why Postgres instead of SQLite?

The same service layer runs on both. If you will outgrow a single-file database — connection pooling, read replicas, JSONB, full-text search, row-level security — start on Postgres. The kit gives you the real thing from day one.

Is this different from Supabase?

Yes. Supabase is a managed Postgres platform with its own Auth/RLS/Realtime/Storage. This kit is provider-neutral: bring any Postgres connection string and own the whole stack. Both are valid — it depends on whether you want the managed convenience or the lock-in-free control.

How many tests does it ship with?

194 automated tests run against a real Postgres test database (docker-compose provides one), covering auth, RBAC, invites, seat limits, audit, and HTTP-level flows.

What's the update policy?

One license, unlimited projects, lifetime updates and lifetime standard support included (async, 48h target); lifetime use of the version you downloaded. Stated plainly because pricing pages that hide this are worse than useless.

Is there a team license?

One license covers one developer. Building with a team of five or more? Write to us and we'll sort out volume options.

Can't I build this myself or with an AI coding agent?

You can — and the kit includes AGENTS.md, CLAUDE.md, and TypeDoc so your agent starts productive. But the value is in the 194 tests, the edge cases (invite expiry, atomic claims, seat enforcement, audit tamper-proofing), and the plumbing that's invisible until an enterprise pilot asks for it in week one. You're buying a tested foundation, not a code generator.

Dive deeper

Get in touch

Questions about the product, team licenses, or anything else? We'll respond within 48 hours.

Max 2000 characters

Stored in our own database — no third party. Deleted on request.