Why We Migrated Our Core Stack to Local-First Tools — And the 3 Proprietary Platforms We Still Pay For
The 'rent your stack' model is dying. We replaced 7 SaaS dependencies with self-hosted/CLI alternatives (Supabase→Postgres, Vercel→Coolify, Linear→Plane). Three exceptions remain — here's the honest breakdown.
Published 2026-06-16
Why We Migrated Our Core Stack to Local-First Tools — And the 3 Proprietary Platforms We Still Pay For
TL;DR: Platform dependency risk is real — Fable shutting down, Copilot 10x pricing, Linear API changes. We moved 7/10 core tools to local-first/self-hosted alternatives. The 3 we kept (GitHub, Anthropic, Stripe) pass the “durability test.” Local-first migration checklist →
The Context
Two-dev team, Basso Digital. June 2026: Watched ~500 devs on X discuss Khanjun’s thread on “dependency risk on rented platforms” — investing months in Fable only for it to change/disappear. Same pattern: Copilot pricing pivot, Linear API deprecation, Notion export gaps. Trigger: Realized 8/10 tools in our stack were rented, not owned. Migration took 3 weekends.
What We Tested
| Category | SaaS (Before) | Local-First/Self-Hosted (After) | Verdict | Why |
|---|---|---|---|---|
| Database | Supabase (managed) | Postgres on Coolify (self-hosted) | ✅ | Same SQL, full control, $20/mo VPS vs $25/mo + usage |
| Hosting | Vercel Pro | Coolify on Hetzner | ✅ | Git push deploy, preview envs, zero cold starts, $6/mo |
| Issue Tracking | Linear | Plane (self-hosted) | ⚠️ | 80% feature parity; missing: cmd+k, some integrations |
| Analytics | PostHog Cloud | PostHog self-hosted | ✅ | Identical features; data never leaves our VPC |
| CI/CD | GitHub Actions | Woodpecker CI (self-hosted) | ✅ | Simpler YAML, runs on our runner, no minute limits |
| Secrets | 1Password Teams | SOPS + age (git-encrypted) | ✅ | Zero cost, git-native, rotates with code |
| Docs/Wiki | Notion | Obsidian + Quartz (GitHub Pages) | ✅ | Markdown source of truth; publishes to static site |
| AI Coding | Claude Code (API) | Claude Code (local) + Ollama fallback | ✅ | Routines run locally; API only for heavy reasoning |
The Pivot Point
June 8, 2026: Fable announcement — platform winding down. Devs who built entire workflows on it lost months of work. Same week: Copilot token pricing 10x’d. Realization: “Rented platform” isn’t a metaphor — it’s a liability. If you can’t git clone your workflow and run it on a fresh machine in 30 min, you don’t own it.
What We Use Now
Local-First Stack (all version-controlled, runnable on fresh machine in <15 min):
# One-command bootstrap
git clone github.com/basso-digital/infra && cd infra && ./bootstrap.sh
# Services (Docker Compose on Coolify)
- Postgres 16 + pgvector
- Redis 7 + Dragonfly
- Plane (issues) + PostHog (analytics) + Woodpecker (CI)
- Ollama (local LLMs: codellama:13b, deepseek-coder:33b)
- Coolify dashboard (Git push → deploy)
The 3 We Kept (and why they pass the durability test):
- GitHub — Git is the protocol; repos are portable; no viable self-hosted alternative for collaboration
- Anthropic (Claude Code API) — Routines are YAML in our repo; model is interchangeable (local fallback exists)
- Stripe — Payments infrastructure is regulated; self-hosting adds compliance burden > value
When You’d Choose Differently
- Team < 5, no DevOps bandwidth: SaaS buys speed; migrate when pain > migration cost
- Heavy Linear/Cursor power users: Plane lacks cmd+k, auto-triaging; Cursor has no local equivalent
- Enterprise compliance (SOC2, HIPAA): Some SaaS provide certifications self-hosted can’t easily match
- Real-time collab needs: Figma, Linear, Notion still win for multiplayer; local-first alternatives immature
Tool Crucible Rating
| Dimension | Rating (1–5) | Notes |
|---|---|---|
| Overall | 4 | 70% migration complete; last 30% is honest trade-offs |
| Ease of Use | 3 | Initial bootstrap steep; daily ops simpler (git-native) |
| Value | 5 | $400/mo → $40/mo infra; zero vendor pricing risk |
| Support | 2 | Community Discords > vendor support; you debug your infra |
This is part of our Local-First Development series. See migration guide: Local-First Stack Migration Checklist 2026
Last reviewed 2026-06-16. See our methodology and affiliate policy.