Inspiration

Growing up, our parents would flip through weekly flyers to figure out what to cook. We wanted to automate that — so anyone can get a smart, budget-friendly meal plan without the manual work.

What it does

SmartCart takes what you're craving, cross-references this week's local grocery flyers, and generates recipes built around ingredients that are on sale near you right now.

How we built it

We built the frontend in React and the backend in Node.js, using the Flipp API for flyer data, Google Gemini to generate recipes, Nominatim for address autocomplete, and OpenStreetMap to locate nearby stores.

Challenges we ran into

Getting accurate store locations was tricky — Google Maps didn't map cleanly to flyer store data, so we combined Nominatim geocoding with OpenStreetMap to resolve the nearest matching store and get its coordinates.

Accomplishments that we're proud of

We built a fully functional AI-powered meal planner with zero paid APIs. Gemini, Nominatim, and OpenStreetMap are all free — meaning the whole stack runs at no cost.

What we learned

We deepened our understanding of Google AI Studio and structured AI output with Zod schemas, and got hands-on experience querying OpenStreetMap data and building Overpass queries.

What's next for SmartCart

Better recipe formatting, smarter ingredient matching, and support for a wider range of flyers and regions across Canada.

Share this project:

Updates