The inspiration for PushPals came from observing the constant tug-of-war between productivity and distraction right here at HackPSU. We noticed that traditional app blockers often feel like a digital cage, which usually leads users to just disable them in frustration. Instead of a punitive approach, we wanted to create a system of gamified discipline. By transforming mindless scrolling into a reward that must be earned through "Progressive" tasks like walking or reading, and "Completion" tasks like finishing school assignments, we turned the phone from a source of distraction into a powerful motivational tool.

The technical foundation of the app was built using Kotlin and Jetpack Compose for a modern, responsive interface, with Firebase Firestore serving as the real-time backbone for tracking user points and their "Time Bank." To make the blocking mechanism effective, we developed a persistent Android Foreground Service that leverages the UsageStats API to monitor active applications. When a user tries to access a restricted app like Instagram, our service checks their earned time balance in Firestore; if the balance is empty, it triggers a system overlay to redirect them back to their goals.

Building this on Android 16 presented our most significant hurdles, as the OS's aggressive battery optimization frequently tried to kill our background monitoring. Navigating the specific requirements for foreground service types and managing the precise decrementing of "earned time" without draining the battery required deep technical troubleshooting. Through this process, we not only sharpened our mobile development skills but also gained a deeper understanding of behavioral psychology, learning that users are far more disciplined when they have a clear, earned path to their rewards.

Built With

Share this project:

Updates