
- verification stages
- 8
- Indian document types
- 5
- network calls after load
- 0
Aadhaar, PAN, Driving Licence, Passport or Voter ID go through image-quality scoring, WASM OCR, type classification, field parsing, Verhoeff checksum validation, ONNX face detection and ELA forgery analysis — all client-side, every stage swappable through a model registry.
Problem
Document intelligence is usually a black-box API. VeriDoc needed to be inspectable and extensible: each verification signal visible, each engine replaceable with a fine-tuned model, and nothing leaving the device.
Approach
- 01
Eight stages resolve through a ModelRegistry so the OCR engine, classifier, parser, face detector or forgery analyser can be swapped without touching the UI.
- 02
Aadhaar numbers are validated with the real Verhoeff checksum UIDAI uses; the parser corrects classic OCR confusions (O→0, I/L→1) with digit-presence guards.
- 03
A PyTorch + Hugging Face pipeline in ml/ goes from synthetic cards through LoRA fine-tuning and evaluation to ONNX export back into the browser.
Results
- verification stages
- 8
- Indian document types
- 5
- network calls after load
- 0
- Created
- 26 Jul 2026
- Commits
- 10
- Default branch
- main
- License
- MIT
Stack
- Tesseract WASM
- ONNX Runtime Web
- Vanilla JS
- PyTorch
- Hugging Face PEFT/LoRA