cCalorieScan.

AI & Food Tech/Nov 6, 2025/4 min read

Two years of photo-logging: what we learned from 12 million plates

A debrief from CalorieScan AI's data: the most-eaten foods, the hardest dishes for the AI, and the patterns that surprised us.

BWritten by Bryan Ellis
AI & Food Tech

Over the last two years, our users have logged approximately 12 million meal photos. Here's what we learned, organized as honestly as we can.

The most-photographed foods

The top 25 most-logged dishes account for roughly 40% of all photos. The list is, in descending order:

  1. Coffee (with various add-ins)
  2. Eggs (scrambled or fried)
  3. Salad (varied)
  4. Greek yogurt
  5. Chicken breast
  6. Avocado toast
  7. Smoothies
  8. Pasta dishes
  9. Burrito bowls
  10. Sandwiches
  11. Pizza slices
  12. Burgers
  13. Sushi rolls
  14. Oatmeal
  15. Stir-fries
  16. Tacos
  17. Roasted vegetables
  18. Salmon
  19. Rice + protein bowls
  20. Granola bowls
  21. Cottage cheese with fruit
  22. Breakfast burritos
  23. Soup
  24. Cheese plates
  25. Pad thai / similar noodle dishes

This is a meaningful data set for what people actually eat, distinct from what fitness or food media claims people eat. The list is much closer to "American adult life" than to "any specific diet trend."

The hardest dishes for AI to identify

The categories where our model has the most trouble (in roughly descending error rate):

  • Casseroles and lasagnas. Layers are hidden; portion estimation is hard.
  • Soups with mixed ingredients. Surface tells you little about contents.
  • Heavily-sauced dishes. Curry, mole, gumbo. The sauce dominates.
  • Mixed-ingredient salads (especially with grains). A grain salad and a quinoa bowl look identical from above.
  • Family-style platters. What's a "serving" when the bowl is for four?
  • Fried foods. Coatings disguise the underlying protein.
  • Plates with many small components. Tapas, mezze platters.
  • Drinks served in opaque cups. Coffee with milk vs. coffee black.

For each of these, the natural-language editing step ("there's also lentils in it; the serving is half a cup") closes most of the accuracy gap. The pure-photo accuracy on these categories is ~65%; the post-edit accuracy is ~92%.

The categories where AI excels

Pure photo accuracy is highest on:

  • Single-protein, single-starch, single-vegetable plates
  • Open-faced sandwiches (toast, avocado toast)
  • Most sushi (very visually consistent)
  • Pancakes / waffles (highly stereotyped)
  • Greek yogurt parfaits
  • Most clean-plated restaurant fare

Accuracy here is 88–94% on first pass.

Patterns that surprised us

1. Breakfast under-eating is universal. Across the user base, the median breakfast is 320 calories with 12g of protein. Lunch is 530/22g. Dinner is 720/35g. The breakfast hole drives a lot of late-day snacking.

2. Saturday is the highest-calorie day, by far. ~22% above the weekday average for the median user. Sunday recovers most of the way back. The "Saturday effect" is real and it's mostly restaurants and alcohol.

3. Users dramatically underlog the week of holidays. The two weeks containing Thanksgiving and Christmas show ~60% reduced photo rates. Logging dies right when it would be most useful.

4. People who log breakfast in the first hour after waking are 2.3x more likely to log every other meal that day. Morning logging is a strong predictor of full-day logging.

5. Photo logs that include a hand or utensil for scale are 19% more accurate. We started suggesting it explicitly in the UI.

6. "Good days" and "bad days" cluster. People have streaks of high-quality days followed by streaks of low-quality days, more often than chance would predict. Probably reflects underlying mood/sleep/work patterns more than food specifically.

7. The most-asked natural-language correction is "no oil" / "less oil." People assume restaurants use less oil than they do, then correct downward.

8. Cottage cheese is having a moment. Up 240% in logs over the last 24 months. Driven, we think, by TikTok.

What we changed because of the data

  • Default protein targets bumped up after seeing chronic under-consumption
  • Breakfast quick-log shortcut added for the top 5 morning items
  • Restaurant menu data prioritized for the top 50 chains the data showed users actually visit
  • "Hand for scale" UI suggestion added on first plate of the day
  • Saturday-specific weekly review framing ("you tend to be 22% over on Saturdays — plan around it")
  • A "graduation check" prompt at the 6-month mark for users whose logs have plateaued in informational value

What we won't change

  • We will not reward high-frequency logging with badges
  • We will not introduce streaks
  • We will not nudge "you missed your goal!"
  • We will not use our user data for outside sales of any kind, ever

The bigger picture

The most useful data we collect is not "what foods people eat" — it's "what foods people stop logging." When a user transitions from daily logs to spot-checks, that's almost always graduation, not churn. Building a product that produces that transition is more important than maximizing daily active users.

We're trying. The data, mostly, is encouraging.

The point of the data is to understand the user well enough to make the app smaller in their life.

Try the app

CalorieScan AI is the photo-first calorie tracker.

Free on iOS. Snap a meal, get the macros, get on with your life.

Download free on iOS