Skip to content
Calvi

Nora counts. The decisions stay yours

She parses ordinary sentences, finds the dish in the database and writes the entry. Everything touching health and money is done by code, not by a model.

One message, three meals

A rundown of the whole day does not land in one card: the time in your words picks the meal, and an empty meal stays empty, because nobody asked anyone to invent a lunch.

porridge with banana this morning, borscht and bread at lunch, chicken and rice in the evening

Split into three meals: breakfast 320 kcal, lunch 470, dinner 540. That is 1330 together. I took your usual portions, tell me if any of them was bigger.

What she always remembers

Every request carries a small, fixed set with it: how to address you, your goal and pace, your target and macros, your allergies with their severity. It does not grow over time.

History is not part of that set. "What did I eat yesterday morning" is a query to the database for one particular day, not a retelling of the whole diary to a model. Otherwise our most devoted users would be the most expensive ones.

What she does, and what it costs

Recognises a dish from text 1 token
Recognises a dish from a photo 2 tokens
Reads an ingredients label 1 token
Clarifies weight and ingredients 1 token
Corrects something already logged 1 token
Copies yesterday meal 1 token
Answers a question about your history 1 token
Splits a day rundown across meals 1 token per message

What she never does

  • Does not calculate your target: that is a formula on the server, covered with tests
  • Does not decide about allergens: the match runs on the allergen code in the ingredients
  • Does not count tokens: the balance and the charge are a database transaction
  • Does not calculate drug doses and does not give medical advice
  • Does not invent numbers quietly: if a dish is not in the database, she says it is an estimate

The list is closed. Everything not on it is done by ordinary code that can be tested.