Methodology

How DishReveal turns inputs into estimates.

Last updated: 22 October 2026

DishReveal combines published equations, deterministic nutrition maths and AI-assisted food recognition. A photo result is an editable estimate, not a measurement. The app shows assumptions and confidence so you can correct the entry before saving it.

DishReveal is on the App Store as AI Calorie Tracker: DishReveal, free to download with in-app purchases. The DishReveal page covers what the app does and what is free.

Daily energy planning

DishReveal starts with the Mifflin-St Jeor equation. It uses age, height, weight and one of two biological calculation baselines selected during onboarding.

Resting energy estimate

Base = 10 × weight in kg + 6.25 × height in cm - 5 × age in years

Male baseline BMR = Base + 5

Female baseline BMR = Base - 161

BMR is a population-level estimate of resting energy expenditure. It is not a metabolic test and can differ from an individual's actual needs.

Activity multiplier

The BMR estimate is multiplied by the activity level selected during onboarding:

Estimated maintenance energy = BMR × activity multiplier

Activity categories are broad. Changes in training, work, sleep, illness and ordinary daily movement can make actual maintenance energy higher or lower.

Weight-change pace model

DishReveal uses 7,700 kcal per kilogram as a planning conversion. The selected weekly change is converted to a daily adjustment and added to estimated maintenance energy.

Daily adjustment = weekly change in kg × 7,700 ÷ 7

Raw daily target = estimated maintenance energy + daily adjustment

A weight-loss pace is represented by a negative weekly change, so it lowers the raw target. A weight-gain pace is positive. The 7,700 kcal conversion is a simplified planning model. Real weight change is not perfectly linear because water, glycogen, digestion, training and adaptation all affect scale weight and energy use.

Safety floors

The app prevents its unsupervised planning calculation from starting below:

If the raw calculation falls below the relevant floor, DishReveal raises the starting target to that floor, marks that the floor was applied, and recalculates the implied weekly change from the floored target so the shown pace matches the energy target. These are software guardrails, not personalised clinical recommendations. A floor does not prove that the target is suitable for you.

Projected progress uses the pace implied by the final calorie target, not a faster pace selected before the floor was applied. If that target does not create a deficit for a weight-loss goal, the app does not promise a weight-loss date. A small deficit can imply a very distant date; any projection remains a simplified estimate, not a guarantee.

Optional exercise add-back

Exercise add-back is off by default. In Settings you can choose to add 50% or 100% of today's activity energy to today's calorie target. Activity can come from Apple Health active energy and exercise logged in DishReveal. The app shows the source and the credit, and avoids counting a manually logged exercise twice when it recognises the same Health workout.

Today's credit = today's activity kcal × the chosen percentage, rounded to a whole kcal

Today's adjusted target = the plan's calorie target + today's credit

The plan's activity multiplier may already account for some exercise. Wearable energy estimates can also be inaccurate, so adding activity can overestimate your needs. The credit changes today's displayed calorie target; it does not change the original plan, its macro targets or its weight projection. Exercise is not a requirement to earn or compensate for food.

Calories and macros

DishReveal uses Atwater energy factors of 4/4/9/7:

Calculated kcal = protein grams × 4 + carbohydrate grams × 4 + fat grams × 9 + alcohol grams × 7

Onboarding macro splits still allocate the daily energy target across protein, carbohydrate and fat only. Alcohol grams are optional and appear when a photo or text estimate includes ethanol, such as wine or spirits. If alcohol is absent, the energy check is the familiar protein, carbohydrate and fat sum.

The onboarding plan offers four macro distributions by percentage of the energy target:

The app converts the protein share at 4 kcal per gram and the fat share at 9 kcal per gram and rounds both to whole grams. Carbohydrate takes the energy left over, at 4 kcal per gram, so the macro total stays within about 2 kcal of the daily target.

What each logging method means

Manual entry

DishReveal uses the values you enter. Their accuracy depends on the source and the serving amount you choose.

Nutrition-label scan

Text recognition runs on the device. Deterministic rules interpret energy, serving basis and macro rows. You confirm the recognised values and serving basis before saving. A clean label can still be misread, so compare the result with the package.

Barcode lookup

Barcode results come from Open Food Facts. DishReveal rejects incomplete records rather than presenting missing energy as zero, but community-maintained product data can still be outdated, incomplete or entered for a different package size.

Photo and text analysis

Google's Gemini, or Anthropic's Claude if Gemini is unavailable, identifies visible foods, estimates metric grams and proposes separate items for likely oil, butter, dressing or sauce. A plate, cutlery, hand or package may be used as a scale cue when visible. A single photo cannot establish exact weight, recipe composition or cooking fat.

Checks applied to AI results

DishReveal validates the structured result before showing it:

These checks catch some internal inconsistencies. They cannot prove that the food identity, portion or hidden ingredients are correct.

Confidence and error bounds

The displayed confidence is a model-supplied signal used to show uncertainty. It is not a calibrated probability and is not a guarantee that a calorie value falls within a particular percentage of ground truth.

There is no universal per-photo error bound. Poor lighting, an obstructed plate, mixed dishes, restaurant recipes and invisible cooking fat can make an estimate wrong by more than 20%. Correct the food and portion before saving when you have better information.

For that reason, DishReveal does not advertise an accuracy percentage.

Daily Health Score (beta)

The optional Daily Health Score rates how the day's logged food balances protein, fibre and sodium. It describes your food log, not your health, and it is not a diagnosis. It appears once you have logged at least one meal and at least one optional nutrient value.

Total sugar is displayed but not scored because ordinary labels do not reliably distinguish total sugar from free sugar.

Coach and weekly reports

Coach uses a bounded numeric summary of up to 14 days, your goals, optional dated weights and up to eight recent messages. Its arithmetic tools calculate from those supplied numbers. It cannot open your individual meals, water log, workouts, progress photos or fasting history. A logged day may be incomplete, and a correct sum does not prove the underlying entries are accurate.

After the consent prompt, Coach uses Anthropic's Claude, with Google Gemini as a possible fallback before an answer starts. Older versions with Google-only consent use Gemini. When Exercise add-back is on, the prompt can ask to send today's credit and adjusted target to Anthropic so Coach can compare today with that target. Google fallback requests omit those fields, although earlier messages may repeat the figures. Weekly reports use Google Gemini, or Anthropic's Claude if Gemini is unavailable, with a separate summary of up to seven days, and do not receive the add-back.

Safety checks can withhold an answer and show professional-support information. An eating-risk support response also pauses the optional fasting timer locally. These checks reduce some risks but cannot guarantee that every unsafe or incorrect answer is detected. The privacy policy explains each provider's processing and retention.

General wellness limitation

All targets, projections, scores and AI outputs are general wellness estimates. They are not medical advice, diagnosis or treatment. Discuss individual nutrition needs, significant weight change, eating-disorder concerns, pregnancy, medication or a medical condition with a qualified health professional.

Read the privacy policy, terms of use, or email josh@kovus.dev.