Search "multi-tenant SaaS boilerplate" and you get two kinds of answer, both with a catch:
- A static template you fork once. It's frozen the day you buy it — you inherit its choices, its bugs, and the job of keeping it current forever.
- A platform that generates and hosts your app. Fast to start, but your runtime, your data, and your bill all live on someone else's terms.
Archiet is a third option: it generates a production multi-tenant SaaS codebase from your spec, and you download and own the source. No fork-and-pray, no per-seat runtime tax.
What "multi-tenant" has to mean in real code
Multi-tenancy is easy to claim and easy to get subtly wrong. A boilerplate is only worth the name if it gets these right out of the box:
- Every query is tenant-scoped. No data access without an
organization_id/workspace_idfilter — so one customer can never read another's rows. This is the bug that ends companies; it cannot be an afterthought. - Auth is shared but isolated. One identity system, hard boundaries between tenants, role-based access inside each.
- Migrations are real. Schema changes ship as versioned migrations, not
db.create_all()— because you will change the schema, repeatedly, in production. - Onboarding creates a tenant cleanly. Signup provisions an organization, an owner, and sane defaults — not a single shared bucket.
Archiet emits all of this as the baseline of a generated app, not as a premium add-on.
Template vs platform vs generated-and-owned
| | Static template | Hosted platform | Archiet (generated + owned) | |---|---|---|---| | You own the source | ✅ | ❌ | ✅ | | Tenant isolation built in | Sometimes | ✅ | ✅ | | Stays current with your spec | ❌ (frozen) | ✅ | ✅ (regenerate) | | Runtime lock-in / per-seat tax | ❌ | ✅ | ❌ | | Real migrations + CI + Docker | Varies | Hidden | ✅ in the ZIP | | Pick your backend stack | ❌ | ❌ | ✅ (9 stacks) |
The owned-and-regenerable column is the one founders actually want: the speed of a platform, the ownership of a template, neither of the catches.
What's in the ZIP
When you generate a multi-tenant app with Archiet, the download includes:
- A production backend (your choice of Flask, FastAPI, Django, NestJS, Laravel, Rails, Spring Boot, Go-chi, or .NET) with tenant-scoped data access.
- A Next.js (or framework-native) frontend, plus an Expo mobile app, with auth, settings, onboarding, forgot-password and email-verification screens already wired.
- Versioned, stack-native migrations (Alembic, Prisma/TypeORM, Artisan, ActiveRecord, Flyway, EF Core — whatever your chosen stack uses), Docker Compose, and CI — the unglamorous parts that decide whether you ship.
- The architecture deliverables (ArchiMate model, ADRs, a headline
ARCHITECTURE.md) so a new engineer can understand why, not just what.
It is a codebase you can push to your own GitHub and deploy anywhere — because it's yours.
Why "you own it" matters more than it sounds
Owning the source isn't ideology — it's leverage. You can be acquired (diligence wants real code, not a platform dependency). You can pass a security review (auditors read your repo, not a vendor's marketing). You can hire any engineer and they're productive on a normal codebase. And you never wake up to a pricing change on infrastructure you can't move.
FAQ
Is the generated multi-tenancy row-level or schema-per-tenant?
Archiet defaults to a shared-schema, tenant-scoped model (an organization_id/workspace_id on every record, enforced in every query) — the pattern that scales for the vast majority of B2B SaaS. The formal model drives it, so it's consistent across the whole app.
Can I regenerate when my data model changes? Yes — update the spec and regenerate. Deterministic generation means the tenant-isolation rules re-apply everywhere, instead of you hand-editing dozens of endpoints.
Do I need to use a specific frontend? No. The web frontend and an Expo mobile app are generated together, and you own both.
Try it on your product
Describe your SaaS and see what a fully-owned, multi-tenant codebase looks like — or start with the free architecture audit to get a consulting-grade read on your current architecture in about 15 seconds.