juanjo rips Supabase out of Mike, root and branch

A plan-driven excision of the hosted backend in favour of a self-contained local stack - and the planning docs are the real artifact.

infrastructuresecurity

juanjo's fork sets out to make Mike runnable end-to-end with nothing but a single Docker command - no external accounts, no hosted services. The target is a clean break from Supabase, the hosted Postgres-and-auth provider Mike was built on, replaced with a local Postgres database, Auth.js for login, and Drizzle as the single source of truth for the schema. Object storage moves the same direction: MinIO, a local stand-in for Amazon's S3, takes the place of the cloud bucket for first-run development.

What sets this fork apart is the paper trail. Three planning documents lay out the spec, the foundation work, and the mechanical sweep through every remaining call site - sequenced as foundation, then a single working slice, then the cleanup. It reads less like a refactor and more like a migration playbook anyone else could pick up and follow.

So what Worth a look for any legal-tech team weighing whether to pull their stack off a hosted backend - the methodology is reusable even if the code isn't.

View this fork on GitHub →

Spotted something wrong? Or know the PR text has fresher detail than the writeup above?

Commits in this thread

3 commits from juanjo/mike, oldest first. Source extracted verbatim from the harvested git log.

SHA Subject Author Date
82854596 Add spec: replace Supabase with local Postgres + Auth.js + Drizzle Juan Vidal 2026-05-08 ↗ GitHub
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
bd2b9451 Add Plan 1: local-Postgres foundation (Postgres + Drizzle + Auth.js + vertical slice) Juan Vidal 2026-05-08 ↗ GitHub
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2aecb8dd Add Plan 2: mechanical migration of remaining Supabase call sites Juan Vidal 2026-05-08 ↗ GitHub
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

Capture this thread into my fork

Download a single Markdown prompt that tells Claude how to port every commit above into your working tree — adapting paths and structure to match your repo. Run it via claude -p < capture-thread-180.md from inside the repo you want the changes in.

⬇ Download capture-thread-180.md