Logging meals

Photos, sentences and barcodes; confidence tiers, the review queue and reading your diary back.

Every way of logging ends in the same place: a meal in your diary with its items, their weights, calories, macros, nutrients and ingredients, and where each number came from. A meal is always stored, even when Gutlog is unsure; nothing waits for you to confirm it.

Ways to log

  • A photo in ChatGPT or Claude. Your assistant looks at the photo and sends Gutlog a draft through log_meal: each food, its estimated grams or a household portion, and its likely ingredients with a confidence each. Free and unlimited on every plan.
  • A sentence. “Chipotle bowl, chicken, white rice, no beans”. From your assistant it is a draft like a photo, free and unlimited; sent through the app, the CLI or the API it is parsed on our model, one analysis (Plus: 50 a day).
  • A barcode. Send a photo of it or type the number. Products already in the index use their label: nutrients and the ingredient list as printed, so every ingredient is confirmed. Scans are free.
  • A photo through the app, the CLI, the API or email. Analyzed on our model, one analysis each (Plus). On Free, send the photo to your assistant instead: it reads it in chat.

Confidence tiers

Each ingredient gets a confidence between 0 and 1, and the tier decides whether it counts:

  • Confirmed (85% and up, or read from a label): counted.
  • Likely (60% to 85%): counted and pre-selected; “yes” confirms all of them.
  • Possible (30% to 60%): not counted. Suggested and asked about, highest first, at most 3 per meal. Hidden fats, sugars, onion and garlic matter for calories and for your stomach, so they are asked about whenever they are plausible.
  • Below 30%: dropped.

The full contract an assistant follows is on meal drafts and confidence.

The review queue

A meal is flagged for review when its confidence is under your threshold (default 80%), when a possible ingredient is one of your known triggers or allergens, or when a portion looks implausible. Flagged meals still count; ask your assistant for the meals that need review, or open the Review section of the app (Plus).

Reading your diary back

Ask “how am I doing today?” (get_day), “what did I eat this week?” (get_diary) or “how much protein did I average in October?” (get_nutrition_summary). Set targets with set_goals. The API reference lists every op that is live.

Tell us when an analysis is wrong

A thumbs up or down on a meal (rate_analysis, or the meal card) tells us which estimates to improve. It never changes your diary; fix the meal itself as described in editing.