ecarjat ↗ analysis ↗ GitHub ecarjat/mike
A private, self-hosted build of Mike locked to one company's Google logins, with document review taught to handle folders and scanned PDFs.
This is ecarjat's fork of Mike, remade as a private in-house tool for a single organisation called KairosVista. Where stock Mike is an open sign-up cloud app, this version restricts Google login to KairosVista's own domain and runs on the company's own hardware rather than someone else's cloud - a self-hosted deployment pushed out through Gitea CI to a TrueNAS box, with a local Docker stack (backed by self-hosted Supabase) so a developer can stand the whole thing up on a laptop without any cloud account.
Alongside the deployment work, ecarjat has been sharpening the review pipeline itself. Bulk document reviews can now collapse an entire subfolder into a single row instead of one line per file, and there's a per-user page cap to keep large jobs in check. The pipeline also learned to read scanned documents - PDFs that are just images with no text underneath - using native vision from Gemini and Claude.
The through-line is clear: take Mike off the public cloud and turn it into a hardened, invite-by-domain deployment that one legal team can own end to end. If you want to see how the fork diverged and how conflicts were resolved, the big consolidation merge on the main branch is the place to look.
What's in it
- Locked to one company's logins Google sign-in is restricted to KairosVista's domain, turning open sign-up into invite-by-domain access for a single organisation.
- Self-hosted on your own hardware A build packaged for private servers and deployed via Gitea CI to KairosVista's own TrueNAS box - off the cloud entirely, and toughened so it stops falling over.
- Runs on a laptop, no cloud account A local Docker dev stack with self-hosted Supabase lets you stand up the whole of Mike end to end on your own machine without signing up for anything.
- Folder-grouped bulk reviews Tabular reviews can collapse an entire subfolder into one review row instead of a line per document, with a per-user page cap for large jobs.
- Reads scanned documents Native PDF vision (Gemini and Claude) means the review pipeline no longer chokes on image-only PDFs with no text layer underneath.
Direction
infrastructuresecuritydiscovery
Activity
ecarjat ↗ analysis ↗ GitHub Threads of work (detailed view)
Big consolidation merge: KairosVista feature branch and upstream/main land together
Commit `63b978a` merges ecarjat's KairosVista feature branch and `upstream/main` in one shot. It's not a unit of change to import directly, but it's the right place to look if you want to understand how this fork diverged from upstream and how ecarjat resolved conflicts.
ecarjat teaches Mike to read scanned documents
The review pipeline no longer chokes on PDFs that have no text underneath the image.
Multimodal fallback for scanned PDFs: Gemini and Claude get inline PDF vision, OpenAI gets an explicit stub
Scanned legal documents - the kind with no text layer - were silently returning empty cells in tabular reviews. ecarjat fixed that by detecting the failure and routing to native PDF vision on Gemini and Claude, with a deliberate "not supported" cell for OpenAI rather than a silent zero.
ecarjat teaches tabular review to think in folders
Bulk document reviews can now collapse a whole subfolder into a single row instead of one line per file.
ecarjat adds folder-grouped tabular rows with per-user page caps
ecarjat introduces a new tabular review mode that collapses subfolder documents into a single review row, plus a per-user page limit with a cleaner error UI when that limit is hit. The schema change is non-trivial: rows become first-class records with their own table and RLS policies.
ecarjat lets reviewers treat a folder as one row
A new grouped mode in ecarjat's fork rolls every document in a project subfolder into a single review row, so columns run across the folder, not each file inside it.
ecarjat bolts Mike onto a single company's Google logins
This fork turns an open sign-up app into a private, invite-by-domain deployment for one organisation called KairosVista.
ecarjat replaces email/password auth with Google OAuth restricted to KairosVista domain
ecarjat ships a four-commit sequence that strips email/password login, adds Google OAuth, and locks access to `kairosvista.com` email addresses at the backend middleware level. The domain-gating mechanism is cleanly written and no-ops when left unconfigured.
ecarjat takes Mike off the cloud and onto his own hardware
A self-hosted build of Mike, packaged for private servers and toughened so it stops falling over.
ecarjat adds Gitea CI and production Docker stack for KairosVista TrueNAS
ecarjat wires up a self-hosted CI/CD pipeline targeting TrueNAS at KairosVista, and bundles a set of backend hardening changes in the same PR - including an Express async-errors shim, a JSONB shared-project bug fix, and env-configurable S3 path style. Most of the hardening is worth pulling without the deploy config.
ecarjat makes Mike run on a laptop with no cloud account
A new local setup lets you stand up the whole of Mike on your own machine, end to end, without signing up for anything.
ecarjat lets reviewers grade a whole folder at once
A new grouping option in the review grid treats a subfolder full of documents as a single row, so the folder itself becomes the unit of work.
Pull requests (detailed view)
🟢 Open (2)
ecarjat · opened 2mo ago ecarjat · opened 2mo ago