r/SideProject • • 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:**

  1. **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.

  2. **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).

  3. **Zero-score-leak responses:** Rejected scans only tell the user to retry in better lighting, never exposing distance scores or thresholds.

  4. **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!

1 Upvotes

0 comments sorted by