Offline-first
Local LLM routing with zero network calls by default.
A voice assistant that never leaves your devices.
A local LLM, wake-word commands, and clean call transcripts and minutes — on your laptop and your Android phone, no cloud.
Local LLM routing with zero network calls by default.
Say a phrase to arm the assistant, completely hands-free.
Labeled transcripts and action items for calls through apps like Meet, Zoom, or WhatsApp — not raw cellular calls, which Android blocks for any third-party app.
The same assistant in the background on your desktop and your phone, each running its own local model.
| Runtime | Python |
| LLM | Ollama (Qwen2.5 / Llama 3.2) |
| ASR | faster-whisper |
| Audio | sounddevice + loopback |
| Voice reply | Piper · XTTS-v2 clone (trial) |
| Runtime | Kotlin, native |
| LLM | llama.cpp (on-device, 1–4B) |
| ASR | whisper.cpp |
| Wake word | Foreground service |
| N.O.V.A | Cloud assistants | |
|---|---|---|
| Works offline | Yes | Rarely |
| Data leaves your device | No | Usually |
| Open source | Yes | No |
| Customizable tools | Yes | Limited |
Python assistant built on the original N.O.V.A codebase, with Ollama for offline routing.
XTTS-v2 for a voice cloned from a recording, with Piper as the lighter fallback when GPU memory is tight.
Swap the current speech recognition for faster-whisper and add pyannote speaker identity.
Let the local LLM handle plain-language requests instead of a fixed list of commands.
Its own on-device model, wake word, and speech-to-text. Android only, after the desktop prototype.
Rebuilding the backend on Django is under consideration.
Planned items are not built yet. Details in the roadmap.
You: Can we push the launch to Thursday?
Sam: Thursday works if design signs off by Wednesday.
You: I'll ping them today and confirm.
Decision: Launch moved to Thursday.
Action: You — confirm design sign-off (due Wednesday).
Illustrative sample output, not a real recorded call.
Read the full architecture, command model, platform notes, and build plan.