OPEN SOURCE · WINDOWS 10/11 · PYTHON 3.10–3.12
JUST A RATHER VERY INTELLIGENT SYSTEM
A full-screen transparent desktop overlay powered by voice, gesture, and AI. Dual LLM routing, MediaPipe hand tracking, wake-word detection, PCB-aesthetic HUD, and a sandboxed Gemini coding assistant — all running locally on Windows.
Porcupine wake word ("Jarvis") → Whisper local transcription → Google STT fallback. Always listening, zero cloud dependency.
MediaPipe HandLandmarker. Index finger moves cursor. Pinch clicks. Fist right-clicks. V-shape scrolls. No controller needed.
General questions → Groq llama-3.1-8b-instant. Coding requests → Gemini 1.5 Flash with file system access. Automatic routing.
Gemini writes, edits, and deletes files inside a sandboxed workspace. Path traversal blocked. Multi-turn coding context.
Voice-triggered macros chain any sequence of actions — close all apps, launch Roblox, open YouTube — with configurable delays.
Full-screen transparent HUD. Real system data — CPU, RAM, disk, network, temp. Radar sweep. Circuit board frame. Edge-darkness vignette.
60s idle → overlay fades out, animation drops to 2fps, mic stays active. Wake by voice, F9, or Ctrl+Space. Smooth opacity animation.
Add new commands by voice: "Teach Jarvis to open Netflix". Writes directly to commands.json. Hot-reloads instantly.
"System Exit Code 0" — graceful full shutdown. "System Exit Code 1" — release camera so other apps can use it. Mic stays active.
Requires Python 3.10–3.12. MediaPipe does not support 3.14 yet.
py -3.12 -m venv .venv .venv\Scripts\activate
If PyAudio fails: pip install pipwin && pipwin install pyaudio
pip install -r requirements.txt
Required for Whisper local speech recognition. Download from gyan.dev/ffmpeg/builds, extract to C:\ffmpeg, add C:\ffmpeg\bin to your system PATH.
ffmpeg -version # verify in a new terminal
Copy config.example.py to config.py and fill in your keys. config.py is gitignored and never committed.
copy config.example.py config.py # edit config.py with your keys
Test the overlay without any keys first, then run the full system.
python gui.py # overlay preview — no keys needed python main.py # full system