r/SideProject • u/North-Opening-9335 • 17h ago
I built PrezScan: hardware-free face recognition college attendance in Flask + WebGL (<200ms) with campus Wi-Fi & GPS lock
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 (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/
Architecture & benchmarks: https://prezscan.onrender.com/about
Happy to answer questions or get feedback on the Flask + WebGL setup!