YOLO · OCR · InsightFace · FastAPI · PostgreSQL · React
eKYC system
Verify someone's identity from a national ID card and a selfie.
Problem
Banks, fintechs and telecoms need to verify identity remotely, and they need to catch fake IDs and spoofed faces while doing it.
Features
- ID card capture. Detection, cropping and perspective correction, with blur and glare checks.
- OCR in Arabic and English for name, address, ID number and birth date.
- ID number validation. Format and checksum, cross-checked against the other extracted fields.
- Face from the card. The photo is extracted and its background removed.
- Liveness check with spoof detection for printed photos, screens and masks.
- Face matching between the selfie and the ID photo.
- Admin dashboard to approve, reject or send a case to review.
How it works
The user captures the ID, the system extracts and validates the data, cleans up the card photo, runs a liveness check on the selfie, matches the two faces and returns a decision. Anything uncertain goes to a reviewer in the dashboard.
- 01ID capture
- 02Data extraction
- 03Photo cleanup
- 04Liveness
- 05Face match
- 06Decision
Stack
- Model
- OpenCV · YOLO · OCR · InsightFace · MediaPipe · SVM · PyTorch · ONNX
- Backend
- FastAPI
- Database
- PostgreSQL
- Frontend
- React admin dashboard