> ## Documentation Index
> Fetch the complete documentation index at: https://docs.mov-eat.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Nutrition tracking

> How meals, items and daily nutrition summaries work in Moveat.

# Nutrition tracking

Nutrition tracking is the first core product loop for Moveat. Users log what they ate, Platform stores structured meal entries, and the product shows daily calorie progress.

## Business goal

The goal is not perfect nutrition science at MVP stage. The goal is useful, consistent tracking with clear estimation and correction paths.

## Meal entry model

A meal entry represents one food logging event. It can come from:

* Web app.
* Agent text message.
* Agent image interpretation.
* Agent audio interpretation.

A meal entry can contain multiple meal items.

## Meal item model

Each item stores estimated nutrition values:

* Name.
* Estimated quantity.
* Estimated unit.
* Estimated calories.
* Protein grams.
* Carbs grams.
* Fat grams.

The current model accepts estimated values inline. A future food catalog can improve precision by resolving food density and macros from trusted records.

## Idempotency

Agent-driven meal logging must be idempotent. If WhatsApp retries a webhook, Platform should not double-count the same meal.

For WhatsApp, the webhook message ID should be used as the idempotency key.

## Daily summary

Platform updates a daily nutrition summary when a meal is logged.

The summary stores:

* User.
* Local date.
* Calories consumed.
* Protein consumed.
* Carbs consumed.
* Fat consumed.
* Calorie target snapshot.

The target snapshot preserves what target applied on that day.

## Why daily summary exists

Daily summaries make dashboard reads cheap and provide stable historical views. They should remain rebuildable from meal entries if needed.

## Estimation risk

LLMs can estimate food and portions, but they can also be wrong. Product UX should make estimates visible and correctable.

A good user-facing pattern is:

1. Agent estimates the meal.
2. User confirms or corrects.
3. Platform stores the final structured entry.
4. Daily summary updates once.
