v0.1.0-preview
Briefgeist is a privacy-first, local desktop assistant for automating the reading, analysis, and response of scanned physical letters.
- Watcher service (Watchdog) for real-time monitoring of incoming scans
- OCR module (Tesseract) for text extraction from PDF scans
- Analysis Engine (local LLM via Ollama “gemma:7b”)
git clone https://github.com/jltk/briefgeist.git
cd briefgeist
python -m venv venv
source venv/bin/activate # bzw. venv\Scripts\activate on Windows
pip install -r requirements.txt- 🖨️ Scan letters (via NAPS2)
- 🧠 Analyze content with a local LLM (Gemma 7B via Ollama)
- 🗣 Text-to-speech playback (Coqui TTS)
- 📄 Suggest replies or fill forms
- 🖥️ Simple GUI (NiceGUI)
- 💻 100% offline, no cloud or telemetry
| Feature | Status |
|---|---|
| OCR (ocrmypdf) | ✅ |
| Text extraction | ✅ |
| Local LLM (Ollama) | ✅ |
| TTS voice output | ✅ |
| GUI (NiceGUI) | ✅ |
| Multi-page scan | ✅ |
- Python 3.11
- Visual Studio Build Tools
→ Select: "Desktop development with C++" - Tesseract OCR (UB Mannheim)
- SumatraPDF
- NAPS2 (scanner frontend)
- Ollama (LLM runtime)
git clone https://github.com/yourname/briefgeist.git
cd briefgeist
python -m venv .venv
.venv\Scripts\activate
pip install -r requirements.txtollama run gemma:7bUse NAPS2 to scan a letter as PDF into the input/ folder.
python watcher/watcher.pyThis will:
- OCR the scanned PDF
- Extract text
- Save
.txtinoutput/ - Archive the original in
processed/
python ui/app.py- Upload the
.txt - Click "Analyze"
- Click "Read Aloud"
| Test Step | Expected Result |
|---|---|
Drop PDF in input/ |
Processed + .txt created |
| Run GUI | Interface appears with input fields |
| Analyze | LLM provides meaningful summary |
| Read Aloud | Voice plays locally |
| Print PDF (optional) | Sent to default printer |
briefgeist/
├── core/
├── ui/
├── watcher/
├── input/ ← Drop PDFs here
├── output/ ← Get your results here
├── processed/ ← Archived input
Briefgeist runs fully offline. No cloud calls. No telemetry. No account required.
- Improve UI/UX
- Form field detection (insurance, invoices, etc.)
- Auto-response generation as PDF
- One-click print & archive
- Portable GUI build (PyInstaller)
GPLv3