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.
Meal item model
Each item stores estimated nutrition values:- Name.
- Estimated quantity.
- Estimated unit.
- Estimated calories.
- Protein grams.
- Carbs grams.
- Fat grams.
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.
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:- Agent estimates the meal.
- User confirms or corrects.
- Platform stores the final structured entry.
- Daily summary updates once.
