Why Global AI Calorie Apps Get Indian Food Wrong (A Dal Case Study)
Written by Rishi Bhojnagarwala
Nutrition Reviewed by Dr. Hetal Pal, PhD in Nutrition Science
We photographed a katori of dal and asked two of the world's most advanced AI models to estimate its calories. Both were off by more than double.
A Simple Test
We took a photograph of a single katori of dal — about as ordinary an Indian food photo as exists — and asked GPT and Gemini to estimate its calorie and protein content.
The results reveal exactly why global nutrition apps, built primarily around Western food photography, consistently fail on Indian meals.
Three Compounding Errors
First, the identification. Neither model recognized the dish as dal specifically. Both defaulted to "lentil soup" — a generic label that discards every piece of recipe context that actually determines its nutritional content: how much water was used, what the dal-to-liquid ratio was, what regional or household variation was being photographed.
Second, the portion size. A standard katori holds approximately 125 grams. Both models estimated closer to 200 grams — a 60% overestimate before any calorie math had even begun.
Third, the density. Indian dal is cooked to a fairly consistent dal-to-water ratio across most home recipes. Both models implied a raw dal quantity roughly three times higher than that standard ratio, treating the dish as far thicker and more concentrated than it actually was.
The Net Result
Stack these three errors together, and the output was 300 calories and 15 grams of protein.
The actual katori: 130 calories, 5 grams of protein.
More than double the calories. Three times the protein. From one of the most common dishes eaten across India, multiple times a day, by hundreds of millions of people.
This Isn't a One-Off Glitch
It would be easy to dismiss this as a quirk of one dish or one bad photo. The published research says otherwise.
A University of Sydney evaluation of 18 different AI food-tracking apps found a specific, named limitation: these systems struggle significantly with mixed dishes from non-Western cuisines — in that study's own testing, AI apps overestimated the calories in beef pho by 49% and badly misjudged pearl milk tea, both flagged as consequences of mixed, culturally-specific dishes falling outside the data these models were mostly trained on.
More tellingly, the foundational research in this field identified the same pattern years earlier: portion and volume estimation, not food identification, is the largest source of error in AI-based calorie tracking — a finding that has held up consistently as the field has advanced. That's precisely what happened with our dal — the models weren't entirely wrong about what they were looking at. They were badly wrong about how much of it, and how it was made.
Why This Happens
The underlying reason is straightforward once you think about how these models are trained. The vast majority of food-image training data skews toward Western food photography — a plate of grilled chicken and rice, a burger, a bowl of pasta — where the calorie-dense components sit visibly on the plate.
Indian food is closer to the opposite case. A gravy-based dal, a curry, a sabzi — the ghee, the oil used in tempering, the actual ratio of solid ingredient to liquid, none of it is visible to a camera in the way a grilled chicken breast is visible. Independent app testing has flagged this exact pattern: dishes with calorie-dense ingredients hidden inside a sauce or gravy are where generic AI food-recognition consistently performs worst.
AI can tell you, reasonably reliably, that you're looking at a lentil-based dish. It has no reliable way to know how much dal, cooked at what ratio, in what quantity of water — which is exactly the information that determines the actual calorie and protein count.
What We Built Instead
After testing dozens of approaches, we landed on a hybrid model. AI still handles what it's genuinely good at: recognizing that a dish exists and giving a first pass at what it might be. But instead of trusting that model's raw calorie output, we run the recognition against our own database — built specifically around Indian food, containing verified recipes, standard ingredient ratios, regional measurement conventions, name variants and aliases, common pairings, and cuisine and course classification.
The improvement in accuracy is immediate and specific. Take idli: three idlis, correctly identified at 40 grams each, totaling 120 grams, at 180 calories. No generic assumption, no guessing at density — a number grounded in how idlis are actually made and sized.
Why This Actually Matters
This isn't a small technical footnote. If a global calorie app tells you your katori of dal was 300 calories when it was actually 130, and you're tracking toward a daily calorie target, that single error can quietly wreck your entire day's numbers — not because you ate too much, but because the app was wrong about how much you ate.
Multiply that across every meal, every day, for months, and it becomes obvious why so many people report that calorie tracking "doesn't work for them." In many cases, it isn't a failure of discipline. It's a failure of the underlying data.
How Caddy Fits Into This
This is the actual, technical reason "built for Indian food" isn't a marketing slogan for us — it's the specific difference between a number you can trust and one that's off by 2 to 3x, on the most ordinary dishes eaten across the country.
Score 8 only means something if the number behind it is accurate. That's why we didn't just wrap a generic AI model in an Indian-sounding interface — we built the food database itself, from the ground up, so the Score actually reflects what's on your plate.
Know what you ate. Know how much.
Score 8. Lose weight. That's it.
GetCaddy.ai
Sources
[1] Evaluating the Quality and Comparative Validity of Manual Food Logging and Artificial Intelligence-Enabled Food Image Recognition in Apps for Nutrition Care. Li, Yin, Choi, Chan & Chen, Nutrients (University of Sydney), 2024. https://www.sydney.edu.au/news-opinion/news/2024/08/29/ai-food-tracking-apps-need-improvement-to-address-cultural-diversity.html
[2] Im2Calories: Towards an Automated Mobile Vision Food Diary. Meyers et al., ICCV, 2015 — foundational paper establishing portion/volume estimation as the dominant error source in AI calorie tracking. https://ieeexplore.ieee.org/document/7406507
[3] Katori dal and idli nutrition figures per Caddy's Bon Happetee database.
Frequently Asked Questions
- Why do AI calorie apps like ChatGPT or Gemini get Indian food wrong?
- They're trained mostly on Western food photography, where calorie-dense ingredients sit visibly on the plate. Indian dishes like dal, curry, and sabzi hide their oil, ghee, and ingredient ratios inside a gravy — information a camera simply can't see.
- What's the biggest source of error in AI calorie tracking?
- Portion and volume estimation, not food identification. AI models are generally good at recognizing that a dish is dal or idli — they're much worse at judging how much of it there is and how it was prepared.
- How much can AI misjudge a simple dish like dal?
- In our own test, GPT and Gemini estimated a standard katori of dal at roughly 300 calories and 15g protein — more than double the actual 130 calories and three times the actual 5g protein.
- Do all AI nutrition apps struggle with Indian and Asian food?
- Published research backs this up broadly — a University of Sydney evaluation of 18 nutrition apps found AI-integrated apps had specific difficulty with mixed Asian dishes, with errors like a 49% calorie overestimate on beef pho.
- How does Caddy avoid this problem?
- By not relying on raw AI output for the final number. AI handles initial recognition, but the actual calorie and protein count comes from Caddy's own database of verified Indian recipes, portion conventions, and ingredient ratios — not a generic model's guess.
Get Caddy
Your simplest way to eat smarter with Indian food
Download
