This week I added barcode scanning as an alternative input. The interesting part is the cost savings:
Photo scan: Claude Sonnet 4.6 Vision (~$0.05) + Perplexity Sonar (~$0.004) = ~$0.054/scan Barcode scan: UPCitemdb lookup (free) + Perplexity Sonar (~$0.004) = ~$0.004/scan For items with UPC/EAN barcodes (retail arbitrage, new-in-box products), this skips the vision model entirely. The UPC database returns the exact product, so confidence is actually higher than AI identification.
Technical details:
Browser-based barcode decoding via html5-qrcode (reads from a captured photo, not live video — getUserMedia is unreliable in Capacitor WebViews) UPCitemdb free tier (100 lookups/day, no API key) Same Perplexity + eBay Browse API pipeline for market research bwip-js generates barcode images for scan history when the UPC database doesn't return a product photo The app also runs on iOS and Android via Capacitor — same Next.js codebase. Camera access uses <input type="file" capture="environment"> which goes through the native OS camera picker, avoiding the getUserMedia permission nightmare on mobile.
Stack: Next.js 16 (App Router), TypeScript, Prisma + Neon PostgreSQL, Vercel, Claude Sonnet 4.6, Perplexity Sonar, Capacitor v8.
Other things shipped this week: investor forecasts dashboard with company valuations, 12 automated email sequences, operating cost tracking, MRR fixes.
WalterGR•39m ago