Accuracy
How close are our numbers?
We test every way GainBuddy turns food into calories and macros against weighed food and printed labels. The method is public first. Results appear here only after they are measured.
Results pending · collecting data
Four benchmarks
Meal photos
PendingHow close is a photo estimate to the weighed plate?
- Ground truth
- Each component weighed on a kitchen scale (1 g), nutrients from USDA or the package.
- Sample
- ~200 plates, US and Israeli dishes, several lighting conditions
- We report
- Calorie error · Calorie bias · Protein error · Foods found · Portion error · Failed
No numbers until at least 100 plates are measured.
Label scans
PendingDoes the app read the nutrition panel correctly?
- Ground truth
- Values printed on the package, transcribed twice by hand.
- Sample
- ≥ 50 labels, English and Hebrew panels
- We report
- Within ±5 % · Calorie error · Protein error · Unreadable · Failed
No numbers until at least 50 labels are measured.
Barcode lookups
PendingHow often do we find a product, and do its numbers match the package?
- Ground truth
- The nutrition panel on the product in the store.
- Sample
- ≥ 100 barcodes, half US, half Israel
- We report
- Found (US) · Found (IL) · Calorie error · Protein error
No numbers until at least 100 barcodes are measured.
Recipe macros
PendingDo recipe macros match a USDA reference calculation?
- Ground truth
- Same ingredient grams × USDA FoodData Central reference values.
- Sample
- ≥ 30 recipes from the in-app library
- We report
- Calorie error · Protein error · Carb error · Fat error
No numbers until at least 30 recipes are measured.
Methodology
- Truth never comes from the app. Meals are weighed component by component on a 1 g kitchen scale. Labels and barcodes are checked against the printed panel. Recipes are recalculated from USDA reference values.
- Real conditions. We're collecting about 200 plates of everyday US and Israeli dishes, to photograph in daylight, warm and cool indoor light and dim rooms, from above and at 45°.
- Production settings. Each photo goes through the same prompt, model and image size the app uses. Nothing is tuned on the test set.
- Honest uncertainty. Every published number carries a 95 % interval. Several photos of one plate count as one plate.
- Published as measured. Results are reproducible from the raw data with a fixed random seed. We publish them even when they are unflattering.
- Calorie error
- Mean absolute percentage error of calories vs truth.
- Calorie bias
- Mean signed calorie error; positive = over-estimate.
- Protein error
- Mean absolute protein error in grams.
- Foods found
- Share of weighed components the model named.
- Portion error
- Mean absolute percentage error of grams, for components the model found.
- Found
- Share of barcodes the lookup returned a product for.
What the badges mean
We tag numbers by source.
Verified
From USDA FoodData Central, or a product our team checked against its label.
Community
Read from a package or added by people. Usually right, not checked by us.
Estimate
Our best guess, like portions from a meal photo. Adjust it if you know better.
A recipe or plate is only as reliable as its least certain ingredient.
Known limits
- A photo can't see oil, butter or sugar mixed into food. These are the largest source of photo error.
- Package labels can differ from the food itself. US rules (21 CFR 101.9) allow real calories up to 20 % above the label.
- Barcode coverage depends on public databases, which are thinner for Israeli products.
- Numbers are for general wellness tracking, not medical nutrition therapy.