Face recognition that never uploads a face — building FaceVision

FaceVision runs detection, recognition and liveness checks entirely in the browser with ONNX Runtime Web. The backend never sees an image, only vectors.

On the mic
On the mic

FaceVision started from a constraint I set for myself before writing a line of code: raw pixels never leave the device. Detection, embedding and anti-spoofing all run client-side via ONNX Runtime Web. The backend only ever receives coordinates and vectors.

Real models, verified, not assumed

YuNet handles detection, SFace handles recognition (96.9% verified accuracy on LFW), and MiniFASNet handles anti-spoofing. All three were checked byte-for-byte against their ONNX graphs and reference C++ source — not assumed correct from documentation, actually verified.

What "privacy by design" means in practice

It's not a policy statement, it's an architecture decision that removes a whole category of breach: if the server never stores an image, an image can never leak from the server. The stored artifact is a 512-dimension embedding — useful for matching, useless for reconstructing a face.

Testing a vision pipeline for real

260+ automated tests across frontend and backend, plus a real load test against production. Vision code is easy to demo and hard to trust — the gap between the two is testing.

The lesson for anyone building computer vision

Ask what the server actually needs to store before you write the upload endpoint. Most face or document apps default to storing the original image because it's the path of least resistance, not because the feature requires it. Ninety percent of the time, a derived representation is enough — and it's the difference between a privacy incident and a non-event.

Live demo and engineering checklist: github.com/Pranjulrathour/FACEVISION-NEXTUPGRAD-.

Computer VisionPrivacyONNXBrowser AI
Pranjul Rathour
Pranjul Rathour
GenAI Engineer · Kanpur, Uttar Pradesh, India

GenAI engineer and AI product builder with 2+ years shipping production-grade AI systems: RAG pipelines, fine-tuned LLMs, hybrid retrieval and multi-modal apps across vision, speech and OCR, architected end to end from ingestion to deployment. Leads engineering for SCULT INDIA's 14-member team, founded the 500+ member TechVerse Enclave community and has mentored 200+ students. Three hackathon first prizes: Changethon 2025 (IIT Roorkee), Product Genesis at Vividhotsava 2025 (CSJMU Kanpur) and BYTEBATTLE (MeetKats).

Open to GenAI roles, hackathon judging, mentorship sessions and guest talks at colleges. Email pranjulrathour41@gmail.com.

Keep reading

More on Vision & speech

All Vision & speech posts →
Campus talks · hackathon judging · mentoring

Want this as a live session at your college?

Open to GenAI roles, hackathon judging, mentorship sessions and guest talks at colleges.

Pranjul Rathour, GenAI engineer in Kanpur