Inspiration

Every week, I wander the supermarket aisles, enticed by attractive ingredients but lacking a coherent plan. This approach leads to mismatched meals, wasted food, and the perennial question: "What's for dinner?"

What it does

Mealplanner transformed this chaos into clarity. By understanding the user's dietary requirements and preferences, it crafts personalized weekly meal plans and generates optimized grocery lists.

How we built it

We used Auth0 for authentication and AWS + DynamoDB to store the information From the app, we call 3 different n8n workflows, which use webhooks from DynamoDB and call several agents:

  • an agent calling Grocy's MCP server to retrieve the user's house stock (ie ingredients already in their fridge or pantry)
  • an Anthropic agent crafting recipes based on the user's dietary requirements and preferences (as stored in DynamoDB)
  • a LinkUp agent looking for published recipes on the web matching the user's dietary requirements and preferences. We decided to use this approach as considered it more ethical to redirect users to the author's generated content and bring traffic to their website (where they can benefit from the ad revenues to pay for their work)

Challenges we ran into

We had difficulties setting up an existing MCP server on n8n. We managed to unlock this thanks to the n8n team onsite. We had difficulties setting up communication between our app, Dynamo DB and n8n.

Accomplishments that we're proud of

We managed to orchestrate several agents leverage MCP servers ! We had good team dynamics and we can say everyone in the team learned new tools

What we learned

MCP agents take much longer to load than we're used to. E.g., it doesn't generate recipes in seconds. We had to review the user journey on the app as they can't be waiting for seconds for something to be generated

What's next for Meal Planner Agent

First, we want to add an agent for automatic online orders. A grocery list is nice but your grocery ordered is way better! Unfortunately, the APIs were not open so it would take time to setup a partnership with a supermarket. Then, we would like to optimize the app by reusing the recipes generated so we don't have to keep generating new ones all the time. This will help drastically save cost as the app scales. Mid-term, we would like to add knowledge to improve the suggestion based on past preferences and add the possibility for the user to get out of that preference loop (eg a "surprise me" button with totally different recipes)

Built With

Share this project:

Updates