flowchart LR
subgraph OnDevice["On-device"]
ESP32[ESP32-S3
wake word · mic · LED]
end
subgraph Lab["Home lab (.13 · .30 · .35)"]
MQTT[(MQTT
mosquitto :1883)]
WHISPER[Whisper STT
faster-whisper]
AGENT[Jervis Agent
FastAPI :8501]
HA[Home Assistant
.30 :8123]
OMNI[OmniRoute
LLM gateway :20129]
MOPIDY[Mopidy · Spotify
music :6600]
APPRISE[Apprise
notifications .35]
SNAP[Snapcast
multi-room :1780]
PIPER[Piper TTS
:10200]
SPEAKERS[House Speakers
whole home]
end
ESP32 -->|audio stream| MQTT
MQTT -.->|speech frames| WHISPER
WHISPER -->|transcript| AGENT
AGENT -->|control · todo · timers| HA
AGENT -->|intent / Q&A| OMNI
AGENT -.->|play · pause · volume| MOPIDY
AGENT -.->|family messages| APPRISE
AGENT -->|reply text| SNAP
SNAP -.->|synthesize speech| PIPER
PIPER -->|speech wav| SNAP
SNAP -->|audio out| SPEAKERS