Last April I migrated a handful of side projects off Vercel onto a Hetzner CPX31 box. £24/month list, £22 with my long-running customer discount[1]. Twelve months later I have a year of receipts and a year of Toggl entries.
Money
Source: My receipts and bank statements
Total cost over 12 months: £348. The Vercel equivalent (Pro plan plus the database I would have needed) would have been roughly £440. So I saved £92 in cash.
Time
Source: Toggl tracking
I spent 8.2 hours per month on operations. That is 98 hours over the year. At a conservative £40/hour (my freelance rate is higher) that is £3,920 of "time cost" to save £92.
I did not save money. I lost an enormous amount of time and called it a saving.
What is true
The infrastructure cost numbers are real. Hetzner is genuinely cheap. The bandwidth being free was a real advantage.
The boxes were reliable. 99.91% uptime measured externally. Hardware did not fail.
I learned. Caddy, Postgres tuning, systemd, monitoring with Prometheus + Grafana. Genuinely useful skills.
What is also true
Most of my outage debugging would not have happened on Vercel. The 2.8 hours/month on outages is an artefact of running my own stack.
Most of the Postgres upkeep would have been zero on Supabase or Neon.
Most of the deploy script tweaks would have been zero on Vercel.
Where I land
If you charge for your time and your project is more than a hobby, you are not saving money self-hosting. You are spending more on time than you save on infrastructure.
If you are doing it to learn or because you genuinely enjoy it, that is a different equation. The infrastructure is cheap; the operational time is the cost.
I have moved my main projects back to Vercel + Supabase. I keep one Hetzner box for things I want to operate (a Plex server, a couple of bandwidth-heavy proxies, a Nostr relay). The split has felt right for six months.
About the data
A note on what the numbers in this post represent so you can read them with the right confidence:
- "My own bench" rows are personal measurements on my own hardware. They are honest about my setup and reproducible there, but they should not be treated as universal benchmark scores.
- Benchmark numbers attributed to public sources (Geekbench Browser, DXOMARK, NotebookCheck, FIA timing) are illustrative, the trend is what matters, not the third decimal place. Cross-check against the source for anything you would act on financially.
- Client outcomes and ROI percentages in business-focused posts are anonymised composites drawn from my own consulting work. Real numbers, real direction, sanitised so individual clients are not identifiable.
- Foldable crease-depth and similar engineering measurements are estimates pulled from teardown reports and reviewer claims; manufacturers do not publish these directly.
- Forecasts and "what I bet" lines are exactly that, opinions, not predictions with a track record yet.
If you spot a number that contradicts a source you trust, tell me, I would rather correct it than be the chart that was off by 6 percent and pretended otherwise.