Cal Clark logs meals. A photo cannot weigh oil in a sauce. We still show our sources, because you should know which number is a draft, which number is from a published nutrition table, and which number you typed yourself.
Photo or a typed description
- You take a picture or type what you ate. That leaves your phone, goes to our servers in the EU, and is sent to OpenAI to draft the log.
- The draft has food names, a portion in grams, and a first calorie number. If the plate is messy, we may ask one extra question (oil, size, sauce) instead of inventing the rest.
- We then check those names against published nutrition tables: first the US government tables, then the German national food table. When the match is confident, we use those published calories and macros for the grams on your draft.
- You can change grams or items before the meal counts for the day. Saved meals reuse your number. They do not send the photo again.
Barcode on a packaged product
- If you scanned that barcode before, we already have the number.
- If it is new, we look it up in Open Food Facts, a public product catalog.
- If that catalog has no match, we try FatSecret.
- The next scan of the same barcode uses that number. Packaged calories come from the label, not from the camera.
Search
Typed search uses the same published nutrition tables. About 20,700 foods. This is public data. We do not resell it.
Daily calorie budget
- Basal metabolic rate uses the Mifflin-St Jeor equation (Mifflin et al., 1990).
- Activity uses the Compendium of Physical Activities (Ainsworth et al., 2011).
- Minimum calorie floors follow the Dietary Guidelines for Americans (2020-2025).
What this is not
- Not medical advice. You confirm every log.
- Not a promise that a photo is exact. A photo cannot weigh oil. You confirm the draft.
- Not a social network. There is no feed and no one else sees your plate.
Named sources
How we store photos and accounts is on the privacy page.