Muster
Proof-of-concept facial recognition attendance for classrooms — camera capture matched against enrolled student embeddings.
Problem
Manual roll call burns instructional minutes and is easy to game. Muster prototypes camera-based check-in: enroll a reference face set, match live frames, and write attendance rows a teacher can audit.
What it covers
- Webcam capture pipeline with face detection pre-filter
- Embedding match against enrolled classroom roster
- React UI for session start, overrides, and audit export
- Confidence thresholds with manual fallback for ambiguous matches
export async function recordAttendance(sessionId: string, frame: ImageBitmap) {
const faces = await detectFaces(frame);
if (faces.length !== 1) return { status: 'ambiguous' as const };
const match = await matchEmbedding(sessionId, faces[0].embedding);
if (match.confidence < 0.82) return { status: 'low_confidence' as const };
await db.attendance.insert({ sessionId, studentId: match.studentId, at: Date.now() });
return { status: 'recorded' as const, studentId: match.studentId };
}