What Is Vercel?
Vercel is a cloud platform for deploying frontend applications. It's the company behind Next.js, and it's built to make deploying web projects as simple as pushing to Git.
We've been deploying client sites to Vercel for over a year now — marketing sites, blogs, client portals, and full Next.js applications with server-side rendering and API routes. Every frontend project we ship runs on it, including this site. Here's what we've learned, including where it's cost us money we didn't expect to spend.
What Works Well
Zero-Config Deployments
Push to GitHub, and your site is live. Vercel auto-detects your framework (React, Next.js, Vite, etc.) and configures the build. We've never had to write a Dockerfile or fiddle with server configs — not once, across dozens of deployments.
Preview Deployments
Every pull request gets its own preview URL automatically. This is the single most valuable feature for client work: we send clients a preview link and they review changes on a real URL before anything goes live. No staging server to maintain, no "works on my machine" conversations. When a client replies "looks great," we merge and it's in production two minutes later.
Speed
Vercel's edge network is fast. Our sites consistently score 90+ on Lighthouse performance. Static assets are cached at the edge globally, and serverless functions spin up quickly. For marketing sites where load speed directly affects conversion (and SEO), this is a real business advantage, not just a vanity metric.
The Free Tier
For freelancers and small teams, the Hobby plan is genuinely usable. You get unlimited static sites, generous bandwidth, and serverless functions. We ran our first several client sites on it before upgrading, and for a personal project or portfolio it may be all you ever need.
First-Class Next.js Support
This one's obvious — Vercel makes Next.js — but it matters in practice. New Next.js features work on Vercel on day one. Incremental Static Regeneration, middleware, image optimization, and server components all work exactly as documented. If your stack is Next.js, the platform never fights you.
Environment Variables and Team Workflow
Environment variables are scoped per environment (production, preview, development) with a clean UI, and you can pull them locally with vercel env pull. Domains, redirects, and headers are all managed either in the dashboard or in config files that live in the repo. It's the kind of tooling you stop noticing because it never breaks.
What Could Be Better
Usage-Based Costs Can Spike Without Warning
This is the one that bit us. Vercel's Pro plan is $20/month per team member with a bundle of included usage — but everything past that bundle is metered: bandwidth, function invocations, image optimization, and build resources.
Our own wake-up call was the build machine setting. We had a project quietly set to the larger "turbo" build machine tier, and a stretch of frequent deploys burned through our included usage credits far faster than expected. Switching back to the standard build machine fixed it — but nothing in the deploy flow warns you that the faster machine is eating credits at a multiple of the normal rate. Audit your project settings before you ship often.
The lesson: Vercel is cheap until it isn't, and the line between the two is buried in per-project settings and usage dashboards most people never open.
Vendor Lock-In with Next.js Features
Some Next.js features (like ISR and middleware) work best — or only — on Vercel. Self-hosting Next.js is possible, and the situation has improved, but if you build around Vercel-optimized features, migrating to another host later means re-testing everything and possibly losing functionality. Go in with your eyes open.
Build Minutes and Concurrency
The free tier has limited build capacity, and only one build runs at a time. If you're deploying frequently across multiple projects, you'll hit the ceiling — we've had months where we needed to be strategic about when we deployed. Pro loosens this, but heavy monorepo setups can still queue.
Not Built for Persistent Backends
Vercel's compute is serverless. There's no long-running process, no WebSocket server you manage, no place to run a queue worker. Vercel has managed database offerings and integrations, but if your app is backend-heavy — persistent connections, background jobs, heavy cron work — you'll be happier pairing Vercel with a backend host. That's exactly what we do (more below).
Vercel vs. the Alternatives
Vercel vs. Netlify
The closest head-to-head. Both offer Git-based deploys, previews, and edge networks. Netlify's build plugins and forms are nice; Vercel's Next.js integration is unmatched. If you're building Next.js, choose Vercel and don't look back. If you're on another framework, it's close enough to come down to pricing details and personal preference.
Vercel vs. Railway
Different jobs. Vercel excels at frontends and serverless; Railway excels at persistent backends, databases, and multi-service architectures. We use both together constantly: frontend on Vercel, API and Postgres on Railway. They complement rather than compete.
Vercel vs. Cloudflare Pages
Cloudflare's pricing is aggressively cheap, and Workers are powerful if you're comfortable with their runtime. But the developer experience is rougher, and Next.js support involves more caveats. Choose Cloudflare when bandwidth costs dominate; choose Vercel when shipping speed dominates.
Vercel vs. a VPS
A $6/month VPS is cheaper on paper and infinitely more flexible. It's also a part-time job: patching, TLS certificates, deploy scripts, monitoring. For client work, the hours Vercel saves us pay for itself many times over. We stopped having DevOps conversations with clients entirely, and that alone is worth the bill.
Who Should Use It
Great for:
- Next.js applications of any size
- Marketing sites, blogs, and portfolios where performance and SEO matter
- Client work — preview deployments make review cycles painless
- Frontend-focused teams who don't want to think about infrastructure
- Projects that pair a fast frontend with a separate backend host
Less ideal for:
- Backend-heavy apps with persistent processes or WebSockets (use Railway or Fly.io)
- Bandwidth-heavy media sites where metered transfer gets expensive (look at Cloudflare)
- Teams that need many seats — per-member pricing adds up fast
- Anyone unwilling to keep an eye on usage-based billing
Our Workflow With Vercel
Here's how a typical client site ships:
- Connect the GitHub repo — Vercel auto-detects Next.js and configures the build
- Set environment variables — scoped to production and preview
- Open a PR per change — client reviews the preview URL
- Merge to main — production deploy in about two minutes
- Point the client's domain — DNS + automatic TLS, done
- Check the usage dashboard monthly — and keep build machines on the standard tier
Total setup time for a new project: under ten minutes.
What It Actually Costs Us
For context, across our client work:
- Hobby (free): fine for a portfolio, a side project, or a site with modest traffic
- Pro: $20/month per member, with included usage that covers a typical small-business site comfortably
- The gotchas: image optimization on image-heavy sites, bandwidth on media-heavy sites, and build machine tiers — the three places we've seen bills jump
A standard small-business marketing site on Pro costs us the base seat fee and rarely anything more. The spikes we've had were self-inflicted (see: turbo build machines) and fixable in settings.
Bottom Line
Vercel is where we deploy every frontend, and after a year of client work we haven't found a reason to move. The Git-push-to-deploy workflow has saved us hundreds of hours of DevOps work we'd rather spend building, and preview deployments have quietly become part of how we communicate with clients.
It's not the cheapest option at scale, and the usage-based billing deserves more attention than most teams give it. But for freelancers, studios, and small teams shipping frontend-focused work — especially Next.js — it's still the best tool for the job.