juanjo/mike
juanjo is unbundling Mike from Supabase, rebuilding it on a self-hostable local stack you can run on your own machine.
This fork of Mike is a focused infrastructure project: juanjo is methodically swapping out the hosted services Mike depends on and replacing them with components that run locally. The work is plan-driven - specs and implementation plans go in first, then the code follows - and it's organised into discrete phases that each close cleanly before the next begins.
So far the trajectory is clear. A first phase replaced the Supabase-backed auth and database layer with a Postgres-and-cookie-based setup, sweeping every call site on both frontend and backend. A second phase has begun on object storage, moving away from a hosted bucket toward a local S3-compatible service. Alongside the rewiring, juanjo has built up a project-level scaffolding of runbooks, ADRs and a deferred-work tracker - the kind of housekeeping that suggests this is meant to be picked up and contributed to, not just run solo.
If you want a Mike you can stand up entirely on your own laptop or your own infrastructure - no third-party accounts in the loop - this is the fork to watch.
What's in it
- Local Postgres database Mike's data layer rebuilt to run against a Postgres instance you control, with a typed query toolkit replacing the previous hosted-database client.
- Self-hosted authentication Signup and login moved off the hosted auth service onto a cookie-based session model that bridges cleanly between the Next.js frontend and the Express backend.
- Local S3-compatible object storage An in-stack object store stands in for the hosted bucket, so file uploads and document storage work end-to-end without any cloud dependency in development.
- Docker-compose stack The whole runtime - database, auth, storage - comes up together under a single compose file, aimed at making a fresh checkout runnable in one command.
- Plan-driven development Specs and detailed implementation plans land before each phase, giving the fork a paper trail of what's being changed and why - useful if you want to follow along or contribute.
- Project documentation infrastructure Contributor-facing scaffolding - runbooks, architecture decision records, a tracker for deferred work - sits alongside the code, suggesting this fork is being maintained for more than one pair of hands.
Direction
infrastructureintegration
Activity
juanjo ↗ analysis ↗ GitHub Threads of work (detailed view)
juanjo makes Mike runnable on a laptop, no cloud account required
The second leg of juanjo's self-hosting push swaps a cloud file-storage dependency for something that runs entirely on the developer's own machine.
juanjo finishes ripping Supabase out of Mike
The fork is now Supabase-free - no code paths, no env vars, no setup steps pointing at it.
juanjo cuts Mike's cord to Supabase
The frontend now talks to its own backend through a cookie, not a hosted auth service - and the whole stack boots from a single command.
juanjo finishes ripping Supabase out of Mike's backend
The fork's database rewrite is done - every backend route now talks to plain Postgres through a different toolkit, with the frontend none the wiser.
juanjo finishes ripping Supabase out of Mike's backend
After proving the pattern on a single slice, juanjo ported every remaining database call in the backend to a self-hosted setup.
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.
juanjo cuts Mike's cord to Supabase
One docker command now stands up the whole stack - no third-party accounts, no cloud sign-ups, no credit card.
juanjo rips Mike off Supabase and onto a self-hostable stack
The fork can now be brought up end-to-end with one command and no third-party accounts.
Pull requests (detailed view)
✅ Merged (1)
juanjo · opened 18d ago · merged 18d ago by juanjo