Vibrates your Amazfit GTR 3 when you've been doomscrolling on your phone.
- An AccessibilityService on your Android phone counts scroll events on social media apps
- When you scroll past the threshold within the time window → app fires a notification
- The Zepp app mirrors the notification to your GTR 3 → watch vibrates
No content is ever read — only scroll event counts.
- Android Studio Hedgehog (2023.1.1) or newer
- Android phone running Android 8.0+ (API 26+)
- Amazfit GTR 3 paired via Zepp app
-
Open project in Android Studio
- File → Open → select the
DoomscrollGuardfolder
- File → Open → select the
-
Build & install
- Connect your Android phone via USB (enable developer mode + USB debugging)
- Click ▶ Run (or
Shift+F10) - Or: Build → Build Bundle(s)/APK(s) → Build APK(s) → sideload the APK
-
Grant Accessibility permission (required)
- Open DoomscrollGuard
- Tap "Enable Accessibility Permission"
- Find DoomscrollGuard in the list and toggle ON
- This is what lets the app count scrolls
-
Grant Notification permission
- Android 13+ will prompt automatically on first launch
For the watch to vibrate, Zepp must forward DoomscrollGuard notifications:
- Open Zepp app on your phone
- Go to: Profile → GTR 3 → Notifications
- Enable App Alerts
- Scroll down and make sure DoomscrollGuard is toggled ON
The watch will vibrate and show the alert text whenever doomscrolling is detected.
| Setting | Default | Description |
|---|---|---|
| Scroll trigger | 40 scrolls | Number of scroll events to count |
| Within | 60 seconds | Time window to count them in |
| Alert cooldown | 120 seconds | Minimum time between alerts |
Sensitivity guide:
- Very sensitive: 20 scrolls / 30 sec window
- Default (recommended): 40 scrolls / 60 sec window
- Relaxed: 60 scrolls / 120 sec window
Instagram, TikTok, X/Twitter, Reddit, YouTube, Facebook, Pinterest, Snapchat, Tumblr, LinkedIn
To add a custom app, edit TRACKED_PACKAGES in ScrollTrackerService.kt and add its package name.
You can find any app's package name at: https://play.google.com/store/apps/details?id=<package_name>
- The AccessibilityService only receives scroll event counts — no text, images, or content
- Nothing is sent to any server — fully local, offline app
- Source code is fully auditable above
Watch isn't vibrating:
- Make sure Zepp notification mirroring is enabled for DoomscrollGuard (see setup step 4)
- Check that notifications are not silenced on your phone for this app
- Confirm the Accessibility service is still enabled (Settings → Accessibility)
Too many / too few alerts:
- Adjust sliders in the app — lower scroll count = more sensitive
Service stops after phone restart:
- Android AccessibilityServices survive reboots automatically once granted
- If it stops, simply re-toggle in Accessibility settings