My Lab Runs on $50 a Month. Here's Every Penny and the Rule That Keeps It That Way.
Photo: receipts and calculator on desk next to laptop, personal finance budgeting, via thumbs.dreamstime.com
Nobody talks about the cost of curiosity. We'll happily write ten-thousand-word posts about our homelab setups, then get weirdly vague when someone asks what it all costs to run. So let's do the uncomfortable thing: a full itemized accounting of what my lab costs to operate every month, and the rule I use to keep it from metastasizing.
The headline number is $50/month and 10 hours/week. Not because it's a magic number, but because it's the number that doesn't require a conversation with my spouse. Your number might be different. The system works with any budget.
The line items
Here's the actual ledger, averaged over the last six months:
- Hosting (VPS + a couple of free-tier apps): $12. A modest Hetzner box runs most experiments, plus the lab site itself.
- Domains: ~$4/month amortized. I own nine. I use four. This is my most embarrassing line item and I refuse to fix it.
- API credits (OpenAI, Anthropic, various): $18, capped hard. This is the line item that will eat you alive if you let it. Every experiment gets a spending cap in code, not in intentions.
- Hardware amortization: $8. A Raspberry Pi 5, a used mini PC, some SSDs and cables. I divide the purchase price over an assumed 24-month life so each gadget "bills" me monthly. Sounds fussy. It keeps me honest about whether the gadget was worth it.
- Tooling and misc: $8. Monitoring, a backup service, the occasional SaaS subscription I forgot to cancel and then remember with a jolt.
Total: right around $50. Some months it's $38 when nothing new launches. The month I bought the mini PC it spiked to $90 — amortized, that pain arrives over two years instead of all at once, which is exactly the point.
The 10 hours is the real budget, though. Money is renewable. Weeknight energy is not.
The rule: every experiment pays rent
Here's the opinion part. I treat my lab like a micro-business, which means every running project has to pay rent in one of three currencies:
Learning. The project taught me something transferable — a new database, a networking concept, how Kubernetes actually behaves when it's angry. Learning has real dollar value; it's why my day rate went up.
Utility. Something I or someone else actually uses. My webhook debugger costs about $0.40/month to run and saves me twenty minutes when things break. That's a roaring success, not a small one.
Optionality. It might become a product, a talk, or a portfolio piece. This is the sneakiest category because it's where dead projects go to rationalize. I cap optionality-justified projects at two running at any time.
If a project pays in none of these currencies, it gets killed. Not paused — killed. Exported, documented in a postmortem, shut down. This is the "kill the $0.02/month projects" principle, and it sounds absurd until you realize the cost was never the two cents. It was the background guilt, the dashboard noise, the login you maintain for a service nobody uses.
The $40/month project and why I keep it
By this logic, my most expensive experiment — a home dashboard pulling data from a dozen sources, running 24/7 on the mini PC with real storage costs — shouldn't survive. It's not a product. Nobody else uses it.
But it pays rent in learning and utility, and it's the project interviewers ask about most. It also taught me more about observability than any course I've taken. Forty dollars a month for that is a bargain compared to the $400 bootcamp I took in 2022 and mostly forgot.
The point of the budget isn't austerity. It's that spending should be a decision, not an accumulation. The default state of any project should be dead, and keeping it alive should require an argument — one you make to yourself, out loud, with numbers.
Try this on your own lab
If you run experiments of any kind, do this for one month:
- List every recurring charge your projects cause. Include the forgotten ones.
- Amortize your hardware over 24 months. Feel something.
- Assign each running project a rent-paying currency: learning, utility, or optionality.
- Kill anything that pays in none. Write the postmortem — it's the most valuable deliverable the project ever produced.
Curiosity is worth funding. Unexamined curiosity is just a subscription you forgot about.