Pantry & Receipt App
Scan receipts, let AI decode the items, and track your household pantry with shelf life alerts — plus a receipt consolidator for expense tracking.
Pantry & Receipt App

A household tool that turns receipt photos into a live pantry inventory — and doubles as an expense tracker.
How It Works
Upload a receipt photo → Google Cloud Vision extracts the raw text → Claude Haiku decodes store abbreviations, identifies each food item, assigns shelf life, and extracts the purchase date → items land in the pantry automatically. The AI understands store context: HMart means Korean groceries, Ranch 99 means Chinese groceries, Costco means bulk sizing.
Key Features
- AI receipt parsing — single Claude Haiku call decodes the entire OCR text, filters non-food items, deduplicates, and flags ambiguous items for review
- Per-variety shelf life — strawberries vs. blueberries vs. dragon fruit each get different estimates
- Retrospective purchase dates — Claude extracts the receipt date so shelf life starts from when you actually bought it
- Review flags — amber ring on items Claude was not sure about
- Category filter — Produce, Dairy, Meat, Frozen, Pantry, Other
- Used / Toss / Edit / Delete — full item lifecycle management
- Receipt consolidator — scans any receipt, extracts date/vendor/amount/category, exports as TSV for Google Sheets
- Multi-user accounts — household members share the same pantry and receipts
Architecture
Receipt photo upload → QStash async queue → Google Cloud Vision (OCR) → Claude Haiku (AI parse) → Prisma → Turso DB
Stack
| Layer | Tech |
|---|---|
| Framework | Next.js 16 (Turbopack monorepo) |
| Database | Turso (LibSQL) via Prisma 7 |
| Auth | NextAuth v5, bcryptjs, DB-backed users |
| OCR | Google Cloud Vision REST API |
| AI | Claude Haiku |
| Queue | Upstash QStash |
| Mobile | Expo React Native |