Problem
Barcode scanning works but many movie barcodes return no results. The lookup chain is:
barcode → UPCitemdb free API → product title → TMDB search
UPCitemdb's free trial endpoint has patchy coverage. When a barcode isn't found, the whole chain returns empty — even though TMDB would find the movie if searched by title.
Current behaviour
- Scanner detects barcode ✓
/api/lookup/movies/by-barcode/{code} returns { configured: true, results: [] }
- Frontend shows "No match for {code}" with fallback button
- User must manually type the title to find it
Proposed improvements
Short-term (low effort)
- Make the fallback more prominent — e.g. "Barcode not found. Enter the title to search instead."
- Consider a secondary UPC database (e.g. BarcodeLookup.io, UPC Database API) as a fallback when UPCitemdb returns null
- Log missed barcodes so users can report which ones are missing
Long-term (Phase 5)
- Photo-snap visual lookup: capture cover image → reverse-image search → import
- Would bypass UPC databases entirely for physical media
Acceptance criteria
- Barcode lookup finds more movies (higher hit rate)
- When barcode isn't found, the fallback path is clear and easy
- Users know why a barcode failed and what to do next
Notes
This is a limitation of the free UPCitemdb tier (~100 lookups/day, limited database). The paid tier may have better coverage but requires an API key.
Problem
Barcode scanning works but many movie barcodes return no results. The lookup chain is:
UPCitemdb's free trial endpoint has patchy coverage. When a barcode isn't found, the whole chain returns empty — even though TMDB would find the movie if searched by title.
Current behaviour
/api/lookup/movies/by-barcode/{code}returns{ configured: true, results: [] }Proposed improvements
Short-term (low effort)
Long-term (Phase 5)
Acceptance criteria
Notes
This is a limitation of the free UPCitemdb tier (~100 lookups/day, limited database). The paid tier may have better coverage but requires an API key.