Guilt is an inspiration from meta (pun intented), it tracks the apps usage and maps it with geo locoation data where the app was last used. The app is built for

Tech stack & Open-source libraries

  • Minimum SDK level 21
  • 100% Kotlin based + Coroutines + Flow for asynchronous.
  • JetPack
    • Lifecycle – dispose observing data when lifecycle state changes.
    • ViewModel – UI related data holder, lifecycle aware.
    • Room DB
  • Permisions
    • Location
    • UsageStat
    • Foreground Service

Basic overview

  • As the app starts it starts a foreground service. The service calls the usageStat api to fetch recent events, and feteches the location at that moment.
  • Then service inserts that data in sql db (ROOM).
  • When the app is opened again, it fetches the latest entries from DB and shows it on the home.


View Github