Why offline-first?
Case materials are sensitive. Sending them to a cloud API is often not an option — legally, technically, or both. CaseAI is built on the principle that everything must run on a single air-gapped workstation.
The stack
- OCR for scanned documents in Russian and English
- Whisper for local audio and video transcription, with optional pyannote speaker diarization
- Hybrid retrieval: SQLite FTS for exact matches, FAISS embeddings, plus a reranker
- Fast 32B / Deep 70B models served by local llama.cpp
Key decisions
All HTTP services bind to 127.0.0.1. A Model Manager keeps a single model in memory and swaps between Fast and Deep modes on demand. Every source citation is a clickable reference back to the exact file, page, or timestamp.
Building it taught me that the hard part of applied AI is rarely the model — it is the infrastructure, the offline packaging, and the reproducible install. The project is published at github.com/webzuweb/InvestigationAI.