Stockd
Stockd is AI-powered kitchen inventory management that turns grocery receipts into money saved.
Inspiration
The idea came from a painfully familiar problem: buying groceries without remembering what is already at home. A third bottle of ketchup, another unopened pack of dal, or paneer discovered only after it expires may seem minor, but these mistakes quietly add up.
Quick-commerce has made ordering effortless. Remembering the kitchen has not kept pace. We wanted to build a pantry that updates from something people already have—their Blinkit, Zepto, Instamart, and BigBasket receipts.
What it does
Users upload screenshots of their grocery orders. Stockd extracts the products, quantities, prices, and estimated shelf life, then presents everything for review. Nothing enters the pantry until the user confirms it.
Once confirmed, Stockd:
- Maintains a live kitchen inventory
- Highlights food that should be used soon
- Tracks waste and its actual monetary cost
- Detects price changes between orders
- Suggests recipes for expiring ingredients
- Checks a shopping-cart screenshot against the pantry
- Warns users about duplicate purchases before checkout
- Calculates the money that could be saved
The anonymous demo includes nine historical orders and a planted household story: three ketchup bottles, duplicate packs of toor dal, ₹169 of food at risk, ₹102 of recorded waste, and ₹367 in potential duplicate spending caught.
How we built it
Stockd uses Next.js 15 and TypeScript for the application, Tailwind CSS and shadcn/ui for the interface, Supabase for authentication, PostgreSQL, row-level security, and private image storage, and Vercel for deployment.
GPT-5.6 handles perception and language tasks through the OpenAI Responses API:
- Receipt screenshot extraction
- Shopping-cart extraction
- Ambiguous product matching
- Recipe generation
Every model response uses a strict structured-output schema generated from Zod and is validated again on the server.
We deliberately kept deterministic decisions outside the model. TypeScript owns product normalization, Hinglish synonyms, unit conversion, duplicate thresholds, shelf-life limits, price drift, expiry calculations, and every rupee displayed to the user.
This hybrid architecture gives us the flexibility of AI while keeping financial calculations and inventory decisions predictable and testable.
Codex helped us move from an empty repository to a production deployment through six independently verified milestones. It accelerated design-system creation, OpenAI integration, database migrations, deterministic matching, automated testing, responsive QA, and the final demo narrative.
Challenges we faced
Receipt screenshots vary significantly between platforms. Product names contain brands, pack sizes, abbreviations, and inconsistent units. “Toor dal,” “arhar dal,” and branded variants may refer to the same pantry item, while visually similar names can represent different products.
We solved this with a layered matcher that performs normalization, Hinglish synonym mapping, category checks, gram-to-kilogram and millilitre-to-litre conversion, and character similarity scoring. GPT-5.6 is used only when the deterministic result is genuinely ambiguous.
Another challenge was trust. Automatically writing AI-extracted products into someone’s pantry could create bad data. Stockd therefore enforces a review-before-write workflow: model output is always editable, and nothing is saved without explicit confirmation.
We also had to make a data-heavy pantry feel useful on a 375 px mobile screen. The final interface prioritizes urgency and money: what expires next, how much is at risk, and what purchase can be avoided.
What we learned
The strongest AI products do not ask the model to do everything. Models are excellent at interpreting messy screenshots and producing helpful language, while deterministic code is better for quantities, identity matching, dates, and financial calculations.
We also learned that inventory management becomes more motivating when expressed in money instead of abstract statistics. “₹95 of paneer expires in two days” creates a much clearer reason to act than a generic expiry notification.
Most importantly, useful kitchen intelligence does not require additional household work. It can begin with the receipts already on your phone.
Built With
- api
- auth
- codex
- css
- gpt-5.6
- next.js
- openai
- pnpm
- postgresql
- react
- responses
- shadcn/ui
- storage
- supabase
- tailwind
- typescript
- vercel
- vitest
- zod
Log in or sign up for Devpost to join the conversation.