Skip to content

About

Privacy-focused Android short-form video count and watch-time tracker

Resources

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

ScrollCount

ScrollCount is a privacy-focused Android app that estimates how many short-form videos you watch and how long you spend watching them. It keeps the results on your device and turns each day's count into a changing character state.

ScrollCount dashboard

Supported feeds

  • TikTok
  • YouTube Shorts
  • Instagram Reels
  • Facebook Reels
  • Snapchat Spotlight

ScrollCount supports Android 8.0 (API 26) and newer.

Install a development build

Requirements

  • JDK 17
  • Android SDK 36
  • An Android device with USB debugging enabled, or an Android emulator

Clone the repository and build the debug APK:

git clone https://github.com/wberri13/scrollCount.git
cd scrollCount
./gradlew assembleDebug

The APK will be created at app/build/outputs/apk/debug/app-debug.apk. Install it with Android Studio or ADB:

adb install -r app/build/outputs/apk/debug/app-debug.apk

Use ScrollCount

  1. Open ScrollCount.
  2. Read the accessibility disclosure and tap Agree and continue.
  3. In Android's Accessibility settings, select ScrollCount tracker and enable it.
  4. Return to ScrollCount. The status at the top should show that tracking is active.
  5. Open a supported app and browse its short-form feed normally.
  6. Return to ScrollCount to see today's count, watch time, per-app activity, weekly totals, and character calendar. Tap Sync latest activity to refresh the dashboard immediately.

To stop tracking, open Android Settings → Accessibility → ScrollCount tracker and turn the service off. You can use the rest of the app without enabling the service.

Settings labels vary slightly between Android manufacturers. If ScrollCount is not counting, confirm that its accessibility service is still enabled and that you are viewing one of the supported short-form feeds.

How it works

The accessibility service listens only to the supported app packages. While one of their short-form feeds is visible, ScrollCount temporarily examines accessibility labels, content descriptions, view IDs, and scroll events to recognize when the visible video changes. It also measures the time for which the feed remains visible.

The detection is heuristic because the supported platforms do not provide ScrollCount with a public short-video history API. Counts may vary as those apps change their interfaces or expose different accessibility information on different devices.

Every day begins at the highest character level. The character changes after each 100 detected videos, and the calendar preserves the daily result.

Privacy

Visible interface text is processed in memory and is never stored. ScrollCount saves only aggregate counts, watch duration, platform names, and timestamps in local Android SharedPreferences. The Android app makes no network requests, does not share tracking data, and disables Android backup for its stored data.

Read the ScrollCount privacy policy.

Development

Run the unit tests:

./gradlew test

Build a debug APK:

./gradlew assembleDebug

The Android application is in app/. The public privacy-policy site is in privacy-site/; its own README contains local development instructions.

Useful next steps for the tracker include:

  • Add an opt-in diagnostic screen for inspecting raw candidate snapshots.
  • Tune platform-specific fingerprints against current versions of each supported app.
  • Add explicit data export and deletion controls.

Important note

Accessibility services can expose sensitive on-screen information. Review the source and the in-app disclosure before enabling ScrollCount. The service is restricted to the supported package names and disables itself unless consent has been recorded.

License

ScrollCount is available under the MIT License.

About

Privacy-focused Android short-form video count and watch-time tracker

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages