Weekly Grocery List (Sample UI)
This page shows how the app could present a weekly grocery list generated from the meal plan, including proposed local ingredient substitutions.
Core Grocery Items
| Ingredient | Quantity | Category |
|---|---|---|
| Red rice | 5 kg | Carbohydrates |
| Lentils (parippu) | 1.5 kg | Protein |
| Coconut milk | 3 packs | Healthy fats |
| Fresh fish | 1.5 kg | Protein |
| Chicken | 1.5 kg | Protein |
| Leafy greens (mallum mix) | 7 bundles | Vegetables |
| Seasonal vegetables | 3–4 kg | Vegetables |
| Curd / yogurt | 5 small tubs | Dairy |
| Jackfruit / polos | 2 medium | Plant-based protein |
| Bananas & fruit | 14–20 pieces | Fruit |
Quantities above are illustrative and would be calculated by the back-end diet optimization engine in the real system.
Substitution Suggestions
Western meal plans often include foods that are expensive or uncommon in Sri Lanka. Grist focuses on swapping those items with practical local options.
| Original Ingredient | Local Substitute | Notes |
|---|---|---|
| Quinoa | Red or brown rice | Higher familiarity and easier to source locally. |
| Greek yogurt | Curd (kiri) | Similar protein profile when portioned correctly. |
| Blueberries | Guava, papaya, local berries | Rich in vitamins and more affordable. |
| Almond butter | Peanut butter | Cheaper and widely available. |
| Beef steak | Fish or chicken | Closer to local dietary norms and easier to obtain. |
| Imported oats with toppings | Plain oats + banana + coconut | Uses standard local items instead of expensive imports. |
In the full implementation, substitution logic is driven by nutritional constraints, price data, and user preferences.
From Theory to Practice
The grocery list and substitution engine are based on ideas from constraint satisfaction problems (CSP) and linear programming (LP) discussed in Chapter 2.
Constraint Satisfaction
Hard constraints such as maximum budget, calorie range, and health restrictions can be encoded so that every generated list respects these limits.
Linear Programming
LP can be used to find the combination of foods that meet nutritional requirements at minimum cost, especially important in low-budget settings.