OCR output is noisy
The problem
Logos, fonts, and layouts make raw OCR text unreliable to save as-is.
What I did
Added a review step: parsed fields are shown for correction before anything is stored.
Case study
Cross-platform mobile app that scans business cards, extracts contacts via OCR, and syncs them to a backend.
Networking events leave people with stacks of business cards and no fast path into organized contacts. Manual data entry is error-prone and time-consuming, especially after conferences or client meetings.
Card Vault removes manual entry entirely: the camera scan triggers an async OCR pipeline on the backend, parses name, title, company, email, and phone number using regex NLP, then returns structured data for review and save.
React Native (Expo) mobile client for business-card scanning built with TypeScript and file-based routing via Expo Router. Captures card images with expo-camera, sends base64 data to a Node.js backend that runs OCR + regex NLP parsing, and returns structured contact fields. Supports manual entry, light/dark mode, and local/backend sync.
The Expo (React Native) client captures a card with expo-camera and sends it as base64 to a Node.js backend. The backend runs Tesseract OCR, then regex-based parsing that pulls out name, title, company, email, and phone, and returns structured fields for the user to review before saving. The backend URL comes from .env, so one codebase targets local, staging, or production.
The problem
Logos, fonts, and layouts make raw OCR text unreliable to save as-is.
What I did
Added a review step: parsed fields are shown for correction before anything is stored.
The problem
Running OCR on-device would bloat the app and vary wildly by hardware.
What I did
Moved OCR and parsing server-side; the client only captures, sends, and displays.
Camera capture & base64 pipeline
expo-camera integration sends card images to the backend API for processing.
OCR + NLP contact extraction
Backend parses name, title, company, email, and phone from OCR text using regex NLP.
Contact CRUD & manual entry
Users can review, save, edit, and add contacts manually from the mobile app.
Confidence scoring & multilingual support
Visual confidence indicators and multilingual card parsing are future improvements.