· 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.
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.
| Slot | From the sentence |
|---|---|
| item | eggs · buttered toast · coffee with milk |
| count | 2 · ? · 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.