Real-time AI conversation coach that runs 100% locally.
Listens to your meetings, transcribes live, and gives you tactical nudges and strategic suggestions, all powered by your own documents.
Nkrata comes from the Twi language, spoken by the Akan people of Ghana. It is the plural form of krataa, meaning paper, document, or letter, a word believed to trace back to the Portuguese carta. In Akan grammar, the "N" prefix transforms the singular into plural: krataa (one document) becomes nkrataa (many documents).
The word carries weight in both everyday and formal contexts, from personal letters and correspondence to official certificates and records. Related Twi terms include nkra (a spoken message) and nkratoo (the postal system), each capturing a different dimension of how information travels between people.
NkrataHelper is, at its core, a tool that reads your documents and helps you speak with clarity, bridging the written and the spoken, just as the word itself connects paper to purpose.
"Wope nkrataa no?" — Do you want the documents?
- Live Transcription Whisper runs locally on your machine, no cloud APIs
- Rolling Nudges Short tactical one-liners every ~10 seconds ("Ask about their timeline", "Mention the key metric now")
- Deep Analysis On-demand strategic suggestions with data points from your documents
- Auto Meeting Notes Key points captured every ~30 seconds with timestamps, saved as Markdown
- Document Aware Load PDFs, DOCX, PPTX, XLSX, TXT, CSV, HTML, JSON, YAML as context
- Drag & Drop Drop files directly into the app to add them
- Team Sync Share transcript and suggestions with teammates over encrypted LAN WebSocket
- Configurable Set document folders, save locations, LLM model, Whisper model
- Privacy First Everything runs locally. No data leaves your machine.
- Python 3.10+ python.org
- Ollama ollama.com/download
git clone https://github.com/Zen-ctrl/NkrataHelper.git
cd NkrataHelper
python -m venv venv
# Windows
venv\Scripts\activate
# macOS/Linux
source venv/bin/activate
pip install -r requirements.txtollama pull mistralOther good options: llama3, phi3, gemma2
python main.py- Start Listening Click the green button or press
Ctrl+L - Watch Nudges Short tactical suggestions appear automatically in the center panel
- Get Deep Analysis Click "Suggest Now" or press
Ctrl+Sfor in-depth strategic advice - Review Notes Auto-generated meeting notes appear in the right panel
- Stop & Save Click "Stop Listening" and save your notes as Markdown
Option 1: Go to Settings and add document folders Option 2: Click the drop zone at the bottom of the transcript panel to browse for files Option 3: Configure folders via Settings (supports multiple folders)
Supported formats: PDF, DOCX, PPTX, XLSX, TXT, MD, CSV, HTML, JSON, XML, YAML
- Click Team Sync in the header
- Host: Click "Start Hosting" and share the room code with your team
- Join: Enter the host's IP and room code, click "Connect"
- All data is AES encrypted over LAN, no cloud relay
| Shortcut | Action |
|---|---|
Ctrl+L |
Toggle listening |
Ctrl+S |
Deep suggest |
Ctrl+Q |
Quit |
Settings are stored in:
- Windows:
%APPDATA%/NkrataHelper/config.json - macOS:
~/Library/Application Support/NkrataHelper/config.json - Linux:
~/.config/NkrataHelper/config.json
Available settings:
ollama_modelLLM model name (default:mistral)ollama_urlOllama API URL (default:http://localhost:11434)whisper_modelWhisper model size:tiny.en,base.en,small.en(default:base.en)doc_foldersList of document folder pathssave_folderWhere notes and transcripts are savednudge_intervalSeconds between nudges (default:10)note_intervalSeconds between note generation (default:30)
pip install pyinstaller
python build_exe.py
# Output: dist/NkrataHelper/NkrataHelper.exepip install pyinstaller
pyinstaller --onedir --windowed --name NkrataHelper \
--icon nkrata.ico \
--collect-all faster_whisper --collect-all ctranslate2 \
--collect-all onnxruntime --collect-all tokenizers \
--collect-all customtkinter \
--noconfirm main.pypip install pyinstaller
pyinstaller --onedir --name NkrataHelper \
--collect-all faster_whisper --collect-all ctranslate2 \
--collect-all onnxruntime --collect-all tokenizers \
--collect-all customtkinter \
--noconfirm main.py┌─────────────────────────────────────────────────────────┐
│ Microphone │
│ │ │
│ ▼ │
│ Whisper (local) ──▶ Transcript ──▶ Ollama (local) │
│ │ │ │
│ ▼ ▼ │
│ ┌──────────────────────────┐ │
│ │ NkrataHelper GUI │ │
│ │ ┌────┐ ┌─────┐ ┌─────┐ │ │
│ │ │ TX │ │COACH│ │NOTES│ │ │
│ │ └────┘ └─────┘ └─────┘ │ │
│ └──────────────────────────┘ │
│ │ │
│ ▼ │
│ Team Sync (encrypted WS) │
└─────────────────────────────────────────────────────────┘
- 100% local Audio transcription and LLM inference never leave your machine
- Team Sync encryption AES 128 CBC via Fernet (from
cryptographylibrary) - LAN only Team sync works over local network, no cloud relay
- Passphrase auth Room codes use SHA 256 challenge response
MIT
PRs welcome. Please keep the tool simple and local first.
