
Hadirin
UID: hadirin-001Completed
Mobile attendance app with on-device face recognition and geo-fenced check-in, built for verifiable, location-aware attendance records.
System Architecture
Flutter frontend with Firebase Auth for sessions and Firestore as the primary database. Face enrollment extracts a 128-d embedding on-device via MobileFaceNet and uploads the photo to Cloudinary, storing the vector in Firestore. At check-in, a live frame is processed through Google ML Kit for detection, then matched against the stored embedding using cosine similarity. Geo-fence validation runs client-side before the attendance record is committed to Firestore.
Performance Metrics
Face embedding comparison: ~250ms average on mid-range Android.
Geo-fence validation: <50ms.
End-to-end check-in flow: ~2.5s on stable connection.
Snapshots

Face enrollment and check-in detail.

Check-in detail alongside the geo-fence.

Admin dashboard and user home.

Dark and light mode.

Users list showing role badges.

User home with check-in history.