The easy choice
sans détourEvery time this discussion comes back it is the same sentence: Vercel is easier. And it is true, I am not going to pretend the contrary. You push, it builds, you get a URL and a preview on every branch, and you configured nothing. For a first project it is perfect, really.
For me Vercel is VS Code. It is what you take when you begin, it does a bit of everything, and nobody can blame you for using it. Then one day you know what you are doing, and you want the tool that fits your work and not the tool that fits everybody. Cloudflare is this moment.
The problem is that people stop the comparison after the first week. Easier to begin and easier to use are not the same question. Once you understand how Cloudflare works you control it exactly like Vercel, and you have things Vercel cannot give you.
What I get
avec aisanceThe first thing is that everything is at the same place. Imagine the app on one side, Supabase for the database, and Upstash only to rate limit two endpoints. Three services, three dashboards, three keys and three bills, for one application that has maybe forty users. On Cloudflare the storage, the KV, the queues, the cache, all of it sits next to the code, and it is lines in the same file.
{
"name": "portfolio",
"compatibility_date": "2026-08-31",
"assets": { "directory": "./out" }
}This site is those four lines. A bucket or a database is a few lines more, in the same file, and I never leave the project to add one. It does not look impressive written like that. It is exactly why I like it.
Then there is the price, and I do not want to write numbers that will be false in six months. Also I am honest, I am not big enough to feel it every month. But the shape is different. Vercel is generous until the project starts to work, and after that it is the bandwidth that hurts. Cloudflare counts requests and not the size of what you send, and R2 has no egress fee at all. When you host small things that sometimes get traffic, this is not a detail.
And the code runs on the network itself, close to the person who asked for it. I am not going to pretend I sit and measure it, but the difference is there and it came for free, I did nothing to deserve it.
What it costs
sans complaisanceIt is not free of effort. Cloudflare asks you to understand where your code runs. wrangler, bindings, what is a Worker and what is only a static file. My first deploy took an evening, half of it on a documentation page for the old version. This is simply true and I am not going to hide it.
And if you do Next.js, Vercel has one real advantage: they are the ones who make Next.js. On Cloudflare you pass by an adapter and you have to know it exists. For this site it changes nothing because everything is static, but I am not going to tell you the opposite is easy.
So no, the first day is not easier. After, you control it like Vercel, it costs less, it is faster, everything is at the same place. The argument of easier only talks about the first day, and I keep my projects longer than one day.