Sage
 Back
Open Source · Privacy
2026 – Present

Sage

Platform
Raspberry Pi
Language
Python
Status
v2.0.0 Released
Audio to Cloud
Never
Hardware
Raspberry Pi
Language
Python
Cloud Audio
Zero storage
Source Code
Open Source on GitHub

Always listening —
and always saving.

Commercial voice assistants have always sent audio to the cloud for processing — that was the known trade-off from day one. But for a while, some devices offered a middle ground: an opt-out setting that kept certain voice interactions local, never leaving the hardware. That option is gone now. In early 2025, it was quietly removed. The official reason was AI: newer generative features require more processing power than the device itself can provide, so everything goes to the cloud, without exception, and without a way to decline.

The convenience was never the problem. A voice assistant is genuinely useful for the small, repetitive things — timers, music, reminders. But those tasks don't require a server farm. They never did. The cloud dependency isn't a technical necessity for a kitchen timer. It's a data strategy. "Always-on" and "always uploading" are two different things, and they don't have to come as a package.

"Always-on shouldn't mean
always uploading."
What Changed
In early 2025, the last remaining opt-out for local voice processing was removed from major commercial smart speakers. The stated reason was generative AI — new features need the cloud. The effect was that users lost the ability to keep any part of their voice data on-device, with no alternative offered.
The Gap
No mainstream voice assistant gives you the full feature set without the cloud dependency. Sage is built to close that gap — doing the everyday things well, without sending a single byte of your voice anywhere.

The things you actually
use an assistant for.

Sage is built around the tasks that make a voice assistant genuinely useful day-to-day — not an AI chatbot, not a smart home hub. Just the practical stuff, done reliably, without the surveillance footprint.

🎵
Spotify Voice Control
Play, pause, skip, volume, now playing, liked songs shuffle — all via voice, with dynamic device discovery. The audio plays locally; the request stays local.
Kitchen Timers
Multiple simultaneous named timers, 23 food presets, and persistent alarms. Set them hands-free while cooking and Sage speaks the alerts back to you.
🔔
Voice Reminders
Relative ("in 20 minutes") or time-of-day ("at 3:30 PM") reminders with push notifications via ntfy. No app required, no phone to check.
👂
MFCC Wake Word Detection
Custom temporal MFCC model (362-dim features, GradientBoosting → ONNX) trained on 128 positive clips and 1,800 real ambient negatives. Vosk fallback included.
🌤
Weather & Calendar
Morning briefing with outfit suggestions and Google Calendar integration via iCal. Ask for the day ahead and Sage reads it back to you.
🤖
Claude AI Chat
Optional voice conversation mode with Claude, with smart hand-offs built in. Engage it when you want it; ignore it when you don't.
💡
LED Ring Indicators
Visual feedback via WS2812B LED ring for listening, processing, alarms, and security alerts — useful when hands are full and you can't look at a screen.
🔒
Security & 100% Local Audio
Firewall control, intrusion detection, and CPU temp monitoring with emergency shutdown. Vosk + Faster Whisper + Piper TTS — no audio ever leaves the device.
🌙
Auto Bedtime & Wake
9:30 PM / 10:30 PM bedtime, 6:30 AM / 8:30 AM wake with a full morning briefing. It runs on a schedule so you don't have to remember to ask.

Python on a
Raspberry Pi.

Sage runs entirely on a Raspberry Pi in Python. The goal was to build something that lives in the kitchen like a small appliance — always available, never demanding, and completely understandable by anyone who wants to look at the code.

Keeping it Python-only wasn't just a language preference — it was a constraint that keeps the project readable, accessible, and easy to fork. The entire stack, from wake word detection through command parsing and response, is written in a single language.

Hardware — Raspberry Pi, running headless as a dedicated voice assistant
Language — Python only, no secondary scripts or compiled dependencies
Voice pipeline — local wake word detection, local speech processing; nothing routed through external APIs
Internet — used selectively, only for outbound service calls like Spotify that require it by nature
Status — v2.0.0 released publicly on GitHub; open source and free to fork

Built in the open.
Now live on GitHub.

The whole point of Sage is that you can see exactly what it does and doesn't do with your voice. Closed-source privacy claims are just claims. Open source is a receipt.

Sage v2.0.0 is publicly released and free to use, fork, and adapt. If you have a Raspberry Pi and a reason to distrust your smart speaker, the setup is designed to be approachable. The code is all there.

Sage v2.0.0 is live. Privacy-first kitchen voice assistant — MFCC wake word detection, Spotify, timers, reminders, weather, Claude AI chat, LED feedback, and a fully local voice pipeline. Free to use, fork, and adapt.
View on GitHub v2.0.0 Release Notes