Most diet advice that reaches Colombo was written for someone else's kitchen. It tells you to cut rice, skip coconut and live on salads. Then real life happens: a rice packet at lunch, string hoppers on a Sunday, short eats at a meeting.
We wanted to know what our members actually eat. So we looked at every meal they logged with Lena, the AI in the Apex app, between June and November 2026. That is more than 7,500 meals, about half of them logged from a photo of the plate. No one is named or identifiable here: every figure combines many members' meals.
The short version: Sri Lankan food works for fat loss and for building strength. The gap is protein, and you can close it without giving up the food you like.
What our members actually eat
Rice and curry is the most logged meal by a distance. Eight in ten fully logged days include at least one Sri Lankan dish, and almost half include dhal, chickpeas, green gram, cowpea or soya. Chicken and eggs are the most common protein, followed by dhal, chickpeas and soya, then fish.
This is what a typical logged plate carried. These are whole meals as members ate them, curries and sambol included, not 100 g portions.
| Meal | Calories | Protein | Carbs |
|---|---|---|---|
| Rice and curry with chicken | 560 | 38 g | 62 g |
| Rice and curry with fish | 530 | 32 g | 62 g |
| Rice and curry with egg | 550 | 24 g | 65 g |
| Rice and curry, dhal or soya only | 570 | 23 g | 68 g |
| Biryani | 680 | 38 g | 65 g |
| Kottu | 580 | 26 g | 48 g |
| Roti or pol roti meal | 535 | 28 g | 54 g |
| Pittu meal | 475 | 22 g | 46 g |
| String hoppers meal | 465 | 24 g | 48 g |
| Hoppers meal | 440 | 21 g | 52 g |
| Kiribath | 420 | 16 g | 56 g |
| Short eats: rolls, patties, cutlets, vadai, buns | 420 | 15 g | 45 g |
Two things stand out. A rice plate comes to about 550 calories whatever sits next to the rice, but its protein swings from 23 g to 38 g depending on what that is. And kiribath and short eats carry the least protein on the list.
The gap is protein, not rice
On days when members logged everything, the typical day came to about 1,550 calories and 90 g of protein. Carbohydrate made up about 43% of those calories, fat about a third and protein just under a quarter.
Every member's protein target is set individually, and the typical target is around 145 g a day. So the typical fully logged day reached about two-thirds of it, roughly 45 g short. That is about one large chicken breast.
Breakfast is where most of the gap opens.
| Meal | Typical protein |
|---|---|
| Breakfast | 19 g |
| Lunch | 28 g |
| Dinner | 29 g |
A traditional breakfast of string hoppers, pittu, roti, hoppers or kiribath came to about 15 g of protein when nothing like eggs, dhal, chickpeas, green gram or a protein shake was added. With eggs, dhal, chickpeas, green gram or cowpea added, the same breakfasts came to about 22 g. Kiribath breakfasts were around 11 g.
Fibre was low too, at about 13 g on a typical logged day. Most guidance puts adults at 25 g or more.
Logs always miss something, like a biscuit with tea or the oil in the pan, so real calorie intake is a little higher than the logs show. The pattern holds anyway: protein runs short, and it runs shortest in the morning.
Swaps that work
None of these ask you to give anything up.
Keep the rice, change what sits next to it
Rice with dhal only and rice with chicken came in at almost the same calories, about 570 and 560. The chicken plate carried 38 g of protein against 23 g. If your plate is dhal and vegetables, add a piece of fish or chicken, two eggs or a soya curry.
Fix breakfast first
Add two eggs, or a cup of boiled chickpeas, green gram or cowpea, to your string hoppers, roti or pittu. Per 100 g, boiled green gram has about 10 g of protein and chickpeas about 9 g, each with 7 to 8 g of fibre. Traditional breakfasts with eggs, dhal, chickpeas, green gram or cowpea logged about 7 g more protein than those without. Breakfasts with a whey shake logged 38 g.
Choose red where it counts
Red string hoppers carry about 2.5 g of fibre per 100 g, against 0.3 g for white. For rice the difference is small: red kekulu has about 1.1 g per 100 g, and white varieties range from about 0.4 g to 1.2 g. With rice, the portion matters more than the colour. Members' red-rice plates logged about 10 g less carbohydrate than white or basmati plates. Per 100 g the carbohydrate is almost identical, so that difference came from the plate, not the rice.
Keep the coconut, measure it
Fat was about a third of calories on a typical day, and much of it comes from coconut. Pittu has about 344 calories per 100 g against about 200 for string hoppers, because of the coconut in it. Coconut sambol has about 179 calories per 100 g and gotukola sambol about 59. A spoon of pol sambol is fine. For volume, add gotukola sambol or a mallum.
Swap the short eats
Short eats came in at about 420 calories and 15 g of protein. A bowl of boiled chickpeas or cowpea with lunu miris gives the same protein for fewer calories. A whey shake, as members logged it, was about 240 calories and 35 g of protein.
Plan the kottu
Kottu came in at about 580 calories and 25 g of fat. It does not need to go. Make it the planned meal of the day, ask for extra chicken and vegetables, and ask for less oil.
How we deliver it at Apex
The guide above is general. What gets results is doing it every day, with your own numbers.
- Targets from your numbers. Your calorie and protein targets are set from your measurements, your goal and your training, and checked by our team before they go live.
- A plan in Sri Lankan food, with swaps built in. Every meal in your weekly plan is built from a protein, a carbohydrate, a fat and vegetables, and each lists several options weighed to the same target. For about 60 g of protein, that might be 195 g of chicken breast, 265 g of white fish or 215 g of tuna. Carbohydrate options include red rice, string hoppers, hoppers and roti. Vegetables include gotukola, okra, brinjal and pumpkin. Our team reviews every plan before it reaches you.
- Logging that fits a rice-and-curry life. Take a photo or send Lena a message. She logs the meal with its numbers and tells you what you have left for the day. Ask what to have for lunch, and the answer is built from what is left.
- Someone reading it. Lena sends one review each evening and one nudge each morning. Your coach reads your weekly check-in and adjusts the week ahead.
It adds up. Among members with at least eight weeks between their first and last body-composition scan, 57% lost body fat and 71% held or built muscle. See the results.
How we worked this out
- We used every meal Apex members logged with Lena between 6 June and 8 November 2026. Staff and test accounts are excluded.
- Figures are medians, rounded. No individual's data is shown, and every figure combines many members' meals.
- A fully logged day is one with at least three meals and at least 1,000 calories.
- Lena estimates calories and macros from photos and descriptions, so a single entry can be off. Across thousands of meals, the medians are stable.
- Per-100 g reference values are from the Sri Lankan Food Composition Database (IRD).
This is general guidance, not medical advice. If you have diabetes, kidney disease or another condition, check changes with your doctor first.
Want this done for you? Book a free chat with the team.
