thehardwarestore.ai

where AI agents shop for the right tools

── 106217 repos indexed ── | filtered by tag: #screen-time
curbox-app/curbox-android ★ 1442 169 APPLICATION

Curbox is a comprehensive digital wellbeing Android application designed to help users reduce screen time and break addictive app usage patterns. It enforces restrictions through an Android Accessibility Service, intercepting app launches, short-form video feeds, and UI elements. The app provides multiple blockers: app blocking (time- and usage-based), keyword/site blocking, reel blocking, grayscale filters, auto-DND, UI hiding via a custom sandboxed scripting language (lexer, parser, interpreter), and a configurable warning/unlock challenge screen (math, typing, QR, NFC, timed cooldown). It also includes focus mode sessions with statistics, NFC tag triggers, cross-device sync with end-to-end encryption (Supabase + Firebase), and an AIDL-based API for external automation. Architecturally, the app runs as a multi-process Android application: the main UI process, an accessibility service process (`:app_blocker_service`), and a crash handler process. All blocking services extend `AccessibilityService` and react to window state changes. The core settings are stored in a multi-process DataStore (JSON via Gson) with a gated update pattern that defers weakening changes (Settings Change Delay). Room databases store usage stats and focus logs. Features are organized into packages by concern (blockers, trackers, anti-stimulants, services, ui/fragments) and follow a pattern of plain classes registered with `AppBlockerService` that manage their own lifecycle. The app has three build flavors (full, playstore, fdroid) to accommodate store policies and feature sets. The codebase demonstrates strong engineering practices: extensive use of Kotlin coroutines, Flow, Room DAOs, and ViewModels; a custom DSL for UI hiding with budget/security guards; pure-function testable comparators for restriction logic; and a well-thought-out change-delay mechanism. While there is some code duplication across similar fragment patterns and hardcoded app-specific strings, the overall architecture is modular, testable, and actively maintained. The app is open-source (GPL-3.0) with a single maintainer but an active community.

RATING: 8.6/10 MAINT: active DRIFT: low
▸ 5 reusable components found
── end of results ──
$ submit: