Auditing My Indie SaaS Subscriptions: 5 Alternatives That Cut $800/Year
TL;DR
Fixed costs for indie dev projects balloon through “subscriptions you signed up for and forgot.” I switched 5 services to free tiers or self-hosted alternatives, cutting ¥10,000/month — ¥120,000/year (roughly $800). The short version:
Before Monthly After Monthly Annual Savings Heroku Hobby (2 dynos + DB) ¥2,800 Fly.io / Railway free tier ¥0 ¥33,600 Vercel Pro ¥3,000 Cloudflare Pages ¥0 ¥36,000 Datadog (1 host) ¥2,300 Grafana Cloud Free ¥0 ¥27,600 Mailgun Foundation ¥1,400 Resend free tier ¥0 ¥16,800 Algolia Build overage ¥500 Meilisearch (self-host) ¥0 ¥6,000At indie-project traffic levels, you’re probably using less than 10% of what paid plans offer. The first step is auditing your usage and checking whether your actual numbers fit inside a free tier.
The Approach: Measure First, Decide Second
Cut decisions should be based on real data, not gut feeling. Start with a billing audit.
# Export each service's plan and recent usage to a spreadsheet
# Example: check request count for the last 30 days from nginx access log
awk '{print $4}' access.log | grep -c "$(date +%d/%b/%Y)"
# → A few thousand requests/day fits comfortably inside almost every SaaS free tier
Enter fullscreen mode Exit fullscreen mode
The key is looking at actual traffic, not peak spikes. Most indie projects fit well within Vercel/Cloudflare free tiers (100k requests/month to unlimited bandwidth).
Step-by-Step Migration
1. Hosting: Heroku → Fly.io
# Deploy to fly.io — existing Dockerfile or buildpacks work as-is
curl -L https://fly.io/install.sh | sh
fly launch # interactively generates fly.toml
fly deploy
fly scale count 1 # 1 instance is enough for indie projects
fly postgres create # small instance, effectively free
Enter fullscreen mode Exit fullscreen mode
The key to cost control: lock to fly scale count 1 and the minimum VM (shared-cpu-1x).
2. Frontend: Vercel Pro → Cloudflare Pages
Unlimited bandwidth, generous build limits, and free equivalents of Pro features (Analytics, etc.) that most indie projects actually need.
npm i -g wrangler
wrangler pages deploy ./dist --project-name my-app
Enter fullscreen mode Exit fullscreen mode
3. Monitoring: Datadog → Grafana Cloud Free
The free plan covers 10k metric series, 50GB logs, and 14-day retention. Works with Prometheus remote_write out of the box.
# prometheus.yml — forward to Grafana Cloud via remote_write
remote_write:
- url: https://prometheus-prod-XX.grafana.net/api/prom/push
basic_auth:
username: "123456"
password: "${GRAFANA_CLOUD_API_KEY}"
Enter fullscreen mode Exit fullscreen mode
4. Email: Mailgun → Resend
Free tier: 3,000 emails/month, 100/day. More than enough for transactional email in a typical indie project.
curl -X POST 'https://api.resend.com/emails'
-H "Authorization: Bearer $RESEND_API_KEY"
-H 'Content-Type: application/json'
-d '{
"from": "[email protected]",
"to": "[email protected]",
"subject": "Welcome",
"html": "<p>Thanks for signing up!</p>"
}'
Enter fullscreen mode Exit fullscreen mode
5. Full-Text Search: Algolia → Meilisearch (self-hosted)
Run it alongside your existing VPS workload and the marginal cost is zero.
docker run -d --name meili -p 7700:7700
-e MEILI_MASTER_KEY="$MEILI_KEY"
-v $PWD/meili_data:/meili_data
getmeili/meilisearch:v1.10
# Index your data
curl -X POST 'http://localhost:7700/indexes/posts/documents'
-H "Authorization: Bearer $MEILI_KEY"
-H 'Content-Type: application/json'
--data-binary @posts.json
Enter fullscreen mode Exit fullscreen mode
Watch Out For
-
Check overage behavior before switching: Services like Fly.io can auto-charge on overages. Set hard limits with
fly scaleto prevent surprises. - Prefer low vendor lock-in stacks: Cloudflare Pages and Meilisearch are Docker-friendly and built on standard APIs — re-migration costs are low if you change course again.
- Migrate in stages: Before cutting over DNS, lower TTL to 300 seconds, then run old and new services in parallel for one full billing cycle so you can roll back cleanly.
A subscription audit is a one-time effort that keeps paying off year after year. Open every invoice, compare your real traffic numbers against free tier limits, and go from there.
Related Links
- Cloud Cost Optimization for Indie Devs (Practical Guide · Gumroad)
- Books on Cloud Architecture & Cost Optimization (Rakuten)
※ Some links are affiliate or self-promotional.
🛠 From the Author
If you want to put Claude / GitHub Actions automation like this to work in your own environment right away:
- AI dev automation kit & prompt collection (copy-paste configs and real CLAUDE.md examples) → https://itsuya.gumroad.com/l/agentrules260619
- Free tool collection for unblocking dev errors instantly — DevToolBox → https://1280itsuya.github.io/devtools/
※ Links to author’s own products and sites (includes promotional content).
If you found this useful: I packaged 50 copy-paste AI debugging prompts + drop-in Claude Code config templates (CLAUDE.md, settings.json, MCP) into a small kit.
Launch deal: code START50 = 50% off → 50 AI Debugging Prompts + Claude Code Config Pack (about $6, 50% off applied)
New: my 10-chapter ebook Practical Claude Code — automation & unattended operation (about $9, 50% off applied)
답글 남기기