A free-tier SaaS starter · open source
$0 for 1,000 users is a lie.
Free tiers don’t fail at a user count. They fail at a usage shape. Thirty people using session replays will torch a million-event analytics quota in a week. This starter ships with the replays off, the limits written down, and code that stops the meter before you get billed.
Open source. MIT core. Runs on free tiers until it genuinely can’t.
One email with the full limits table. Nothing after that until the numbers change.
01 / The part nobody publishes
We point at the wall instead of pretending it isn’t there.
We’re tired of “$0 forever” starters that quietly assume you’ll never send an email or store
a file. So we publish the wall up front: every service, its real ceiling, what breaks it first,
and the date we checked. The repo will ship this same list as LIMITS.md, and when
a provider moves the goalposts, the file moves with it. That’s the whole product.
LIMITS.md — repo launching soon · verified 24 Jul 2026 The repo will ship this exact file. When a provider changes, the file changes. | Service | Free ceiling | What breaks it first |
|---|---|---|
| Hosting Cloudflare Pages | Unlimited bandwidth · 500 builds/mo | Build frequency, not traffic — bandwidth is genuinely uncapped. Our default because it allows commercial use. |
| Hosting Vercel Hobby | 100 GB · 1M fn calls/mo | The terms first: Hobby forbids commercial use — a paying SaaS is out of compliance the day Stripe goes live. |
| Auth Supabase | 50,000 MAU | Inactivity, not headcount — free projects pause after 7 days idle, which bites a side project long before 50K users. |
| Database Neon | 0.5 GB / project (~5 GB total) | Raw logs, blobs, or unindexed JSON in Postgres. Relational data fits fine; bulk unstructured data goes in R2. |
| Analytics PostHog | 1M events/mo · 5K replays | Session replays burn the quota fastest — off by default. Flip them on deliberately. |
| Email Resend | 3K/mo · 100/day | The daily cap stops you first. Fine for resets and receipts — not a newsletter. |
| Storage Cloudflare R2 | 10 GB · zero egress | Storage volume, never bandwidth — a traffic spike can't produce a surprise transfer bill. |
Every number re-checked against the provider on the date above. Wrong or stale? It’s a bug.
02 / What you get
One SDK over the whole stack.
You call saas.user.create(); the driver underneath decides which vendor answers.
Outgrow Neon, swap to Turso by changing one environment variable — your app code never finds
out. Same for storage, email, and analytics.
Guardrails that admit what they can’t do.
Middleware throttles what you send — it drops non-critical telemetry and queues non-urgent email as you near a limit.
03 / Who this is for
For anyone who’d rather not pay before there’s traffic.
- You’re validating an idea and don’t want a $120/month stack draining runway before you’ve made a dollar.
- You build client apps and want their infra to cost nothing until they have traffic.
- You’re a student learning production patterns without putting a card on file.
04 / Pricing at launch
Free core is MIT, forever.
The free core covers the essentials. Paid tiers add the parts that are a pain to build:
- Free core — base stack, single tenant, the portable drivers.
- Multi-tenancy & roles — for apps with more than one account.
- Stripe + merchant-of-record — payments, with a tax option.
- An admin panel — manage users and data without touching SQL.
- Agent rules — guardrails for the AI features you bolt on.
Free core
$0
MIT · one project
Base stack, single tenant, portable drivers, LIMITS.md and the guardrails.
Solo
$79/ yr
One project
Multi-tenancy, roles, Stripe + merchant-of-record, admin panel, agent rules.
Agency
$249/ yr
Unlimited projects
Everything in Solo, plus client resale.
We make money when a provider changes their free tier and we keep your drivers working. That’s exactly why we have no reason to lie to you about those tiers today.
Join the waitlist.
Waitlist only, no checkout — we’re measuring intent, not taking your money yet.