mikeOnBreeze pulls Mike off the cloud and onto his laptop

A personal injury lawyer rebuilt Mike so that nothing - files, accounts, search index - ever leaves his own machine.

infrastructuresecurity

The whole fork is one commit. mikeOnBreeze stripped out the hosted database, the hosted login system, and the cloud file storage that upstream Mike depends on, and replaced all three with a simple file on his own computer. The rest of the app was left alone; he wrote thin pieces of glue so the frontend still thinks it's talking to a cloud backend.

The rebranded README is candid about why: he handles personal injury matters and doesn't want client materials sitting on third-party servers. The trade-offs are equally candid. There is no real login - any access token works - no expiring share links, and no protection against two things writing to the store at once. That's a single-lawyer, single-laptop setup, and it would be reckless anywhere else.

So what Anyone weighing whether to self-host a legal-AI tool to keep privileged material in-house should read this as the bare-minimum sketch of what that actually looks like.

View this fork on GitHub →

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

Commits in this thread

1 commit from mikeOnBreeze/mike-oss, oldest first. Source extracted verbatim from the harvested git log.

SHA Subject Author Date
24d6a86c Localize storage: replace Supabase + Cloudflare R2 with local filesystem mikeOnBreeze 2026-05-04 ↗ GitHub
commit body
Swaps cloud dependencies for local equivalents so the app runs entirely
on a single machine - JSON file for state, local filesystem for document
bytes, single default user. Original Supabase schema kept under
backend/migrations for reference.

Motivation: working with materials (e.g. legal documents) that
shouldn't be pushed to third-party cloud storage during local
experimentation. For multi-user / production deployments, use the
upstream repo at github.com/willchen96/mike.

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-149.md from inside the repo you want the changes in.

⬇ Download capture-thread-149.md