Skip to main content

Overview

Scroll Less is a sophisticated digital wellbeing platform designed to transform the user’s relationship with their smartphone. Unlike standard screen-time trackers that merely report data, Scroll Less acts as an active interventionist. It leverages a architecture to monitor usage patterns in real-time and provide “Nudges” and “Limits” to break mindless scrolling loops. The module’s core philosophy is built on three pillars:
  1. Trust: Local-only data processing (Open Source).
  2. Insights: Moving beyond numbers to identify behavioral patterns (e.g., “Morning Traps”).
  3. Intent: Forcing friction between impulse and action.

Architecture & Data Flow

The system operates as a reactive pipeline. It captures raw hardware and software events, processes them through a local database, and projects them onto a Material 3 UI.

Key Components

1. The Tracking Engine

The engine utilizes the to monitor the screen. This allows the app to calculate physical scroll distance—a unique metric that translates digital consumption into real-world meters.

2. The Intervention System

  • App Limits & Groups: Users can set daily caps on individual apps or “Limit Groups” (e.g., Social Media).
  • The Blocking Screen: A overlay that triggers when limits are reached, featuring a “Snooze” with exponential backoff.
  • Nudges: Non-intrusive alerts that appear during long sessions to provide a “reality check.”

3. The Insight Engine

This component transforms raw timestamps into human-readable narratives. It identifies specific behavioral archetypes:
  • Morning Trap: High usage immediately after waking up.
  • Night Owl: Usage past a defined bedtime.
  • Bounce Loop: Rapidly switching between two or more distracting apps.

Operational Logic

Scroll Calibration

A standout feature is the physical distance mapping. Since different devices have varying , the app includes a calibration tool. Users match a physical credit card to an on-screen box, allowing the system to calculate exactly how many meters the user’s thumb has traveled.

The “Post Box” (Notification Batching)

To reduce , the Post Box intercepts notifications and delivers them in scheduled batches (e.g., 9 AM, 12 PM, 6 PM). This prevents the “Notification Pull” where a single buzz leads to a 20-minute scroll session.

The Pledge

The module includes a “Declaration of Independence”—a psychological commitment flow where users sign a digital covenant to reclaim their attention. This serves as a behavioral “nudge” to increase the user’s internal motivation.

Data Engineering & Transformation

The feature relies on a complex relational schema to provide historical context.
  • Source Tables:
    • scroll_sessions: Tracks continuous scrolling movements.
    • raw_app_events: Log of every app foreground/background switch.
    • unlock_sessions: Tracks device pickups.
    • notifications: Metadata of incoming alerts (categorized by app).
  • Transformations:
    • Aggregation: ViewModels use to combine raw events into “Daily Vibes” and “Focus Flows.”
    • Treemapping: Notification data is transformed into a treemap visualization to show “Noisy Apps” by volume.
    • Heatmaps: Usage intensity is mapped to a GitHub-style calendar grid.

Dependencies

  • Accessibility Service: Critical for scroll and app-switch detection.
  • UsageStats Manager: Required for historical app usage data.
  • NotificationListenerService: Required for the Post Box and notification analytics.
  • Material You: The UI dynamically adapts its color palette based on the user’s wallpaper using logic.
  • Hilt/Dagger: (Implied) Used for to manage the lifecycle of the Tracking Engine and Repositories.
Last modified on January 22, 2026