Vercel is a wonderful place to start a Next.js app and an increasingly expensive place to keep a small one. The free tier is genuinely generous — until the app grows the things real apps need: a database, scheduled jobs, more bandwidth, maybe a bit more compute. Each is its own line item or a paid plan, and the bill for a hobby project quietly crosses into "wait, I'm paying $40 a month for this?" That's the moment to ask whether a single small VPS does the same job for the price of a coffee.
Where the Vercel bill actually comes from
The platform itself is rarely the whole cost; the add-ons are:
- Database — a managed Postgres add-on with its own monthly price and usage metering.
- Cron / background jobs — scheduled functions, often gated behind a paid tier.
- Bandwidth & function invocations — fine at hobby scale, metered as you grow, with overages.
- Team/pro features you bumped into for one capability.
Stacked, a "free" project becomes a multi-service subscription. (This is the same dynamic Oracle free-tier refugees hit — convenience priced per add-on.)
What a VPS gives you for one flat price
A single small VPS runs the whole shape on one bill:
- The Next.js app itself (built
standaloneand run in Docker, or with a Node process manager). - A Postgres right next to it — no per-add-on metering (just mind database sprawl if you add more apps).
- Cron via the OS, not a paid scheduler.
- Bandwidth within the VPS's generous included transfer, not metered per request.
One predictable monthly number, often less than the database add-on alone cost.
What you take on (be honest)
Self-hosting isn't free of cost — it moves cost to your time:
- Builds and deploys are now yours: a CI step or a pinned-image promotion flow instead of git-push-to-deploy.
- TLS, reverse proxy, and the edge are your job — the things Vercel handled for you in a PaaS-to-VPS migration.
- Uptime and patching are on you. For a small app that's minutes a month; it's not zero.
When to move and when to stay
- Move when the add-ons (database + cron + bandwidth) dominate the bill, the app is small enough to fit a $5–10 VPS, and you're comfortable owning deploys.
- Stay when git-push-deploy and zero-ops are worth the premium, traffic is genuinely spiky (serverless scale-to-zero earns its keep), or it's a throwaway you don't want to operate.
A middle path: keep the static/edge bits where they're cheap and move the stateful parts (database, cron) to the VPS — the hybrid logic of putting each workload where it's cheapest.
Migration sanity checks
- Build Next.js in
standalonemode for a lean container. - Move the database with a real dump, not a file copy.
- Reproduce cron jobs as OS cron / a small scheduler.
- Wire TLS + reverse proxy (and renewal that reloads).
- Benchmark the VPS so it actually handles your traffic.
Takeaway
Vercel earns its price for some apps and outgrows its value for small ones the moment you bolt on a database, cron, and bandwidth. If your app fits a cheap VPS and you'll own the deploys, one flat-rate box replaces a stack of metered add-ons — and the only real cost is the operations you take back. Decide by where your bill comes from, not by platform loyalty.
From across the StoicSoft network
Hand-curated reads on the same topic from sister sites in the StoicSoft family.
Deploy Handbook8 min readSmall self-hosters need a migration preflight before Vercel, colo, or VPS changes become scary
Fresh Reddit threads show two versions of the same deployment anxiety. A freelancer with a simple React/D3 portfolio and Vercel-managed domain wants to leave Vercel but is unsure how risky the provider and domain move will be. A self-hoster with a colocated…
Read on deployhandbook.com
Deploy Handbook7 min readHosted vs Self-Hosted Nextcloud for Small Teams: The Hidden Ops Costs Decide It
Managed Nextcloud's monthly fee looks expensive next to a $10 VPS — until you price the ops the host quietly does for you. A real hosted-vs-self-hosted comparison for small teams.
Read on deployhandbook.com
Deploy Handbook8 min readBest single-dashboard app health for self-hosters who aren't ready for Prometheus
Homelab and VPS users want one calm dashboard for app health — not a full observability stack. Here are the tools that hit the middle layer between SSH and Grafana.
Read on deployhandbook.com
