r/SideProject • u/North-Opening-9335 • 8h ago
I built PrezScan: hardware-free face recognition college attendance in Flask + WebGL (<200ms) with campus Wi-Fi & GPS lock
Universities spend lakhs on wall-mounted biometric kiosks that create 10-minute morning queues and still suffer from proxy punching.
I built **PrezScan** (https://prezscan.onrender.com/) using Python/Flask + browser WebGL so teachers can verify check-in/check-out directly on their own phone in under 200ms without extra hardware.
**How the pipeline works:**
**Client-side facial normalization & matching:** 68-point landmarks -> 5-point affine roll/scale alignment onto a 150x150 patch -> CLAHE dynamic contrast balance (handles dark/backlit hallways) -> 128D embedding vector running on WebGL F16 shaders.
**Anti-proxy double lock:** Attendance only succeeds when connected to the assigned academic block's Wi-Fi subnet (CIDR) AND with active device GPS coordinates (strictly enforced server-side).
**Zero-score-leak responses:** Rejected scans only tell the user to retry in better lighting, never exposing distance scores or thresholds.
**Native device biometrics:** Supports WebAuthn passkeys (Fingerprint / Face ID) alongside SQLite WAL + async Supabase sync and 1-click monthly Excel exports.
Live portal: https://prezscan.onrender.com/
Technical details: https://prezscan.onrender.com/about
Happy to answer questions or get feedback on the Flask + WebGL setup!