Field Report · Tech Stacks
Vercel vs Cloudflare: The Honest Case for Switching
I want to be fair about this. Vercel is genuinely excellent, and it's where almost everyone ends up first. This is just why I build on Cloudflare instead. Two real reasons, and one anecdote that settled it for me.
The whole thing in one breath
Vercel has the best developer experience and is the easiest first step. It's also the host AI tools reflexively suggest when you say "build me an app." My case for moving: Vercel's usage-based pricing can surprise you when traffic arrives, and its best features are a proprietary, Next.js-centric walled garden. Cloudflare runs about 20% of the web, has a real $0 free tier, gives you the whole network plus a database and storage in one place, and stays flatter at scale.
Let me start where I should: Vercel is great. The developer experience is best-in-class. You connect a git repo, push, and your site is live with preview deploys, automatic HTTPS, and sensible defaults. For a lot of people it is the single easiest way to get a modern app on the internet, and I'd never tell someone they were wrong to start there.
There's a specific reason so many people do start there. When you open an AI tool and say "I want to make an app," it very often reaches for Vercel by default. It's the path of least resistance, the one in all the tutorials. That default is doing a lot of work. It's not that everyone evaluated the options and chose Vercel. It's that Vercel is what the tooling hands you first.
I just don't think it's the right long-term home for most of what I build. Here's the measured case. Not a takedown, just my reasons.
Reason 1: usage-based pricing that can surprise you
Vercel has a free Hobby plan (for non-commercial use) and a Pro plan that starts at $20 per user a month. The base price is fine. The thing to understand is what sits on top of it. Vercel's model is usage-based. You pay for bandwidth, function invocations, edge requests, and image optimization as you consume them. Pro includes a $20 usage credit. Past that, the meters run. Bandwidth at roughly $0.15 a GB over the included tier, edge requests at about $2 per million, and so on.
None of that is unfair. It's a perfectly reasonable way to price infrastructure. But here's the structural concern. It's fine until you get traffic. A quiet site costs almost nothing. A site that has a good week (a launch, a post that travels, an unexpected spike) runs those meters, and the bill is harder to predict than a flat plan. The pricing is structured so that success costs more, and that's exactly the moment a founder least wants a surprise.
⚑ The honest version
I'm not going to quote you a horror-story dollar figure. Those get exaggerated, and they depend entirely on your workload. The fair claim is about structure. A usage-based bill is unpredictable by design. With a flat plan, the cost of going viral is $0. With usage pricing, the cost of going viral is "we'll find out." For a small team, predictable beats cheap-on-paper.
Reason 2: the walled garden
The second reason is lock-in, and it's the one I weigh more heavily. A lot of Vercel's best features are proprietary platform features, and many of them are oriented around Next.js, the framework Vercel makes. Image optimization, edge middleware, incremental static regeneration, their KV and Postgres add-ons. These are excellent, and they're also Vercel's. The more you build on them, the more your app assumes Vercel exists.
Explain like I'm 5 What does 'vendor lock-in' mean?
To be fair, every platform has some of this, Cloudflare included. And lock-in isn't automatically bad. Sometimes a proprietary feature is so good it's worth the trade. But it is a cost, and it's one you pay later, quietly, the day you want to leave. Building on a walled garden means leaving has switching costs. I'd rather keep that cost low from the start.
The case for Cloudflare
Here's why I land on Cloudflare instead. It's not that it's trendy. It's that the fundamentals line up with how I want to build.
- ~20%of the web runs on Cloudflare
- $0free tier · real one
- 100kfree requests / day
- $5/mo if you outgrow free
Three things make the difference:
- A truly generous free tier. $0, roughly 100,000 requests a day, free SSL, and a free custom domain. Most personal and small-business sites never leave it. If you do outgrow it, the next step is a flat $5 a month, not a meter.
- You get the whole network and the primitives in one place. Workers (compute), Pages (sites), D1 (a database), R2 (file storage), and KV (key-value storage), all in one account. Instead of renting slices from a host and then bolting on a database vendor and a storage vendor, it's already there.
- More open, far cheaper at scale. Cloudflare runs roughly a fifth of the entire web on a global edge network, so it's fast and stays up. And because the pricing stays flatter, the day your site gets popular is a good day, not a billing event.
Explain like I'm 10 What are D1, R2, and KV?
◆ The anecdote that settled it
I asked two of the smartest AI engineers I know a simple question. If you had to pick one stack to build almost everything on, what would it be? Both of them, independently, said the same word: Cloudflare. Not because of a feature checklist, but because the whole platform composes. Compute, storage, database, and a network that's already everywhere. When the people closest to the metal converge on one answer, I pay attention.
Vercel vs Cloudflare, side by side
The fair comparison. Vercel wins on first-step polish. Cloudflare wins on cost predictability, openness, and having the whole toolkit in one account.
| What matters | Vercel | Cloudflare |
|---|---|---|
| Free tier | Hobby. Free, but non-commercial use | $0, commercial OK · ~100k req/day, free SSL and domain |
| Pricing model (scale risk) | Usage-based. $20/user/mo plus bandwidth, functions, image meters. Can spike with traffic | Flat. $0, then a flat $5/mo. Stays predictable as traffic grows |
| Lock-in / portability | Higher. Best features are proprietary and Next.js-centric. Leaving has switching costs | Lower. Standards-friendly and portable, though Workers have their own APIs too |
| Network footprint | Strong global edge network | ~20% of the web runs on it, its own global network |
| Built-in primitives (DB / storage / KV) | Available as add-ons or integrations, often metered separately | D1 + R2 + KV in the same account, one platform |
| Best for | Fastest first deploy, teams all-in on Next.js who value DX above all | Predictable cost, the full toolkit in one place, building to last |
Notice what I'm not claiming. That Vercel is bad, or that nobody should use it. If your team lives in Next.js and the developer experience is your top priority, Vercel earns its price. My argument is narrower. For a founder who wants predictable cost, an honest free tier, and one platform that does the whole job, Cloudflare is the better home.
What the bill actually feels like
This is the difference in one picture. It's conceptual, illustrative shapes, not your real invoice, but the shape is the honest part. A flat plan stays flat as traffic grows. A usage-based plan rises with it.
How I'd move a site over
If you're on Vercel and curious, you don't have to guess. The cleanest first move is to have your AI audit what you're actually using. That tells you how much is portable and how much is Vercel-specific before you commit to anything.
Explain like I'm 5 Will my site break if I move it?
I have a site on Vercel. Help me move it to Cloudflare.
1. Audit my project and list what I'm actually using (framework, hosting features, data, storage, images).
2. Flag anything that is Vercel-specific (for example Vercel image optimization, edge middleware, ISR, Vercel KV or Postgres) and tell me the Cloudflare equivalent for each.
3. Give me a step-by-step migration plan in plain English, ordered safest-first, and call out anything that's likely to break so I can decide before we start.
Don't change anything yet. Just give me the plan and the risks.
End by asking me one question: "Which parts of this feel most uncertain — want me to explain them, or should I just build it for you?" For the bigger picture on the stack I land on after a move like this (why Astro for the site itself, how to build the whole thing with AI, and how to measure it with PostHog), the companion pieces go deeper. If you're weighing a move and want a second opinion, reach out. I'm always happy to help.
The bottom line
Vercel is the easy first step, and the default a lot of AI tools hand you. That's a real strength, not a knock. But for what I build, two things tip it. Usage-based pricing that gets less predictable exactly when things go well, and a feature set that quietly assumes you'll stay. Cloudflare gives me a real free tier, the whole toolkit in one account, more openness, and a bill that doesn't punish a good week. That's the honest case, and it's why, when two engineers I trust both said one word, I'd already moved.
▲ The short version
Start on Vercel if you want the smoothest first deploy. Build on Cloudflare if you want predictable cost, the full toolkit in one place, and the freedom to leave. For most founders shipping something to last, that's the better bet.
References
- Cloudflare Workers Pricing and Free Plan Limits · Cloudflare Docs · 2026
- Workers and Pages Pricing: Free, Paid, Enterprise · Cloudflare · 2026
- Vercel Pricing: Hobby, Pro, Enterprise · Vercel · 2026
- Pricing on Vercel: usage, credits, overages · Vercel Docs · 2026
- How to Build and Publish a Website With AI · MaxShip · 2026
- Why I Build on Astro · MaxShip · 2026
- Why I Use PostHog · MaxShip · 2026
- Answer Engine Optimization: Get Cited by ChatGPT · MaxShip · 2026