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
- All three kits share the same tested core — orgs, invites, RBAC, seat billing, audit log. The difference is the data layer.
- If you are already on Supabase and want managed Auth/RLS/realtime, see the SvelteKit + Supabase Starter ($99 early-bird).
- If you want zero-ops on Cloudflare with SQLite/D1, see the Multi-tenant SvelteKit Starter ($79 early-bird, 204 tests).
- Read the full comparison: Postgres vs Supabase · Drizzle vs Prisma
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).



Pricing, stated plainly
One license, unlimited projects, lifetime updates and lifetime standard support included (async, 48h target), lifetime use of the version you downloaded.
- ✅ 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.
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 situation | Pick | Why |
|---|---|---|
| You will outgrow a single-file DB — pooling, replicas, JSONB, RLS, big data | SvelteKit + 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 box | SvelteKit + Supabase Starter | The same core layered onto Supabase — auth, database, realtime, RLS handled for you. |
| You want zero external services — everything on the Cloudflare edge, cost-free | Multi-tenant SvelteKit Starter | SQLite/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.