On-device sleep phase and snore tracking. No account. No cloud. No network calls — ever. Verified by CI on every commit.
Most sleep apps treat your most vulnerable hours as a data source. DeltaSleep is built around a different premise: your data is yours, full stop.
Awake, Light, and Deep sleep classified every 30 seconds using on-device audio heuristics. No wearable required.
Spectral band-power analysis in the 20–300 Hz range. Flags snore events per epoch without recording a single clip.
A colour-coded sleep stage chart rendered locally. See your night at a glance the moment you wake up.
Full epoch data exported to any folder via the system file picker. Open format — your data, your tools.
Target: ≤ 3% drain per 8-hour night. The mic duty-cycles to 80% when no events are detected.
Uses the mix-with-others audio session. Spotify, Audible, podcasts — they all keep playing.
Optional countdown, then the mic calibrates room noise. No cloud call, no account prompt.
A Rust library (compiled via NDK) extracts RMS, ZCR, and band power from 10 ms audio frames. Raw PCM is discarded immediately.
Every 30 s, a sleep phase label and snore flag are written to a local SQLite database. That's it.
Tap Stop. Your hypnogram appears instantly — no sync, no spinner, no server.
| UI | Kotlin + Jetpack Compose |
| Database | Room (SQLite, app-private storage) |
| DSP | Rust → .so via Android NDK |
| Build | Gradle 8.6 + cargo-ndk |
| Min SDK | Android 8.0 (API 26) |
| License | GPLv3 |