ActivityWatch / ActivityWatch/aw-android
aw-notify: smart anomaly-detection notifications (percentile/sigma above baseline)
- Langage dominant
- Kotlin
- Étoiles
- 265
- Forks
- 57
- Merge moyen
- 2 j 21 h
- PR mergées (30 j)
- 19
Description
## Background
Opened from discussion on #199 (aw-notify Android implementation).
Currently `aw-notify` on both desktop and Android uses fixed user-defined thresholds (e.g. "alert at 60/120/240 min of Work"). Erik's suggestion: replace or supplement these with statistical anomaly detection — no user config needed.
## The Idea
Instead of asking users to set thresholds, detect statistically unusual sessions automatically:
- **>90th percentile** of daily time for a category (based on rolling 30-day history)
- **~2 sigma** above mean for a category
- Examples: "Today's Twitter use is already at your 95th percentile (1h 45m vs your usual 35m)" or "Exceptional focus day — Work time in top 10%"
This makes defaults useful out-of-the-box with zero configuration, avoids threshold fatigue (fixed thresholds get ignored fast once familiar), and provides positive reinforcement not just warnings.
## Scope
- Applies to both `aw-notify` (desktop) and the Android notification worker (#199)
- Requires historical data access (aw-server query API already supports arbitrary time ranges)
- Percentile computation is straightforward; the harder part is choosing the right lookback window and minimum data requirements before anomalies can be computed
## Non-Goals
- This is not a replacement for per-user threshold config (that can coexist)
- Not blocking #199 — the v1 fixed-threshold approach is still useful while historical data accumulates
## Related
- #199 — Android aw-notify implementation (prompted this issue)
- [aw-notify desktop](https://github.com/ActivityWatch/aw-notify)
Guide de contribution
Aucun guide de contribution indexé pour ce dépôt
Évaluation
Cette issue n'a pas encore été évaluée.