1. Inspiration

Choosing what to eat sounds simple, but it often becomes difficult when time, budget, dietary preferences, available ingredients, and location all compete at once. Someone may have food at home but no idea what to cook, while another person may need a nearby restaurant before their next meeting.

I've created BepFlow AI to turn that decision fatigue into a coordinated workflow. Instead of relying on one generic chatbot response, BepFlow AI uses specialized agents to evaluate the user’s schedule, inventory, preferences, budget, saved recipes, and nearby restaurants before recommending the most practical option.

2. What it does

BepFlow AI is a multi-agent food-decision and meal-planning dashboard. It helps users decide whether to cook, meal prep, or eat at a restaurant.

Its main capabilities include:

  • Searching nearby restaurants using Google Places.
  • Searching recipes through TheMealDB and Spoonacular.
  • Showing ingredients, measurements, instructions, cooking time, and original recipe sources.
  • Saving and editing recipes in a personal Library.
  • Recording ingredient substitutions for dietary needs or ingredient availability.
  • Saving favorite restaurants and reopening them in a map window.
  • Tracking pantry and refrigerator inventory.
  • Ranking recipes based on ingredients the user already has.
  • Identifying ingredients that are still missing.
  • Creating a custom meal plan from selected recipes.
  • Generating a consolidated shopping list for that plan.
  • Remembering cuisine preferences, dislikes, cooking-time limits, budget, and feedback.
  • Sending the current inventory, meal plan, recipe Library, restaurant candidates, and agent evidence to Qwen for a grounded recommendation.

The Chat with Agents experience exposes the reasoning of the Memory, Restaurant, Recipe, Inventory, Schedule, Budget, and Decision agents instead of presenting an unexplained answer.

3. How I built it

I built the frontend with React, TypeScript, Vite, Tailwind CSS, and Material UI. The interface is organized into Restaurants, Recipes, Inventory, Meal Planner, Library, and Chat with Agents.

A lightweight Node.js backend protects API credentials and connects the application to external services:

  • Google Places provides restaurant or places that you can eat, hang out or grab drinks.
  • TheMealDB and Spoonacular API provides recipes with measured ingredients, steps to cook, expands recipe discovery and original-source information.
  • QwenCloud acts as the Decision Orchestrator to help you decide what to plan on cooking or eating out.

The frontend ranks candidates using deterministic factors such as inventory coverage, cuisine preferences, travel time, rating, cooking time, and data-source quality. The ranked context is sent to Qwen as structured JSON, with instructions to select only from the provided evidence and avoid inventing restaurants or recipes.

I also created an MCP-compatible meal-planning tool layer with operations for:

  • Creating a meal plan.
  • Replacing a meal.
  • Building a grocery list.

The current version executes these operations locally through the backend. The architecture is ready to expose them through a deployed SSE MCP server and connect them to QwenCloud’s Responses API.

Supabase database with storage provides local persistence for preferences, inventory, saved recipes, substitution notes, favorite restaurants, and meal plans.

4. Challenges I ran into

One major challenge was coordinating several data sources without allowing the AI to invent unavailable options. I addressed this by ranking candidates before inference and giving Qwen a strict, structured context and selection policy.

External APIs introduced additional challenges. Google Places required careful key configuration and browser/region restrictions. Spoonacular uses a points-based quota, so repeated searches could exhaust the daily allowance. We added server-side caching and graceful fallback behavior so TheMealDB remains available when Spoonacular cannot respond. Recipe providers also return information in different formats. TheMealDB spreads ingredients and measurements across numbered fields, while Spoonacular returns structured ingredient arrays. I temporarily normalized both into one shared recipe model using Codex.

Another challenge was keeping user information synchronized across tabs. Inventory, saved recipes, substitutions, favorite restaurants, and meal plans all needed to remain consistent while also being available to the Qwen orchestrator. We solved this with shared React state, local persistence, and bounded context snapshots sent only when the user starts an agent conversation.

5. Accomplishments that we’re proud of

We are especially proud that BepFlow AI became more than a recipe search interface. It now connects the complete food-decision journey:

Preferences and schedule
→ restaurant and recipe discovery
→ inventory matching
→ meal planning
→ shopping-list generation
→ saved knowledge and feedback

Other accomplishments include:

  • Producing grounded AI answers using real application data.
  • Making agent evidence visible and understandable.
  • Combining multiple recipe providers behind one consistent interface.
  • Ranking recipes by actual pantry coverage.
  • Supporting editable recipes and personal substitution knowledge.
  • Turning selected recipes into an actionable shopping list.
  • Preserving useful behavior when an external API is unavailable.
  • Building a reusable meal-planning tool contract for a future MCP deployment.

6. What we learned

We learned that a useful agent system is not simply a collection of prompts. Each agent needs a clear responsibility, reliable data, and a defined output that another component can use.

We also learned that deterministic application logic and generative AI work best together. Code is better suited for calculating ingredient coverage, budgets, and rankings. Qwen is better suited for coordinating that evidence and explaining the final recommendation naturally.

External API reliability and quota management must be treated as core product concerns. Caching, fallback sources, protected credentials, and visible provider status make the system much more resilient.

Most importantly, personalization becomes more valuable when users can inspect and edit it. Saved substitutions, inventory records, favorite restaurants, and feedback allow recommendations to improve without turning the system into an opaque black box.

7. What’s next for BepFlow AI?

Our next milestone is deploying the Meal Planner as a real MCP server and migrating the Qwen integration to the Responses API. This will allow Qwen to invoke meal-planning and grocery-list tools dynamically instead of receiving only a context snapshot.

Future plans include:

  • Calendar integration for schedule-aware meal planning.
  • Grocery-store search, availability, and price comparison.
  • Nutrition and allergen analysis.
  • Household profiles with different dietary requirements.
  • Inventory expiration dates and food-waste reduction.
  • Automatic inventory updates after cooking.
  • Multi-week meal planning and budget forecasting.
  • Cloud synchronization across devices.
  • Authentication for different users and shared household Libraries.
  • Restaurant opening hours, live travel time, and reservations.
  • Learning from meal completions, substitutions, ratings, and skipped recommendations.

Our long-term vision is for BepFlow AI to become a personal food operating system—one that understands what users enjoy, what they can afford, what they already have, and what fits into their lives.

Built With

Share this project:

Updates