Skip to content
Harshith Pramod
All work

Episode 03 · Nothing Goes to Waste 無駄なし · 2nd place, PyGenic ARC Project Expo, 2025

Smart Pantry

Smart Pantry tracks what's in the kitchen and when it expires, builds the shopping list on its own, suggests recipes through an assistant called Iron Chef, and runs a community marketplace for surplus food.

Built with
React, TypeScript, Vite, Tailwind, Flask (Python), Supabase, Edge Functions, Vercel
Links

15% less weekly grocery spend, by tracking stock, building the shopping list for you and suggesting recipes from what's already there.

The problem

Pantry apps die at data entry. Nobody types in thirty items after a grocery run, so the app goes stale and food goes off anyway.

So the first job was retiring the form: three ways to log food, none of them typing.

Three ways in, one pantryBarcode to Edge functions; Bill photo to Edge functions; Voice to Edge functions; Edge functions to Pantry; Pantry to Shopping list; Pantry to Iron Chef; Pantry to MarketplaceBarcodeproduct lookupBill photoOCR readerVoiceassistantEdge functionsSupabasePantryrow-level securityShopping listbuilt automaticallyIron Chefrecipe suggestionsMarketplacesell or donate surplus
Three ways in, one pantry
  • Model call
  • A person decides
  • Data or tool

Decisions that mattered

Three capture modes, no forms
A barcode lookup, an OCR reader for grocery bills and a voice assistant each run as their own edge function. A whole grocery run gets logged without typing.
Households are walled off in the database
Each household's data is separated at the database layer with row-level security, not in application code, so a bug in a screen can't leak another family's pantry.
Surplus goes somewhere
Items about to expire can be sold or donated through a community marketplace, with orders and sales tracked for both sides.
A reason to come back
Consumption and spending analytics show where the money went, and achievements reward cutting waste, which keeps the pantry up to date.
What each feature runs on
FeatureBuilt with
Barcode captureBrowser scanner and a product-lookup edge function
Bill readerOCR edge function over a photo of the receipt
Voice assistantVoice-command edge function
Iron Chef recipesChat edge function with the pantry as context
BackendFlask and Supabase, hosted on Vercel

What I'd do next

  • Predict when staples will run out from consumption history, not just from expiry dates.