Comparison
SvelteKit Starter Comparison: VerdantStack vs CMSaasStarter
Two popular SvelteKit starters for B2B SaaS. Different approaches, different strengths. Here's an honest comparison to help you choose.
At a glance
VerdantStack
- • SQLite (zero dependencies)
- • Full RBAC (owner > admin > member)
- • Seat-based billing adapter
- • Append-only audit log
- • 77 tests
- • $79–$129
CMSaasStarter
- • PostgreSQL (via Supabase)
- • Basic organizations
- • No RBAC
- • No billing integration
- • No audit log
- • Free (MIT)
Feature comparison
Authentication
Different approaches — we use SQLite + custom auth; they use Supabase managed auth
Multi-tenancy
Our kit has full RBAC (owner > admin > member); theirs is simpler
RBAC
We include RBAC; theirs does not
Seat billing
We include billing integration; theirs does not
Audit log
We include audit logging; theirs does not
Rate limiting
We include rate limiting; theirs does not
Database
SQLite for zero-dependency; Supabase for managed infrastructure
Realtime
Supabase has realtime built-in; we focus on the SaaS foundation
Tests
We have comprehensive test coverage
Price
We charge for production-ready features; theirs is free
When to choose which
Choose VerdantStack if you need:
- • Multi-tenancy with role-based access control
- • Seat-based billing integration
- • Audit logging for compliance
- • Zero external dependencies (SQLite)
- • Comprehensive test coverage
- • Production-ready foundation, not just a demo
Choose CMSaasStarter if you need:
- • Free, open-source starting point
- • Supabase managed infrastructure
- • Realtime features out of the box
- • Simple organization model (no RBAC needed)
- • Quick prototype, not production deployment
- • Supabase Auth integration
Architecture differences
VerdantStack uses a layered architecture: Routes → Services → RBAC/Billing → Database. Services are framework-free (no SvelteKit imports), making them testable with in-memory SQLite. The BillingAdapter seam lets you plug in any merchant-of-record (Lemon Squeezy, Paddle, Stripe) without changing domain logic.
CMSaasStarter uses Supabase as the backend: Auth, database, and realtime are all managed by Supabase. This simplifies infrastructure but couples you to Supabase's ecosystem. RLS policies scope data per user, though CMSaasStarter does not ship a tenants abstraction — that's yours to build.
Key difference: VerdantStack is a self-contained starter you can deploy anywhere Node runs (Vercel, your own server) — it needs a writable filesystem for its SQLite database. CMSaasStarter requires Supabase infrastructure.
The honest truth
- CMSaasStarter is free and has 2,357 stars — it's popular for a reason.
- VerdantStack costs money because it includes features CMSaasStarter doesn't.
- If you need RBAC, billing, and audit logging, you'll build them yourself on CMSaasStarter.
- If you don't need those features, CMSaasStarter is a great starting point.
- Both are SvelteKit. Both are TypeScript. Both are well-maintained.
Get in touch
Questions about the product, team licenses, or anything else? We'll respond within 48 hours.
Related reading
- Multi-Tenant SvelteKit Starter — the product compared here
- SvelteKit vs Next.js for SaaS — framework comparison
- Best SvelteKit SaaS Starters 2026 — compare all starter kits
- All documentation — guides, deep dives, and evaluations