Facial Attendance
A kiosk-based attendance flow using real, on-device face detection and recognition — not a per-scan cloud API call, and not a gimmick: the matching model (@vladmandic/face-api, a TensorFlow.js face recognition library) runs entirely in the kiosk’s browser.
No camera frame is ever sent to a server. Detection, descriptor extraction and matching all happen locally on the kiosk device — relevant both for cost (no per-scan cloud fee) and for data protection (biometric images never leave the device).
Enrollment
A staff member enrolls a student by capturing a few live photos through the dashboard’s camera-capture flow. The system extracts a face descriptor (a 128-dimension numeric vector that represents the face, not an image of it) from each capture and averages them into one more robust template, which is what’s actually stored.
Matching at the kiosk
The public kiosk page loads the campus roster’s enrolled templates, then continuously compares the camera feed against them using Euclidean distance — the same metric and threshold (0.6) the underlying face-recognition model’s own documentation specifies as “same person.” A match below that threshold logs attendance automatically; no match means no one’s ID is at risk of being confused with someone else’s.
What’s stored
A 128-number descriptor per enrolled person — not a photo. The descriptor can’t be reversed back into an image of the person’s face.