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

CategorySaaS (Before)Local-First/Self-Hosted (After)VerdictWhy
DatabaseSupabase (managed)Postgres on Coolify (self-hosted)Same SQL, full control, $20/mo VPS vs $25/mo + usage
HostingVercel ProCoolify on HetznerGit push deploy, preview envs, zero cold starts, $6/mo
Issue TrackingLinearPlane (self-hosted)⚠️80% feature parity; missing: cmd+k, some integrations
AnalyticsPostHog CloudPostHog self-hostedIdentical features; data never leaves our VPC
CI/CDGitHub ActionsWoodpecker CI (self-hosted)Simpler YAML, runs on our runner, no minute limits
Secrets1Password TeamsSOPS + age (git-encrypted)Zero cost, git-native, rotates with code
Docs/WikiNotionObsidian + Quartz (GitHub Pages)Markdown source of truth; publishes to static site
AI CodingClaude Code (API)Claude Code (local) + Ollama fallbackRoutines 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):

  1. GitHub — Git is the protocol; repos are portable; no viable self-hosted alternative for collaboration
  2. Anthropic (Claude Code API) — Routines are YAML in our repo; model is interchangeable (local fallback exists)
  3. 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

DimensionRating (1–5)Notes
Overall470% migration complete; last 30% is honest trade-offs
Ease of Use3Initial bootstrap steep; daily ops simpler (git-native)
Value5$400/mo → $40/mo infra; zero vendor pricing risk
Support2Community 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.