Drowzy: no need to cancel the wake up alarm anymore
Description and use
Drowzy lets you snooze or dismiss an alarm by speaking, using local speech‑to‑text and an LLM, with safety guards and offline operation.
Problem
Users struggle to dismiss or snooze alarms without reaching for their phone, risking late wake‑ups and inconvenience.
Outcome
Drowzy enables hands‑free alarm control with local processing, preventing late wake‑ups and preserving privacy.
Workflow
- Alarm rings for 5 s
- Silence for 1 s
- Record 4 s of user speech
- Send audio to whisper.cpp for STT
- Send text to Ollama LLM with JSON prompt
- Parse JSON response: action (snooze|dismiss|ignore) and minutes
- If snooze: schedule next ring after N min
- If dismiss: stop alarm
- If ignore: keep ringing
- Apply safety guards: no auto‑dismiss, capped snoozes, keyword fallback, max ring time
Evidence
When it rings, you don't reach for your phone: you just say "cinco minutitos más" (or "snooze for ten", or "ya estoy despierto, apágala") and it does the right thing.
It rings for 5 seconds, goes quiet, listens for 4, understands you, and then snoozes for the time you asked or turns off.
Safety guards, because a lazy alarm that makes you late is worse than none: It never dismisses by itself. Silence, mumbling or an unclear sentence keeps it ringing.
Fully local: whisper.cpp for speech-to-text and an open-weight LLM through Ollama to understand what you mean. Nothing leaves the device, and it works in airplane mode.
The core is covered by 25 unit tests (intent parsing, the ring loop's guards, scheduling) and 11 integration tests that hit a real Ollama model with no fallback allowed.
- Record date: 2026-10-23T14:11:30.176Z