"Should I deploy my SaaS on Cloudflare, Vercel or Supabase?"
The three overlap but lean differently — Cloudflare is "compute + edge + database in one shop," Vercel is "the best Next.js runtime," Supabase is "Firebase alternative / Postgres-as-a-Service."
Here's the EasyStarter team's take from the angle of an indie developer shipping global SaaS.
TL;DR
- Lowest cost: Cloudflare (early SaaS can genuinely run at $0/month for months)
- Best DX: Vercel (
git pushand forget) - Easiest database experience: Supabase (Postgres + Auth + Realtime + Storage)
- Most stable in mainland China: Cloudflare (the other two are inconsistent)
1. Pricing model
Cloudflare Workers
- Free: 100k requests/day, 10ms CPU/request
- Paid: $5/month for 10M requests, $0.30 per extra million
- D1: 5GB storage + 5M reads + 100k writes (free)
- R2: 10GB free, $0 egress
- Defining trait: per-request pricing + zero egress fees
Vercel
- Hobby: free, personal non-commercial only
- Pro: $20/user/month (every collaborator adds another $20)
- Function execution: 1M GB-Hours
- Bandwidth: 1TB included
- Defining trait: usage-based above limits; bills can jump an order of magnitude when moving Pro → Enterprise
Supabase
- Free: 500MB DB, 1GB storage, 50k MAU
- Pro: from $25/month, 8GB DB, 100GB bandwidth
- Defining trait: per-project pricing; free projects pause after 7 days of inactivity (a real footgun)
2. Real monthly cost — 10k MAU SaaS
Assumptions: 50k API requests/day, 500MB database, 20GB static assets, 100GB monthly bandwidth.
| Platform | Compute | Database | Bandwidth/Storage | Total |
|---|---|---|---|---|
| Cloudflare | Workers Free | D1 Free | R2 Free | $0 |
| Vercel | Pro $20 | External (e.g. Neon $0-19) | 1TB included | $20-40 |
| Supabase | Edge Functions Free | Supabase Pro $25 | 100GB included | $25 |
Note: Vercel + Supabase together is a common combo — that's $45+/month. Cloudflare alone covers everything for $0.
3. Cold start latency
| Platform | Cold start P50 | Cold start P95 | Notes |
|---|---|---|---|
| Cloudflare | < 5 ms | < 20 ms | V8 isolate, effectively none |
| Vercel Edge | 50-150 ms | 300-500 ms | Edge runtime |
| Vercel Node | 300-800 ms | 1-3 s | Lambda cold starts |
| Supabase Edge | 50-200 ms | 400-800 ms | Deno Deploy-style |
For low-traffic SaaS (< 1 request/minute) cold start directly hits the first-byte experience. Cloudflare's V8 isolate model effectively has no cold start — clean win.
4. Mainland China access
| Platform | CDN nodes | China P50 latency | China availability |
|---|---|---|---|
| Cloudflare | HK / Japan | 80-150 ms | Stable |
| Vercel | HK / Singapore | 150-400 ms | Frequently blocked |
| Supabase | AWS Singapore | 200-500 ms | Frequently times out |
Vercel's *.vercel.app subdomains are very unreliable inside China — you must bind a custom domain + own CDN before launching. Supabase on AWS is basically unreachable from China. Cloudflare is the most reliable of the three, especially after the 2024 mainland routing changes.
5. Database options
| Platform | Default DB | Type | Relational | Realtime | Full-text |
|---|---|---|---|---|---|
| Cloudflare | D1 | SQLite | Yes | No | FTS5 |
| Cloudflare | Hyperdrive | Any PG | Yes | Depends | Yes |
| Vercel | External | - | - | - | - |
| Supabase | Postgres | Postgres | Yes | Yes | Yes |
If you want one-stop "Realtime + Storage + Auth," Supabase is the fastest onramp. If you want to squeeze cost and performance, Cloudflare D1 (or external PG via Hyperdrive) is the better fit.
6. Lock-in risk
| Framework lock-in | Platform lock-in | Data exit difficulty | |
|---|---|---|---|
| Cloudflare | Medium (Workers API) | Medium | D1 → SQLite dump trivial |
| Vercel | Strong (Next.js + SDK) | Strong | Depends on external DB |
| Supabase | Weak (standard Postgres) | Medium | pg_dump trivial |
Vercel has the strongest lock-in — Next.js + Vercel SDK + Edge Config makes a port to Cloudflare a major rewrite. Supabase has the weakest, because it's vanilla Postgres underneath.
7. Three canonical architectures
A) Pure Cloudflare (EasyStarter default)
TanStack Start → Cloudflare Workers
↓
Cloudflare D1 (Drizzle)
↓
R2 / KV / QueuesCost: $0/month entry, capped at $5/month under 100k MAU. Best for: indie devs shipping global SaaS at minimum cost.
B) Vercel + external services
Next.js → Vercel
↓
Neon Postgres / PlanetScale
↓
AWS S3 / Vercel BlobCost: $20-50/month entry. Best for: existing Next.js teams, multiple collaborators, indifferent to $20-50/mo.
C) Supabase one-stop
Any frontend → Vercel / Netlify / anywhere
↓
Supabase (DB + Auth + Storage + Realtime)Cost: $25-50/month entry. Best for: Realtime collaboration features, minimum backend code.
8. How to choose, by question
- Lowest monthly cost → Cloudflare (the other two start at $20+)
- Realtime collaboration (multi-user docs, etc.) → Supabase
- Must use Next.js App Router + RSC → Vercel
- Users in mainland China → Cloudflare
- Team doesn't want to learn new tools,
git pushand done → Vercel - AI / Agent / long-running jobs → Cloudflare Durable Objects + Queues
9. Is "edge" a gimmick?
All three sell "edge compute" but the differences are real:
- Cloudflare is edge-native — your code literally runs in the data center nearest the user
- Vercel Edge is a constrained subset of Next.js middleware / edge runtime
- Supabase Edge Functions run on Deno Deploy, with far fewer nodes than Cloudflare
For indie developers, the real win of edge is database latency, not compute time — and only Cloudflare puts compute and the database (D1) on the edge.
Closing thought
These three aren't mutually exclusive. Many teams end up with:
- Static + CDN: Cloudflare
- App: Vercel
- DB: Supabase
But for indie developers, fewer pieces is better. EasyStarter bets on "pure Cloudflare" — the goal is for a SaaS to only pay for the domain until it hits 10k MAU.
If you want to see a SaaS that's actually built on Cloudflare, the web deploy docs are the shortest path.
Keep reading
Why EasyStarter Has a Dedicated China Edition — Compared to the Cloudflare Version
Why a Cloudflare-based SaaS template isn't enough for mainland China users. The real, structural advantages of EasyStarter's China edition (Aliyun + ZPay) over the Cloudflare main branch — compliance, payments, latency, data residency.
Next.js or TanStack Start? A Picking Guide for Indie SaaS in 2026
An honest side-by-side of Next.js and TanStack Start on SSR mental model, deployment, Cloudflare compatibility, type safety and ecosystem — with a concrete recommendation for indie SaaS.
Full-stack SaaS Templates Compared in 2026: EasyStarter vs ShipFast vs Makerkit vs Supastarter
An honest side-by-side comparison of four popular SaaS starter templates — stack, pricing, monthly cost, mobile coverage and globalization — so indie hackers can decide in 3 minutes.