FACE TRACKER / Smart Glasses Lab

Real-time face recognition · 100% in-browser · MediaPipe + face-api.js + Three.js
v32
Critical camera freeze fixed · Skin ITA + expressions restored
BUG FIX: v31 had let ethLabel/skinITA declared AFTER use in strict mode → ReferenceError → onResults crashed every frame → frozen camera
BUG FIX: skin ITA + expressions + demographics were silently dropped — passed as null to resolveIdentity() in second (greedy) loop
All demographics now correctly stored and passed through; skin tone, ITA, ethnicity and expressions accumulate properly again
Best-of all versions: v30 multi-face matching + anchors + lite mode + perf panel + v25 full expression/ITA readout
Apr 2026
Launch →
v31
13 HIGH-severity bugs fixed — comprehensive code audit (camera broken)
⚠ BROKEN: let hoisting TDZ bug causes ReferenceError in onResults every frame → frozen camera
Expressions: always read cache every frame · Double JPEG encode eliminated · RAF handle stored (3D loop actually stops)
syncLiveBadges called after renderLibPanel · Live glow uses currentFrameDets not sessSeen
Apr 2026
Launch →
v30
Expressions restored · Profile photos fixed · Social import link · Bug audit
Expression scheduler reverted to correct setTimeout pattern (Promise microtask caused TF.js contention)
Profile photos: full fallback chain facePhotos → photoDataUrl → thumbDataUrl (survives reload)
Photos panel: Social Import Tool link · Lite toggle now loads expr model if switching from lite
Canvas placeholder shown when no photo saved yet
Apr 2026
Launch →
v29
Critical fixes: auto-lite OFF, 3D mesh restored, expressions fixed, multi-face ID
Auto-lite mode removed — was silently activating on 4GB RAM machines, hiding 3D + killing expressions
2D landmark mesh restored (was incorrectly gated behind lite mode flag)
Expressions now correctly passed through greedy multi-face assignment loop
Named profiles: anchor descriptors + NAMED_THRESH=0.44 prevents identity drift/swapping
Multi-face greedy exclusive assignment — same named person can't match two faces simultaneously
Shirt debug: fixed canvas corners · Expression scheduler: Promise microtask (no stall under load)
Apr 2026
Launch →
v28
Anchor descriptors · Greedy multi-face · 3D close btn · Perf panel drag
Named anchor descriptors locked on rename · Greedy exclusive face assignment · Perf panel draggable+resizable · LinkedIn/Facebook profile links in live card
Apr 2026
Launch →
v27
Performance monitor · Sampling zone fixes · Crop-space debug overlay
⚡ Perf panel with live timing for all subsystems · Hair 12% above forehead · Shirt at frame corners · ITA/debug overlay uses correct crop-space transform
Apr 2026
Launch →
v26
qalarc.com branding · Lite mode · Pooled canvas · RAM optimisations
Lite mode toggle (opt-in) · Pooled crop canvas · Half-res expression snap · qalarc.com links in header + help modal
Apr 2026
Launch →
v25
Live↔Library linking · Clickable live cards · Real-time thumbnail sync
Live panel cards clickable → jumps to library card · Library cards show live crop + pulsing LIVE badge · syncLiveBadges() lightweight DOM sync
Apr 2026
Launch →
v24
Debug overlay · Browser camera help · 56px thumbnails · disk/WS explained
ITA/hair/shirt debug boxes accurate · Brave/Chrome/Firefox/Edge/Safari camera instructions · Help modal explains all status indicators
Apr 2026
Launch →
v23
Panel drag fix · 3D rotation fix · ITA forehead-only · Photo persistence
Panel resize direction fixed · 3D mouse drag fixed · Shirt sampling at chest · 64px thumb persists through reload · Live card layout stable
Apr 2026
Launch →
v22
Brave camera fix · Browser-specific permission UI
detectBrowser() · Brave Shields warning · Version selector
Apr 2026
Launch →
v21
Colour signature · Beard-aware ITA · Hair + shirt identity markers
Hair + shirt colour stored as secondary identity check · EMA colour update
Apr 2026
Launch →
v20
Parallel descriptor compute · Performance · Colour blacklist
All descriptors computed in parallel · Debounced library saves · FPS cap improvements
Apr 2026
Launch →
v19
Expression rolling window · 30s history · Undo stack
Per-face 30s expression rolling average · Undo (Ctrl+Z) · Expression bars in profile
Apr 2026
Launch →
v18
Beard-aware skin sampling · Library manager modal
Removed lower cheek/jaw ITA landmarks · Named library create/switch/delete UI
Apr 2026
Launch →
v17
ITA skin tone · Ethnicity · 7-region geometry · Multi-photo gallery
ITA from L*a*b* · 7-class ethnicity from face geometry + skin · Profile gallery
Apr 2026
Launch →
v16
Photo gallery · Profile modal · Face photo history
Profile view with gallery of saved crops · ✕ remove · 💾 save live frame
Apr 2026
Launch →
v15
Soft-match threshold · Duplicate guard · Blacklist
3-tier match/soft/new · Descriptor blacklist prevents re-enrol of deleted faces
Apr 2026
Launch →
v14
Age + gender · FaceNet descriptor · face-api.js
TinyFaceDetector + AgeGenderNet + FaceRecognitionNet · 128-dim descriptor
Apr 2026
Launch →
v13
Stable centroid tracker · Multi-frame enrolment · Quality gate
Track IDs follow by centroid · 3-frame averaging · Laplacian quality gate
Apr 2026
Launch →
v12
Full 3D solid mesh · Back-of-head geometry · Resizable panels
898-tri solid mesh + back-of-head verts · Canonical UV texture
Apr 2026
Launch →
v11
3-column layout · Live 3D mesh · Multi-library slots
Canonical UV warp · Named library slots · Photo analysis import
Apr 2026
Launch →
v10.1
Named library slots · Single-click merge · Per-face expression panels
📚 Libraries modal · 30s rolling expression history
Mar 2026
Launch →
v5
Stable baseline · 3-tier threshold · Auto-merge · Event log
Original working version — reliable fallback
Mar 2026
Launch →

📥
Social Import Tool
Scrape LinkedIn / Facebook connections → import into face library · Bookmarklet-based · 100% local
Launch →
All processing 100% local — no video leaves your device
Save server: python3 save_server.py on localhost:8787 (optional)
GitHub ↗  ·  qalarc.com ↗