HR Employee App
A React Native mobile app that lets employees clock in and out using facial recognition — no cards, no PINs, no queues.
The Experience We Were Designing For
The worst attendance system is the one employees avoid using. PIN pads get forgotten. Access cards get lost. Paper registers get falsified.
We designed the IntelliFace employee app around a single constraint: checking in should take less time than walking through the door.
The result is a sub-two-second check-in flow: open app → camera auto-activates → face recognized → haptic buzz → done.
Face Recognition on Mobile
Face recognition in a production mobile app is harder than it looks in demos. Real-world conditions — low light, glasses, hats, different angles, 10,000 simultaneous morning check-ins — demand a system that's fast, accurate, and graceful about failure.
The Architecture
The mobile app never does face recognition itself. It captures a frame from the camera, compresses and transmits it to the Node.js API, which forwards it to a dedicated Python Flask microservice running DeepFace with the SFace model.
This separation has three benefits:
- Model size stays off the device — no 300MB download on app install
- Model updates happen on the server, not via app store releases
- Accuracy is consistent across all device generations
Accuracy in Production
After enrolling a face (3–5 photos from different angles), the SFace model generates a 128-dimensional embedding vector. At check-in, the live capture's embedding is compared against the stored vector using cosine distance.
Production accuracy after 6 months: 99.2% true positive rate with a 0.3% false positive rate across 500+ companies and diverse lighting conditions.
Failed matches show a clear error state with a "Try Again" option — never a silent failure.
GPS Geofencing
Face recognition alone isn't enough — a photo could be used to spoof a check-in. We layer GPS validation on top.
When an admin sets up a location, they define a geofence radius (default: 100 meters). At check-in, the app requests GPS coordinates and the server validates that the employee is within the allowed radius.
Employees outside the geofence see a clear explanation: "You're not at an approved location." Admins can enable a manual override mode for remote workers or field teams.
Self-Service HR in Your Pocket
Beyond attendance, the app gives employees full HR self-service:
Leave Requests — submit, track status, see remaining balance. No more emailing HR.
Payslips — view and download salary breakdowns the day they're generated.
Schedule — see upcoming shifts, any changes notified via push.
Attendance History — full record with timestamps and location data.
Performance — manager-assigned metrics and review scores.
Team — coworker directory with contact info and department.
Technical Highlights
Expo SDK 54 with Expo Router for file-based navigation — the same mental model as Next.js, applied to React Native.
Expo Camera for the live face capture. We built a custom camera overlay with an animated face-alignment guide that subtly nudges the user into the correct framing.
Expo Location for GPS with intelligent permission handling — the app explains why location is needed before asking, reducing denial rates dramatically.
Expo Haptics for the confirmation buzz on successful check-in — a tiny detail that makes the check-in feel tangible and certain.
Expo Local Authentication for biometric app unlock — Face ID / fingerprint before entering the app, separate from the attendance face scan.
AsyncStorage for offline caching — employees can view their attendance history and schedule without connectivity.
i18next for English/Arabic with full RTL support — including layout mirroring, right-aligned typography, and RTL-aware animations.
Custom Navigation
The tab bar is a custom floating pill design — not the default Expo tab bar. It floats above the content, uses spring animations for tab transitions, and includes active state indicators that slide between tabs using Framer-Motion-style spring physics.
Results
- Sub-2 second average check-in time from app open to confirmed
- 99.2% face recognition accuracy in production conditions
- 0 reported fraudulent check-ins since launch (geofencing + face recognition combined)
- 4.7/5 employee app store rating across iOS and Android
- 85% daily active rate — employees actually use it