Methodology
Every number this app shows you is either a published equation, a third-party data source, or an AI estimate — clearly which, and clearly sourced, below.
Last reviewed
Key facts at a glance
| BMR formula | Mifflin-St Jeor equation (1990) |
|---|---|
| Activity multiplier range | ×1.2 (sedentary) to ×1.9 (extra active) |
| Default macro split | 30% protein / 40% carbohydrate / 30% fat |
| Weekly rate safety limit | ±1 kg per week maximum |
| Minimum daily calorie target | 1200 kcal/day |
| AI meal estimate source | Google Gemini, prompted with USDA reference data |
| Barcode product data source | Open Food Facts |
| Named food nutrition data source | USDA FoodData Central |
Basal metabolic rate (BMR)
BMR is calculated with the Mifflin-St Jeor equation (Mifflin MD, St Jeor ST, et al., Am J Clin Nutr, 1990), using weight in kilograms, height in centimetres, and age in years:
| Male | 10w + 6.25h − 5a + 5 |
|---|---|
| Female | 10w + 6.25h − 5a − 161 |
Mifflin-St Jeor is used rather than the older Harris-Benedict equation because it is generally regarded as more accurate for modern populations. When a user does not specify a sex, the midpoint of the two constants (−78) is used — an explicit approximation, not a third published form of the equation.
Total daily energy expenditure (TDEE)
TDEE is BMR multiplied by an activity factor:
| Activity level | Multiplier |
|---|---|
| Sedentary — Desk job, little or no deliberate exercise | ×1.2 |
| Lightly active — Light exercise 1–3 days a week | ×1.375 |
| Moderately active — Moderate exercise 3–5 days a week | ×1.55 |
| Very active — Hard exercise 6–7 days a week | ×1.725 |
| Extra active — Physical job, or training twice a day | ×1.9 |
Daily calorie target
The target adjusts TDEE for a stated goal. With no specific rate given, the app uses the conventional −500 kcal/day to lose weight or +300 kcal/day to gain weight. A user may instead set a specific weekly rate, which is converted to a daily calorie delta using 7,700 kcal ≈ 1 kg of body mass.
Safety limit: a stated weekly rate is clamped to a maximum of 1 kg per week in either direction, and the resulting daily target is never allowed below 1200 kcal/day regardless of input. Both limits are enforced in code, not just stated here — a user cannot configure their way past them.
Macro split
The default macro split is 30% protein / 40% carbohydrate / 30% fat of total calories, converted to grams using the standard Atwater factors: 4 kcal per gram of protein and carbohydrate, 9 kcal per gram of fat. This split can be overridden manually inside the app.
Photo and text meal estimates
When you photograph a meal or describe it in words, the estimate is produced by a large language model (Google Gemini) prompted to reference USDA nutrition data and standard serving sizes. This is a genuine limitation worth stating plainly: a model estimating portions from a photo cannot see what is under the surface of a dish, and cannot see oil or butter used in cooking. Every estimate is editable before it is saved, and is intended as a fast starting point — not a laboratory measurement.
Barcode-scanned products
Packaged food data comes from Open Food Facts, a free, open, collaboratively-maintained product database. Values are as reported by that database at the time of the scan and reflect manufacturer labelling; they are not independently verified by Calories Journal.
Food nutrition data
Calorie and macro figures for specific common foods — separate from the AI meal estimates above — are sourced individually from USDA FoodData Central, with each figure linked to the exact entry it came from. Browse the food facts pages.
What this is not
None of the above is medical or clinical advice, and Calories Journal has not been reviewed by a physician or registered dietitian. See the full disclaimer before making significant changes to how you eat.