ecarjat/mike
A private, self-hosted Mike deployment shaped for KairosVista's document-review workflows and operational control.
@ecarjat is steering this fork toward a private KairosVista deployment: access is limited to the organisation's Google accounts, and the product is set up to run on its own infrastructure rather than depend on a cloud account.
The practical focus is high-volume document review. Folder-heavy matters can be reviewed at the folder level, while scanned PDFs can be read even when they contain no selectable text. There is also a local, end-to-end setup for running the full product on a laptop.
What's in it
- Folder-level review Reviewers can treat a project subfolder as one review row, while standalone documents remain visible individually.
- Scanned PDF reading The review flow can work with image-only PDFs, not just documents with embedded text.
- Private KairosVista access Google sign-in is restricted to KairosVista's domain, making this a deliberately private deployment.
- Self-hosted deployment The product is packaged for KairosVista's own servers and deployment environment.
- Local full-stack setup A complete local environment makes it possible to run Mike end to end without creating cloud accounts.
Direction
workflowinfrastructuresecurity
Activity
ecarjat ↗ analysis ↗ GitHub ecarjat ↗ analysis ↗ GitHub ecarjat ↗ analysis ↗ GitHub Threads of work (detailed view)
ecarjat makes folder-heavy reviews easier to scan
A new grouping option turns each project subfolder into one logical review row, without losing visibility of files that sit outside folders.
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.
Pull requests (detailed view)
✅ Merged (1)
ecarjat · opened 3mo ago · merged 3mo ago by willchen96 ⛔ Closed without merge (2)
ecarjat · opened 3mo ago · closed 3mo ago ecarjat · opened 6mo ago · closed 3mo ago