Everyone’s talking about Supabase, Vercel, Firebase, Replit, and similar services as the go-to stack to launch SaaS apps fast.
I tried them.
They’re sleek and easy to use. But once I started estimating real-world costs for my project, I realized they add up fast, and that’s a problem when you're launching without real users yet.
So I built my SaaS, Odichat, with a different approach — one that costs me $45/month and gives me full control, solid performance, and zero vendor lock-in.
Let me break it down.
The Stack
Here’s what I’m running:
- A production-ready Rails 8 app
- A staging environment for safe deployments
- File storage for user uploads
- Transactional emails
- Background job processing
- Websockets
- Caching
And all of this for $45/month.
The Costs
Here’s the exact monthly breakdown:
- Hetzner dedicated vCPU (production): $13.49
- Hetzner shared vCPU (remote builder): $4.99 (used for asset precompilation and deploys)
- Hetzner shared vCPU (staging): $4.99
- DigitalOcean Spaces (file storage): $5.33
- Zoho Mail (support email inbox): $1
- Postmark (transactional emails): $15
Total: $45.80 USD/month
SQLite3 is my database
I’m using SQLite3 as the database.
Yep, SQLite in production.
It’s free, and for my current load it works perfectly. I haven’t had a single issue that justifies migrating to PostgreSQL (yet).
No Redis. I'm fine.
Rails 8 ships with the “Solid” suite:
- Solid Queue (background jobs)
- Solid Cache
- Solid Cable (Websockets)
It’s a full-featured solution without extra setup or Redis requirements. And it performs great.
Why not serverless?
Because I want:
- Predictable, low costs
- Zero surprises from usage-based pricing
- Infra I understand and can control
- The ability to grow into higher traffic without switching stacks
I’m not anti-serverless. But at this stage, this is the simplest and most sustainable setup I’ve found.
Final thoughts!
It’s not “trendy”.
It’s not “modern”.
But it works AMAZINGLY well, it’s cheap, and it lets me focus on building, not budgeting.
If you’re building a SaaS and want full control without overpaying early on, I highly recommend exploring this kind of setup — especially if you’re using Rails.
Top comments (0)