Inspiration

We live far from grocery stores. Going to one store, comparing prices, then driving to another store just to check something costs 45–60 minutes before we even start cooking. Doing it online is not much better — opening Coles in one tab, Woolworths in another, switching back and forth just to compare unit prices on the same product.

On top of that, all of us go to the gym. We actively track calories, protein, carbs and macros. But no grocery app tells you the nutrition breakdown of your basket before you buy — you have to add everything to your cart, go home, cook it, then check MyFitnessPal separately. The whole process is disconnected.

Then there is the meal planning side. After buying groceries, we still have to figure out what to cook, which ingredients match, what the steps are, and whether what we bought even makes a complete meal. That decision alone takes another 20–30 minutes.

Plantry came from wanting one place that handles all of it — price comparison, nutrition tracking, and meal planning — so we can spend that time at the gym instead.

What it does

Plantry compares grocery prices across Coles, Woolworths and IGA in one place — no tab switching, no driving between stores. It shows unit price and nutrition per dollar so gym-goers can optimise their basket for both budget and macros at the same time.

Once you have a basket, Plantry matches it to recipes automatically — showing what you can cook tonight with exactly what you have, the full ingredient list, cooking steps, and the nutritional breakdown per serving. The basket optimiser then suggests cheaper swaps that maintain your nutrition targets, with the saving shown clearly.

Everything happens in one tab. No switching between apps, no manual macro calculation, no separate recipe search.

How we built it

Built with Next.js 14, TypeScript, Tailwind CSS and Supabase (Postgres + Auth + Row Level Security). Product and nutrition data comes from Open Food Facts and USDA FoodData Central. Recipes are sourced from TheMealDB and a curated first-party collection.

The AI chat and product explanation features run on Google Gemini API with a grounded architecture — the AI can only explain facts that the deterministic code has already calculated. It cannot invent prices, nutrition values or allergen status. All safety- critical calculations (allergen blocking, budget limits, nutrition totals) are handled in code, not by the model.

The entire build was planned, implemented and reviewed using Claude Code, including specialist review agents for security, database design, TypeScript correctness and end-to-end testing.

Challenges we ran into

Keeping allergen safety unbypassable. The allergen block had to be a hard gate — no override by price score, no override by the AI, no softening by the optimiser. We ran dedicated security review passes and found two bypass paths before they reached production.

Keeping the AI grounded. The AI assistant is powered by Gemini but cannot invent any product data. Every response is built on structured facts the code already verified. This was the right call for a health-adjacent app but required careful prompt engineering and schema validation.

No public retailer API. Coles and Woolworths do not offer open pricing feeds. We built a curated dataset of 53 verified Australian products with a data provenance system, designed so a licensed feed can replace it later without touching the website.

Accomplishments that we're proud of

A fully working product shipped in 48 hours — real Supabase backend, real AI chat, real allergen blocking, 108 unit tests and 6 end-to-end tests all passing. The basket optimiser, recipe matcher, savings dashboard and grounded AI explanation endpoint all work on the live URL.

The architecture is production-grade, not a prototype. Row-level security is verified programmatically. Data provenance is tagged on every row. CI/CD deploys automatically on every push.

What we learned

Building for real dietary and nutrition needs forces you to think carefully about what the AI is and is not allowed to do. A model that confidently invents an allergen-safe label is worse than no AI at all. The grounded pattern — deterministic code for facts, AI for explanation — is the right architecture for any health-adjacent product.

We also learned that the hardest part of a grocery app is not the comparison feature. It is connecting comparison → cart → nutrition → recipes → savings into one unbroken flow that feels effortless.

What's next for Plantry

Real-time retailer pricing via a licensed feed — the architecture already supports this without changing any website code. Meal rotation memory so Plantry learns what you have cooked recently and actively suggests variety. Receipt scanning to auto-update your pantry and track actual vs planned spend. Semantic search so "cheap high-protein dinner under 30 min" returns meaningful results, not just keyword matches.

Built With

Share this project:

Updates

Submission history