> ## 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.

# Business logic

> The product logic Moveat is built around and the rules that should stay consistent across web and agent surfaces.

# Business logic

Moveat is built around a simple principle: users should be able to understand and improve their nutrition and training behavior without needing to manually manage complex spreadsheets or calorie tools.

The product does not try to be a clinical system. It is a coaching and tracking system that turns user input into structured data, summaries and feedback.

## Product objective

The primary objective is to make daily health tracking easier:

* Reduce friction when logging food, weight and workouts.
* Keep a reliable history of user progress.
* Provide daily and weekly context.
* Allow automation through conversational channels.
* Keep final business data centralized and auditable in Platform.

## Core product loop

```mermaid theme={null}
graph LR
    Signup[Signup] --> Onboarding[Fitness onboarding]
    Onboarding --> Targets[Calorie and goal setup]
    Targets --> DailyLogs[Daily meal, weight and workout logs]
    DailyLogs --> Summary[Daily progress summaries]
    Summary --> Coaching[Personalized coaching context]
    Coaching --> DailyLogs
```

## Business ownership rules

Platform owns the official state of the product. Any surface that wants to create or read business data must go through Platform.

| Concern            | Owner    | Reason                                                |
| ------------------ | -------- | ----------------------------------------------------- |
| User account       | Platform | Stable user identity and session ownership.           |
| Profile and goals  | Platform | Needed for calorie targets and progress calculations. |
| Nutrition settings | Platform | Defines official calorie and macro targets.           |
| Meal logs          | Platform | Durable source of truth for nutrition history.        |
| Weight logs        | Platform | Durable source of truth for body progress.            |
| Workout logs       | Platform | Durable source of truth for training history.         |
| Conversation state | Agent    | Short-lived, channel-driven interaction state.        |
| LLM interpretation | Agent    | Natural-language interpretation and clarification.    |

## Canonical values

Platform stores canonical values in metric units even when the user prefers imperial display.

| Data         | Canonical storage    | Display behavior                                 |
| ------------ | -------------------- | ------------------------------------------------ |
| Height       | centimeters          | Converted by Platform when needed.               |
| Weight       | kilograms            | Converted by Platform when needed.               |
| Workout load | kilograms by default | Can be rendered according to profile preference. |
| Calories     | integer kcal         | Not converted.                                   |
| Macros       | grams                | Not converted.                                   |

This keeps calculations stable and avoids splitting business logic across clients.

## Estimation policy

Food recognition is expected to include estimation. When a user logs a meal through text, image or audio, the system may estimate food items, portion size, calories and macros.

The important product rule is transparency: estimated values should be represented as estimates and should be easy to correct later.

## What should not happen

Moveat should avoid these failure modes:

* Agent writing directly to the database.
* Frontend calculating official calorie targets independently.
* Business logic duplicated between Platform, Agent and Client.
* Long-lived user facts stored only in Redis.
* Internal APIs being treated as public frontend APIs.
* Logs, summaries or derived values becoming the only source of truth.
