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

Pending

How 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

Pending

Does 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

Pending

How 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

Pending

Do 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

  1. 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.
  2. 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°.
  3. Production settings. Each photo goes through the same prompt, model and image size the app uses. Nothing is tuned on the test set.
  4. Honest uncertainty. Every published number carries a 95 % interval. Several photos of one plate count as one plate.
  5. 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.