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 Web App
- 1. Navigate to "Meal Planner" from the dashboard
- 2. View your personalized meal plan with suggestions for breakfast, lunch, dinner, and snacks
- 3. Click "Generate New Plan" to regenerate suggestions
- 4. Lock meals you want to keep by clicking the lock icon - locked items persist when regenerating
- 5. Favourite meals by clicking the heart icon - add them to your favourites collection
- 6. Apply favourites to specific meal slots (breakfast, lunch, dinner, or snack) with one click
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
- ✓Lock meals you love — Use the lock icon to keep specific meals when regenerating your plan
- ✓Build a favourites library — Click the heart icon to save meals, then quickly apply them to any slot
- ✓Apply favourites flexibly — Use the slot buttons (breakfast, lunch, dinner, snack) to place any favourite in any meal
- ✓Regenerate strategically — Plans prioritize expiring ingredients, so regenerate when your pantry changes
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.
What are locked meals?
When you lock a meal (by clicking the lock icon), that specific meal stays in place when you regenerate your plan. This is perfect for meals you're excited about and don't want to change.
How do favourites work?
Click the heart icon on any meal to save it to your favourites. You can then apply any favourite to any meal slot (breakfast, lunch, dinner, or snack) with one click. Build your personal library of go-to meals.
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
- →Set up your nutrition goals for personalized suggestions
- →Build your pantry with receipt scanning
- →Learn about physics-based reconciliation for accuracy