Estimating a meal's calories from a photo
Food tracking almost always fails for the same reason: weighing, searching, entering. A photo analyzed by AI removes the friction, at the cost of an estimate instead of a measurement. Here's how to get usable numbers, and how to read what you get.
What a photo can actually reveal
A vision AI identifies the visible foods and compares their surface area to reference points (plate, cutlery, glass) to estimate a portion. It recognizes a chicken breast, rice, a salad, a store-bought dessert well. It struggles with what is dissolved or hidden.
| Well estimated | Poorly estimated |
|---|
| Distinct, visible foods | Absorbed cooking oil |
| Portions compared to the plate | Sugar in a sauce or marinade |
| Standardized dishes (poke bowl, pasta) | Cream in a blended dish |
| Identifiable drinks | Salt added during cooking |
Taking a usable photo
- Take the photo before starting to eat, from directly above the plate.
- Frame the whole plate, leaving a utensil visible for scale.
- Avoid backlighting: strong shadows make foods disappear.
- Add a sentence for what isn't visible: “cooked with two tablespoons of olive oil.”
- If you know a quantity, say it: “about 150 g of rice.”
A single portion clarification reduces the error far more than a better photo.
Reading the result correctly
- Look at the trend over several days rather than one isolated meal's total.
- Macros (protein, carbs, fat, fiber) are often more informative than calories.
- A low confidence level means “ask me to clarify,” not “this is wrong.”
- For a prescribed diet, an estimate doesn't replace a healthcare professional's guidance.
Compare yourself with your needs, not an average
A total of 2,400 kcal means nothing on its own. Happy Assistant estimates your needs with the Mifflin-St Jeor formula: gender and date of birth come from your profile, weight, height and activity level from what you have memorized. Targets for calories, protein, carbs, fat, fiber and salt are recomputed on every view — no frozen value to maintain.
The declared activity level is only an initial hypothesis: once workouts are logged, measured expenditure is what counts. The app averages your training over the last fourteen days, adds already planned sessions, and derives your calorie needs. The protein target follows the same logic: a grams-per-kilo coefficient based on your real practice (endurance, strength, mixed), raised in a calorie deficit to preserve muscle mass.
- Fill in gender and date of birth in the profile sheet (tap the avatar).
- Tell the assistant your weight and height: “I weigh 71 kg and I'm 1.80 m”.
- State your activity: “I work out three times a week”.
- Open Profile → My diet: the bars now compare against your needs.
Without weight or height, the app stays on generic adult benchmarks — and says so, rather than passing an average off as your need.
Connecting it with your dietary restrictions
If the assistant knows your allergies, intolerances or diet, it flags conflicts before any nutritional comment. You can state this information by voice (“remember that I'm lactose intolerant”) and review it at any time in Profile → My memory.
Method, uncertainty and sources
A photo identifies foods and estimates portions; nutritional values are then matched to reference food data. Oils, sauces and hidden ingredients remain the main uncertainty. Correcting a portion or ingredient recalculates the meal.
- Measurement: quantities you explicitly provide.
- Estimate: visible portions, calories and nutrients inferred from a photo.
- Recommendation: comparison with personalised benchmarks, never a diagnosis.
- References: Mifflin-St Jeor resting-energy equation; ANSES and EFSA nutrition guidance.
Frequently asked questions
Are daily needs the same for everyone?
No. They are computed from your gender, age, weight, height and activity level (Mifflin-St Jeor formula). And they move with you: once workouts are logged, the real expenditure measured over fourteen days replaces the declared level, and the protein target adjusts to the type of effort (endurance, strength, mixed). While weight or height is missing, the app shows generic adult benchmarks and says so.
How are meals sorted in the journal?
Automatically by time: breakfast, lunch, dinner or snack. Foods reported within the same window of about 3 hours are grouped, and you can correct the slot by voice.
Do I need to photograph every meal?
No, but the daily summary only makes sense if the day's main meals are logged. A few complete days are enough to spot an imbalance.
Can an estimate be corrected?
Yes: state the actual portion or the missing food, and the assistant recalculates and updates the meal in the journal.
Is dietary data private?
Yes. The journal and food preferences are tied to your account and can be deleted from the app.