Get CaloRec

· 2 min read · PeregrineX

What “about 780” means: from a sentence to a number

Say 'two eggs, buttered toast and a coffee' and CaloRec answers with a number. The path that sentence takes, and why the model never invents a calorie.

A breakfast table seen from above: a bowl of yoghurt with berries and peach, a coffee, cherries and avocado

You hold the button and say: “Two eggs, buttered toast and a coffee with milk.” A moment later the screen says I heard, lists three things with a number next to each, and asks one question: one slice or two?

That short trip has four stops, and each one is deliberately narrow.

1. Hearing

Whisper, OpenAI’s speech model, turns sound into words on the phone. It installs with the app, so nothing has to be online. While you talk, the Listening screen follows your voice; when you stop, Whisper writes the whole sentence down at once. No audio is stored and none is sent anywhere.

2. Understanding, but only slots

The words go to Gemma, Google’s open model, which also runs on the phone and installs with the app. It is asked to do one small job: fill in a form.

SlotFrom the sentence
itemeggs · buttered toast · coffee with milk
count2 · ? · 1
portion class— · one slice or two · small

That is the whole contract. The model is never asked to write a sentence to you, and it is never asked for a calorie figure. Models are good at language and bad at arithmetic they cannot see; a plate is exactly the thing they cannot see.

3. Looking up, never guessing

Each filled slot is looked up in a nutrition table that ships inside the app. The table is built from public food data, USDA FoodData Central, the Canadian Nutrient File, the UK’s CoFID and the Swiss Food Composition Database, and the rules for matching a spoken phrase to an entry are written down and tested against hundreds of recorded sentences.

So “eggs × 2” becomes about 150, “buttered toast × 2 slices” about 220, “coffee with milk, small” about 40. The figures come from the table. If the table has no entry, CaloRec asks rather than invents.

4. Confirming

The I heard screen shows each item with its chips: 1 · 2 · 3 for the eggs, One · Two for the toast, Small · Medium · Large for the coffee. The likely answer is pre-selected. One tap changes it. “Add 410 to today” saves the lot, and the line underneath tells you where that leaves the day: “Today becomes 1,930 net · still on plan.”

Why “about”

Every number CaloRec shows is rounded to tens and carries “about”. That is not modesty for its own sake. A portion is the one thing no microphone and no camera can measure, so the honest figure is a range centred on the chip you picked. “About 780” says what the app knows and no more.

If the sentence ever comes back wrong, you say so, out loud: “no butter”, “that was a bagel”. The form gets refilled, the table gets re-read, and the number changes. You never type a digit.

  • how it works
  • on-device
  • nutrition data
  • portions
  • USDA

Questions this answers

Does CaloRec use ChatGPT or send my voice to the cloud?

No. Hearing uses OpenAI's Whisper model and understanding uses Google's Gemma model, both running on the phone and both installed with the app from the App Store or Google Play. Nothing you say leaves the phone.

What happens if the model mishears me?

You see exactly what it heard, item by item, before anything is saved. Tap the mic and say the correction, 'no butter' or 'that was a bagel', or tap a chip. You never type a number.

Why are calories rounded to tens?

Because a portion is an estimate, and a figure like 783 would claim a precision nobody has. 'About 780' tells the truth about what the app knows.

Try it on tonight's dinner.

3 free days. Then $9.99, once. Your history is always free.