Docs/Features/Meal Planner

Meal Planner

Get personalized meal recommendations based on your pantry, nutrition goals, and cooking patterns. Powered by Google OR-Tools optimization (Mixed Integer Programming).

What is the Meal Planner?

The Meal Planner suggests what to cook based on what's in your pantry, your nutrition goals, and your past cooking patterns. It uses Mixed Integer Programming (MIP) optimization to find the best meals that:

  • Use ingredients you already have — Minimizes food waste
  • Match your nutrition targets — Protein, carbs, fats, calories
  • Respect dietary preferences — Vegetarian, vegan, gluten-free, allergies
  • Avoid meal fatigue — Suggests variety based on recent meals

Powered by Google OR-Tools (MIP Optimization)

The meal planner uses Google's Operations Research Tools (OR-Tools) with Mixed Integer Programming (MIP), the same optimization library used by Google Maps for route planning. It solves a complex constraint satisfaction problem to find the mathematically optimal meals for you—not machine learning, but rigorous mathematical optimization.

How It Works

Step 1: Analyze Your Pantry

The planner scans your current pantry inventory to see what ingredients are available. It prioritizes ingredients that are:

  • Close to expiry (use soon!)
  • High quantity (use them up)
  • Frequently used in your favorite recipes

Step 2: Check Nutrition Goals

The planner considers your daily nutrition targets:

  • Calorie target: Based on your BMR/TDEE
  • Macro ratios: Protein, carbs, fats
  • Meal-specific targets: Higher protein breakfast, balanced dinner, etc.

Step 3: Apply Constraints

The optimization algorithm applies your preferences:

  • Dietary restrictions: Exclude meat, dairy, gluten, etc.
  • Allergies: Never suggest foods you're allergic to
  • Dislikes: Avoid ingredients you've marked as disliked
  • Time constraints: Quick meals (<20min) vs elaborate cooking

Step 4: Optimize & Suggest

OR-Tools solves the constraint problem and returns 3-5 meal suggestions ranked by:

  • How well they match your nutrition goals
  • How many pantry ingredients they use
  • How recently you've cooked them (variety score)
  • Your historical preference (how often you cook them)

Accessing the Meal Planner

From the App

  1. 1. Open the Eatomate app
  2. 2. Tap "Meal Planner" from the home screen
  3. 3. Tap "Generate Meal Plan" button to create personalized meal suggestions
  4. 4. View suggested meals with nutrition breakdown and ingredient requirements
  5. 5. Optional: Lock specific meal items you want to keep by tapping the lock icon - locked items won't change when regenerating the plan
  6. 6. Tap a meal to see full details including cooking instructions
  7. 7. Cook the meal and log it by scanning or weighing ingredients

Personalization Over Time

The meal planner gets smarter as you use Eatomate. Here's how personalization evolves:

Week 1: Generic Suggestions

Based on popular recipes and standard nutrition targets. The system doesn't know your preferences yet, so suggestions may miss the mark.

Week 4: Learning Your Patterns

The planner has learned which recipes you cook frequently, which ingredients you buy regularly, and your typical meal timing. Suggestions are 70-80% relevant.

Week 8+: Fully Personalized

Suggestions are tailored to YOUR cooking style. The system knows your favorite recipes, portion sizes, cooking frequency, and seasonal preferences. 90%+ relevance.

Setting Nutrition Goals

To get the most out of the meal planner, set your nutrition goals in Settings:

1. Automatic (Recommended)

Enter your height, weight, age, gender, and activity level. The app calculates your TDEE (Total Daily Energy Expenditure) and suggests macro targets based on your goal (lose weight, maintain, gain muscle).

2. Custom Targets

Manually set daily targets for calories, protein, carbs, and fats. Useful if you're following a specific diet plan (keto, high-protein, etc.).

3. Meal-Specific Goals

Set different targets for breakfast, lunch, and dinner. Example: High-protein breakfast (30g), moderate lunch, light dinner.

Pro Tips

  • Keep your pantry updated — Scan receipts regularly so the planner knows what's available
  • Mark ingredients you dislike — Tap "Dislike" on ingredients to never see them in suggestions
  • Use "Quick Meals" filter — Perfect for busy weeknights (<20 min cooking time)
  • Save favorite suggestions — Tap the heart icon to save meals for later
  • Check planner daily — Suggestions change based on expiring ingredients

Example: Dinner Suggestion

Suggested: Chicken Stir-Fry

Why This Meal?

  • ✓ Uses chicken breast (expires in 2 days)
  • ✓ Matches your 650 cal dinner target
  • ✓ High protein (45g) for your goals

Nutrition

  • Calories: 645 kcal
  • Protein: 45g
  • Carbs: 52g
  • Fat: 22g
  • Fiber: 8g

Ingredients Needed

From Pantry:

  • ✓ Chicken breast (250g)
  • ✓ Bell peppers (150g)
  • ✓ Soy sauce (2 tbsp)
  • ✓ Garlic (2 cloves)

Need to Buy:

  • ✗ Broccoli (100g)
  • ✗ Ginger (15g)

Frequently Asked Questions

Can I ignore suggestions?

Absolutely! The meal planner is just a suggestion tool. You're free to cook whatever you want. The planner learns from what you actually cook, not what it suggests.

How often should I check the planner?

Check it daily or when you're unsure what to cook. Suggestions change based on your pantry state, so meals expiring soon get prioritized.

Can I request specific cuisines?

Yes! Use the cuisine filter to show only Italian, Chinese, Indian, Mexican, etc. The planner respects your filter and adjusts suggestions.

Does it work for families?

Yes! Set household nutrition goals and the planner suggests family-sized meals. Each household member can have different nutrition targets, and the planner finds meals that work for everyone.

Next Steps

Last updated: November 16, 2025