EAN Extraction System
A multi-stage computer-vision pipeline for extracting product barcodes with local decoding, Gemini fallback, and human review.

The EAN Extraction System is a multi-stage computer-vision pipeline for extracting EAN and UPC values from product images. It tries deterministic local decoding first, reserves Gemini for difficult cases, and sends uncertainty to a human review queue.
Problem and intended users
Product-image workflows need barcode data even when photographs are skewed, poorly lit, low contrast, or otherwise difficult for a single decoder. The system is intended for catalogue, retail, or operations teams that need a repeatable extraction workflow with visible processing state and an exception path.
My role and contribution
I created and developed the system. I designed the staged processing architecture, local and AI fallback strategy, data flow, manual-review interface, reporting, and deployment model.
Approach and technology
Images are normalized and enhanced before fast local decoding with ZBar or ZXing. Difficult cases fall back to Gemini, while ambiguous or failed results move into manual review. The supported formats are EAN-13, EAN-8, UPC-A, and UPC-E.
Azure Blob Storage holds the image workflow, Cosmos DB using the MongoDB API tracks processing state, and background workers handle preprocessing, primary decoding, fallback, retries, and reports.
Evidence and current outcome
The public source repository documents the architecture and contains the implementation. It shows the complete processing and review path. I do not publish an accuracy benchmark, volume benchmark, or verified cost-saving figure, so none is claimed here.
Limitations and status
Running the system requires its infrastructure and model credentials. AI fallback remains probabilistic, and low-confidence results still require human verification. The repository is complete, but its proprietary licence should be reviewed before reuse.