{
  "$type": "site.standard.document",
  "bskyPostRef": {
    "cid": "bafyreiggdw7ceuicsiz2nvcmcdpwhg26yo5u4sie7zqty2tkthjy3lxd34",
    "uri": "at://did:plc:25rdn5elo5izoxrmtis34zuk/app.bsky.feed.post/3mpnritf3fx22"
  },
  "coverImage": {
    "$type": "blob",
    "ref": {
      "$link": "bafkreidiks4ytnw2gjuwp4rrayzjrp7o5ca7qrbtxw72gyuz4dwrz2i3ae"
    },
    "mimeType": "image/webp",
    "size": 78174
  },
  "path": "/_7fb6011b57d383122b5a/real-experience-auditing-my-indie-saas-subscriptions-5-alternatives-that-cut-800year-262h",
  "publishedAt": "2026-07-02T09:39:54.000Z",
  "site": "https://dev.to",
  "tags": [
    "ai",
    "aws",
    "Cloud Cost Optimization for Indie Devs (Practical Guide · Gumroad)",
    "Books on Cloud Architecture & Cost Optimization (Rakuten)",
    "https://itsuya.gumroad.com/l/agentrules260619",
    "https://1280itsuya.github.io/devtools/",
    "@posts.json"
  ],
  "textContent": "#  Auditing My Indie SaaS Subscriptions: 5 Alternatives That Cut $800/Year\n\n##  TL;DR\n\nFixed 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:\n\nBefore | Monthly | After | Monthly | Annual Savings\n---|---|---|---|---\nHeroku Hobby (2 dynos + DB) | ¥2,800 | Fly.io / Railway free tier | ¥0 | ¥33,600\nVercel Pro | ¥3,000 | Cloudflare Pages | ¥0 | ¥36,000\nDatadog (1 host) | ¥2,300 | Grafana Cloud Free | ¥0 | ¥27,600\nMailgun Foundation | ¥1,400 | Resend free tier | ¥0 | ¥16,800\nAlgolia Build overage | ¥500 | Meilisearch (self-host) | ¥0 | ¥6,000\n\nAt 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.\n\n##  The Approach: Measure First, Decide Second\n\nCut decisions should be based on real data, not gut feeling. Start with a billing audit.\n\n\n\n    # Export each service's plan and recent usage to a spreadsheet\n    # Example: check request count for the last 30 days from nginx access log\n    awk '{print $4}' access.log | grep -c \"$(date +%d/%b/%Y)\"\n    # → A few thousand requests/day fits comfortably inside almost every SaaS free tier\n\n\nThe 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).\n\n##  Step-by-Step Migration\n\n###  1. Hosting: Heroku → Fly.io\n\n\n    # Deploy to fly.io — existing Dockerfile or buildpacks work as-is\n    curl -L https://fly.io/install.sh | sh\n    fly launch            # interactively generates fly.toml\n    fly deploy\n    fly scale count 1     # 1 instance is enough for indie projects\n    fly postgres create   # small instance, effectively free\n\n\nThe key to cost control: lock to `fly scale count 1` and the minimum VM (`shared-cpu-1x`).\n\n###  2. Frontend: Vercel Pro → Cloudflare Pages\n\nUnlimited bandwidth, generous build limits, and free equivalents of Pro features (Analytics, etc.) that most indie projects actually need.\n\n\n\n    npm i -g wrangler\n    wrangler pages deploy ./dist --project-name my-app\n\n\n###  3. Monitoring: Datadog → Grafana Cloud Free\n\nThe free plan covers 10k metric series, 50GB logs, and 14-day retention. Works with Prometheus remote_write out of the box.\n\n\n\n    # prometheus.yml — forward to Grafana Cloud via remote_write\n    remote_write:\n      - url: https://prometheus-prod-XX.grafana.net/api/prom/push\n        basic_auth:\n          username: \"123456\"\n          password: \"${GRAFANA_CLOUD_API_KEY}\"\n\n\n###  4. Email: Mailgun → Resend\n\nFree tier: 3,000 emails/month, 100/day. More than enough for transactional email in a typical indie project.\n\n\n\n    curl -X POST 'https://api.resend.com/emails' \\\n      -H \"Authorization: Bearer $RESEND_API_KEY\" \\\n      -H 'Content-Type: application/json' \\\n      -d '{\n        \"from\": \"you@yourdomain.dev\",\n        \"to\": \"user@example.com\",\n        \"subject\": \"Welcome\",\n        \"html\": \"<p>Thanks for signing up!</p>\"\n      }'\n\n\n###  5. Full-Text Search: Algolia → Meilisearch (self-hosted)\n\nRun it alongside your existing VPS workload and the marginal cost is zero.\n\n\n\n    docker run -d --name meili -p 7700:7700 \\\n      -e MEILI_MASTER_KEY=\"$MEILI_KEY\" \\\n      -v $PWD/meili_data:/meili_data \\\n      getmeili/meilisearch:v1.10\n\n    # Index your data\n    curl -X POST 'http://localhost:7700/indexes/posts/documents' \\\n      -H \"Authorization: Bearer $MEILI_KEY\" \\\n      -H 'Content-Type: application/json' \\\n      --data-binary @posts.json\n\n\n##  Watch Out For\n\n  * **Check overage behavior before switching** : Services like Fly.io can auto-charge on overages. Set hard limits with `fly scale` to prevent surprises.\n  * **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.\n  * **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.\n\n\n\nA 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.\n\n##  Related Links\n\n  * Cloud Cost Optimization for Indie Devs (Practical Guide · Gumroad)\n  * Books on Cloud Architecture & Cost Optimization (Rakuten)\n\n\n\n※ Some links are affiliate or self-promotional.\n\n###  🛠 From the Author\n\nIf you want to put **Claude / GitHub Actions automation** like this to work in your own environment right away:\n\n  * AI dev automation kit & prompt collection (copy-paste configs and real CLAUDE.md examples) → https://itsuya.gumroad.com/l/agentrules260619\n  * Free tool collection for unblocking dev errors instantly — **DevToolBox** → https://1280itsuya.github.io/devtools/\n\n\n\n※ Links to author's own products and sites (includes promotional content).",
  "title": "[Real Experience] Auditing My Indie SaaS Subscriptions: 5 Alternatives That Cut $800/Year"
}