CANTERBURY PWA Full-Stack PWA, Multi-Store Optimizer & Docker

SmartShop: Retail Intelligence & Receipt Vision

Mobile PWA for grocery price comparison and multi-store deal optimization in Canterbury NZ. Dynamically discovers local supermarkets via OSM Overpass API, calculates TSP travel routes, and parses receipts using Gemini 3.5 Flash-lite vision.

PWA / Mobile Flask PostgreSQL 15 Docker Compose Gemini 3.5 Flash OSM Overpass API 85 Unit Tests
🖼️ Visual System Architecture & Interface
SmartShop: Retail Intelligence & Receipt Vision
85/85 Passing
Unit Test Suite
$0 (OSM Overpass)
Map Billing Cost
TSP Multi-Store
Deal Optimizer
Gemini 3.5 Flash
Receipt Vision

🎯 Consumer Retail Optimization

Canterbury consumers face fragmented grocery prices between Pak’nSave, New World, and Countdown/Woolworths. Existing apps require expensive Google Maps API keys or manual price entry.

🛒 Core Intelligent Capabilities

  1. Zero-Cost Store Discovery: Queries OpenStreetMap Overpass API with multi-mirror failover (overpass-api.de, maps.mail.ru, kumi.systems), achieving full local supermarket discovery without recurring map billing.
  2. TSP Multi-Store Deal Optimizer: Solves a Traveling Salesperson Problem route (Home ➔ Store A ➔ Store B ➔ Home), recommending multi-store trip splits whenever grocery savings exceed the threshold.
  3. Triple-Mode Receipt Vision: Uses gemini-3.5-flash-lite with GPU-accelerated image downsampling (createImageBitmap) to parse printed paper receipts directly into digital line items.

🧪 Rigorous QA & Container Deployment

  • 85 passing unit tests verifying price parsers, spatial deduplication, and currency normalization.
  • Packaged with Docker Compose, running Flask + Gunicorn and PostgreSQL 15.

💻 Tech Stack & Repositories

  • Backend: Python 3.11, Flask, Gunicorn, PostgreSQL 15, Docker Compose.
  • Frontend: PWA, Vanilla JS, IndexedDB, HTML5 Camera API.
  • AI OCR: Gemini 3.5 Flash-lite Vision API.
  • GitHub Repository: smartshop.git