A calorie tracker that tells you what you ate, and how far to trust the number. Then it corrects itself against your real body.
Get Broccoli Scroll the appFood diaries checked against doubly-labelled water land on one finding: people under-report what they eat by 10 to 20 percent, and they do it honestly. It is a measurement problem wearing a discipline problem's clothes.
+180 to 450 kcal nobody sees
How much food diaries under-count, checked against lab measurements. Nobody is lying. Portions are guessed by eye. 250 a day is 7,500 a month, about a kilogram.
Whose bowl? The biggest error in food logging, and every app leaves it to you.
The app then reports your day to the calorie, as if your pick never happened.
Your body adapted. The number never moved. This is why plans stall in week six.
Portion error and database error are independent, so they add in quadrature. Summing them would make the app look useless. Dropping one would make it a liar. A weighed, labelled food still carries ±10.2%, and Broccoli says so. Move the sliders.
Illustration: entries of about 150 kcal each. Weighed ±10%, barcode ±18%, AI photo ±28%, typed ±45%.
Portion is how it was measured: a scale is tight, an eyeball is loose. Database is how good the food record is: lab data is tight, crowdsourced is loose. The band is the long side, and it is what you see on the bar.
Grams from a kitchen scale
Barcode, label figures
Photo scan, as a draft
From memory, hatched
Illustrative band for a single entry.
Nothing is logged until you confirm. Tap any item to weigh it instead. It stays marked as estimated, for good.
It learns your habits: your usual breakfast is one tap, portions remember themselves, and a saved meal logs in one go. Recipes freeze their numbers at the moment you eat, so editing one never rewrites history.
A two-state Kalman filter over 120 days of intake, weigh-ins and steps solves for what your body actually burns. It proposes, you decide, and safety floors run first.
ObservedRange, narrowingFormula
Mean absolute error over 60 simulated runs with realistic water noise. A 4 kg misread moves the estimate by under 60 kcal. Both signs are unit-tested.
Plateau, low adherence, suspected under-logging or recomposition each get a plain explanation instead of a bad proposal. Rising weight on a logged deficit is reported as a logging signal, never a metabolism verdict.
DiagnosticHealth Connect steps and weigh-ins sharpen the estimate. A long walk never adds food to your day.
Health ConnectIntake floors, a rate ceiling and BMI guards run before any target is written. Eating-disorder help is offered, never forced.
Always on2,109 lab-analysed Indian foods and recipes from INDB 2024 sit beside USDA data, with regional aliases, katori and thali portions, and cooking oil counted on the plate. Raw-to-cooked yield is reconciled so a serving matches the pot you weighed.
Weighed parts, one pot, six bowls of 214 kcal each. An example.
Plan the week with high and low days. Go over and you get a number and a sentence, never a red screen. Only logging counts toward a streak.
Weekends higher: Saturday and Sunday +300, the other five give back 120 each. The week still adds up to the same target, and no day goes under your safety floor.
Best ever 42 · Days over target 6 · Streaks lost to it 0
Only logging counts. Go over your target and you get a number and a sentence. Never a red screen. An example.
Eight coins by days logged. Miss a day and you have 48 hours to backfill it. Your best streak is kept forever.
The daily loop is local, so it never stalls in a kitchen, gym, canteen or basement. First search results arrive in under 100 ms.
Swipe sideways to see every column.
Columns are categories of app, from public listings. Indicative, not a review of any one product.
To match this, a tracker with a hundred million users would have to print an error band on every number it has ever shown. That is not an engineering problem. It is a confession.
Every one of these costs us something. That’s the point.
No. Guest mode is complete. An account adds photo scans, backup and sync, and signing up keeps everything you already logged.
Search, logging, barcodes already seen, recipes, charts and the coach all run on the phone. Only AI photo scans, new-product lookups, sign-in and sync need a connection.
Signed out, nothing leaves the phone except a barcode string for a new product. No analytics, no ad IDs, and health data is scrubbed from crash reports. Export everything, or delete your account, for free.
No. Broccoli is an instrument, not a medical device. Talk to a healthcare professional before big changes to your diet.