Skip to content

jltk/briefgeist

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Briefgeist

license: GPL
python: 3.9+

v0.1.0-preview

Briefgeist is a privacy-first, local desktop assistant for automating the reading, analysis, and response of scanned physical letters.

  1. Watcher service (Watchdog) for real-time monitoring of incoming scans
  2. OCR module (Tesseract) for text extraction from PDF scans
  3. Analysis Engine (local LLM via Ollama “gemma:7b”)

📦 Installation

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

✅ Features

  • 🖨️ 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

🛠 Setup (Windows 10+)

1. Install System Dependencies

2. Clone This Repo

git clone https://github.com/yourname/briefgeist.git
cd briefgeist
python -m venv .venv
.venv\Scripts\activate
pip install -r requirements.txt

3. Start Ollama

ollama run gemma:7b

🚀 Usage

1. Scan

Use NAPS2 to scan a letter as PDF into the input/ folder.

2. Process with Watcher

python watcher/watcher.py

This will:

  • OCR the scanned PDF
  • Extract text
  • Save .txt in output/
  • Archive the original in processed/

3. Open GUI

python ui/app.py
  • Upload the .txt
  • Click "Analyze"
  • Click "Read Aloud"

🧪 Testing

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

🗂 Project Structure

briefgeist/
├── core/
├── ui/
├── watcher/
├── input/         ← Drop PDFs here
├── output/        ← Get your results here
├── processed/     ← Archived input

🔐 Security & Privacy

Briefgeist runs fully offline. No cloud calls. No telemetry. No account required.


📦 Next Milestones

  • Improve UI/UX
  • Form field detection (insurance, invoices, etc.)
  • Auto-response generation as PDF
  • One-click print & archive
  • Portable GUI build (PyInstaller)

💬 License

GPLv3

About

Privacy-first desktop app for scanning, understanding and replying to letters.

Topics

Resources

License

Stars

Watchers

Forks

Languages