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.txt
ollama run gemma:7b
Use NAPS2 to scan a letter as PDF into the input/
folder.
python watcher/watcher.py
This will:
- OCR the scanned PDF
- Extract text
- Save
.txt
inoutput/
- 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