-
released this
2026-04-25 08:46:44 -07:00 | 52 commits to main since this releasekiwi v0.6.0
New: Visual Label Capture (kiwi#79)
When a barcode scan returns no product from Open Food Facts, paid-tier users see a capture offer instead of the generic manual-entry prompt.
Flow:
- Scan unknown barcode -> offer card: calm copy, no urgency
- Tap Capture label -> camera opens on nutrition panel
- Vision model extracts name, brand, serving size, nutrition, ingredients, allergens
- Review form with amber highlights on low-confidence fields
- Save stores product in captured_products cache; future scans resolve locally
Technical highlights:
- Migrations 036-038: captured_products table, source CHECK constraints updated
- Service: app/services/label_capture.py (stub-tolerant VisionRouter, KIWI_LABEL_CAPTURE_MOCK bypass)
- Endpoints: POST /scan/label-capture, POST /scan/label-confirm
- needs_visual_capture: bool added to BarcodeScanResult
- Tier gate: visual_label_capture requires paid tier (free tier sees needs_manual_entry)
- 42 new tests, 369 total passing
Downloads
-
Source code (ZIP)
2 downloads
-
Source code (TAR.GZ)
2 downloads