Android · offline first · no ads

Grams, not guesses.

A calorie tracker that tells you what you ate, and how far to trust the number. Then it corrects itself against your real body.

1,842± 96 kcal today
Weighed 1,168Estimated 545Typed 129
4,694foods on the phone, searchable with no network
2,109Indian foods and recipes from INDB 2024
4confidence tiers, one honest ± on every total
0accounts or signal needed for the daily loop
Keep scrolling

The problem

The number on your screen is fiction.

Food 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.

What a careful person logs1,800kcal
What they actually ate1,980 to 2,250The gap: 180 to 450 kcal, every day. 250 a day is 7,500 a month, about a kilogram.

One: you guess the portion

One bowl of rice, 120 g to 265 g±38%

Whose bowl? The biggest error in food logging, and every app leaves it to you.

Two: the database disagrees with itself

Same food, four entries: 130, 112, 148, 121±20%

The app then reports your day to the calorie, as if your pick never happened.

Three: the target was set once

A formula guessed your metabolism on day oneStatic

Your body adapted. The number never moved. This is why plans stall in week six.

The tolerance bar

Every number carries its error.

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.

1,649± 99 kcal (6.0%)

Illustration: entries of about 150 kcal each. Weighed ±10%, barcode ±18%, AI photo ±28%, typed ±45%.

1,168
352
129
Four ways to log

Four ways in. One log.

Kitchen scale

Pick a food, type the grams. A one-tap keypad, tare, and your last weight already filled in. Three taps from Today.

Weighed ±10%

Barcode and label

2,123 packaged foods bundled for offline scans. On-device OCR reads the printed nutrition panel when a pack is new.

Scanned ±18%

Photo

Photograph the plate and get an editable draft. Weigh one item and the rest re-estimate from it. A failed scan refunds the credit.

Estimated ±28%

Typed or spoken

Hold plus and say "2 roti, 1 katori dal". It becomes a plate. Restaurant meals still count, drawn hatched so they look like the guess they are.

Typed ±45%

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.

Adaptive coach

The formula guesses. Your scale corrects it.

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.

2,610
kcal a day observed, ± 90. The formula said 2,739. It needs 10 counted days first.

How close it gets, by days of data

21 days±160 kcal
28 days±100 kcal
56 days±60 kcal

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.

It refuses, out loud

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.

Diagnostic

Steps, never eaten back

Health Connect steps and weigh-ins sharpen the estimate. A long walk never adds food to your day.

Health Connect

Safety floors first

Intake floors, a rate ceiling and BMI guards run before any target is written. Eating-disorder help is offered, never forced.

Always on
India first

Dal, roti and sabzi, modelled properly.

2,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.

You say"2 roti, 1 katori dal"Hinglish in, a plate out.
It logs394 kcal, 2 itemsRoti 2 pc, 208 kcal. Dal tadka 1 katori, 186 kcal. Both from INDB, both editable.
Built for every day

Opened daily, never guilt-tripped.

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.

−120Mon
−120Tue
−120Wed
−120Thu
−120Fri
+300Sat
+300Sun

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.

Peanut3Mirchi7Nimbu14Avocado30Broccoli60Nariyal100Kaddu200Kathal365

Eight struck coins by days logged. Miss a day and you have 48 hours to backfill it. Your best streak is kept forever.

Everything else

The rest of the instrument.

Guest first

Full access with no account, email or password. Signing up later carries every log across with no loss.

Account optional

Transparent targets

BMR by Mifflin-St Jeor, or Katch-McArdle with body fat, then activity, deficit and a protein floor (1.6 to 2.2 g/kg), every step on screen.

How it is calculated

Recipes and custom foods

Weigh raw ingredients, record the cooked weight, log by the bowl. Build any food per 100 g.

Raw to cooked

Waist, body fat and water notes

A waist log shows recomposition when the scale is flat. A calm note explains a one-day jump that sodium and carbs can account for.

Weight page

Reports and share cards

Day, week and month PDFs, CSV and JSON export, and cards that share how carefully you tracked, never your weight or body.

Free export

Widgets and reminders

A Today widget and a progress widget that redraw only when you log. Reminders written without guilt, about dabba lunches and evening chai.

Android

Swaps

Higher-protein and lower-calorie alternatives for what you are craving, offline for common foods.

Compare and swap

Referrals

A friend subscribes and you both get a free month. It pays out of revenue, never on a bare install.

Plus
Offline by construction

Works on a plane. Not an "offline mode".

The daily loop is local, so it never stalls in a kitchen, gym, canteen or basement. First search results arrive in under 100 ms.

Search 4,694 foods

Always

Weigh and log a meal

Always

Scan a cached barcode

Always

Recipes and saved meals

Always

Weight, charts and the coach

Always

Reports, PDF and CSV export

Always

Every safety behaviour

Always

AI photo scan

Needs signal

Backup and sync

Needs account
Why it is better

Everyone counts calories. Nobody counts the error.

Global incumbentsIndian coaching appsAI photo appsBroccoli
Large food database
Lab-analysed Indian foods
Barcode scanning
AI photo, labelled as an estimate
The error shown on every number
Target corrected by your weight trend
Cooking oil counted on the plate
Daily loop works offline
Usable with no account
Full export, free after cancelling
No ads, data never sold
No shame mechanics
Solid: yesHalf: partlyHollow: no

Columns are categories of app, from public listings. Indicative, not a review of any one product.

Annual price in India

Global incumbents₹6,500+
Indian coaching apps₹2,499+
AI photo apps₹1,499+
Broccoli Plus₹1,099
Broccoli free₹0

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.

Price

Free for the daily loop. Plus keeps it safe.

Free, always

  • Logging, search, recipes, charts and the coach
  • Works offline with no account
  • Full export and account deletion
  • No ads, data never sold

Broccoli Plus

₹149 a month or ₹1,099 a year

  • Cloud backup, synced across devices
  • 100 photo scans a month
  • Founding price, locked while you stay subscribed. It becomes ₹199 once Broccoli reaches 1,000 users.
  • Refer a friend: a free month for both of you when they subscribe
Questions

Straight answers.

Do I need an account?

No. Guest mode is complete. An account adds photo scans, backup and sync, and signing up keeps everything you already logged.

Does it really work with no signal?

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.

Where does my data go?

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.

Is it medical advice?

No. Broccoli is an instrument, not a medical device. Talk to a healthcare professional before big changes to your diet.