Legal AI that lets you bring your own keys
An open-source document assistant for law that avoids vendor lock-in by letting users plug in their own API keys.

What it does
Mike is a self-hostable legal document assistant. Upload documents, chat with them through an LLM, and manage projects. The stack is familiar: Next.js frontend, Express backend, Supabase for auth and Postgres, and S3-compatible storage (Cloudflare R2 or MinIO). It converts DOC/DOCX to PDF via LibreOffice and supports Anthropic, Google Gemini, and OpenAI models.
The interesting bit
The dual API key model is the quietly useful part. Admins can set provider keys server-wide, or individual users can add their own in Account > Models & API Keys — meaning a firm could run one instance but let associates bill their own usage. The README is unusually honest about Supabase’s rate-limited built-in mailer and the LibreOffice dependency, which suggests actual production mileage.
Key highlights
- Self-hosted with no mystery infrastructure; you control the data and the model provider
- Supports multiple LLM providers simultaneously, selectable per project or user
- Schema migrations are split cleanly:
schema.sqlfor fresh installs, incremental files for existing databases - Document conversion relies on local LibreOffice, not a cloud service
- 3,600+ stars with no topic tags — discovered purely by word of mouth or legal-tech circles
Caveats
- Requires a full Supabase project plus S3-compatible storage just to get started; not a quick Docker one-liner
- DOC/DOCX conversion needs LibreOffice installed and on PATH, which is easy to miss
- The README describes architecture and setup but never shows the actual UI or explains what “chatting with documents” means in practice (Q&A? summarization? clause extraction?)
Verdict
Worth a look if you’re a legal team or developer building vertical AI tools and need a reference implementation with real auth, storage, and multi-tenancy. Skip it if you want a polished SaaS experience or a lightweight prototype — this is a stack to deploy and customize, not a product to consume.