A Compose MVVM Android app that counts people in real-time using camera-based face/head detection. It also allows manual counting via volume buttons. Volume up to increment and volume down to decrement. Built with MVVM architecture and clean code for easy maintanance and scalability.
-
Count using the adjustible camera view, returns the number of faces detected by the camera.
-
- Count using the volume+ and volume- to increament and decreament count respectively.
- Mimics the electronic tally counter.
-
- Count as a crew/team and see all participants' count and total in real-time.
- Count with other available users who are online and 1KM around you.
- See available counters around you.
- Select who joins the count session.
- See each others count in real-time.
-
Save Count to offline database (RoomDB).
-
Edit Profile details.
-
Kotlin for Android.
-
Jetpack Compose.
-
Kotlin Coroutines for asynchronous operations which gives the app a faster response and better battery efficiency.
-
Google ML kit to detect faces and return the number of faces detected.
-
GeoFirestore: used to get the loation of available counters and add them to a session count.
-
Room Database to store counts offline.
-
MVVM Architecture.
-
Firebase firestore.
-
Firebase Auth: Implemented email/password with firebase Auth.

