
Wafid Auto-Fill — Passport OCR Chrome Extension
Chrome Extension (TypeScript) · FastAPI · pytesseract · MRZ parsing · PDF/Image OCR
Problem
Booking a medical appointment at wafid.com means manually retyping every passport field — slow and error-prone, especially at volume.
Solution
Built a Chrome extension + FastAPI OCR backend. The user uploads a passport (image or PDF); the backend runs pytesseract OCR with a dedicated MRZ pass that acts as the reliable source of truth for name, DOB, passport number and expiry, plus opportunistic page extraction for email/phone/national ID. Manual fields (country, city, visa type, etc.) are saved in the popup and persisted across sessions. Anything OCR misses is flagged with a ⚠️ badge for one-time inline editing, then bundled into the auto-fill payload — no re-OCR needed. The content script fills the live wafid form using configurable selectors.
Impact
Turns minutes of manual passport data entry into a single upload-and-confirm step. Pragmatically documented: MRZ is the trusted field source, selectors are adjustable per tenant, and the localhost-only backend is clearly marked as needing auth before any internet exposure.
