Business Card Scanner
Stack of cards in, structured contacts out
OCR pipeline that turns business card photos into structured contact records, with vCard and CSV export. Built so a coffee-break could empty the drawer of cards I keep meaning to type up.
Open the live appproblem
Manually typing a stack of business cards into a CRM is the kind of friction that makes you stop networking. OCR alone is not enough — the parsing problem is "is this line a phone number or a fax number".
solution
Flask app that runs OCR over uploaded card images, then a tuned parser pulls name, role, email, phone, and social handles into structured fields. A small admin UI lets you fix anything OCR got wrong before exporting.
architecture
external → compute → store → ui
outcome
Stack of cards becomes a CSV in a coffee break. Round-trips through a CRM without manual cleanup.
stack
capabilities
- →Image upload (single or batch)
- →OCR + structured parsing
- →Manual review and field correction
- →vCard and CSV export
lessons learned
- 01OCR + a parser beats a "smart" all-in-one model, because you can fix the parser without retraining anything.
- 02The hardest field to extract is "company" — every card lays it out differently, and the cue is layout, not text.
- 03Letting the user fix one wrong field is worth more than getting 90% of fields right automatically.