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

# Lógica de negocio

> La lógica de producto de Moveat y las reglas que deben mantenerse consistentes entre web y Agent.

# Lógica de negocio

Moveat parte de una idea simple: ayudar a las personas a entender y mejorar sus hábitos de nutrición y entrenamiento sin obligarlas a usar herramientas complejas o registrar todo manualmente.

Moveat no es un sistema clínico. Es un sistema de coaching y tracking que convierte input del usuario en datos estructurados, resúmenes y feedback accionable.

## Objetivo de producto

El objetivo principal es facilitar el tracking diario:

* Reducir fricción al registrar comida, peso y entrenamientos.
* Mantener historial confiable de progreso.
* Dar contexto diario y semanal.
* Permitir automatización por canales conversacionales.
* Centralizar la verdad de negocio en Platform.

## Loop principal

```mermaid theme={null}
graph LR
    Signup[Signup] --> Onboarding[Onboarding fitness]
    Onboarding --> Targets[Objetivos y calorías]
    Targets --> DailyLogs[Comidas, peso y entrenamientos]
    DailyLogs --> Summary[Resúmenes diarios]
    Summary --> Coaching[Contexto de coaching]
    Coaching --> DailyLogs
```

## Ownership de negocio

Platform es dueño del estado oficial del producto. Cualquier superficie que necesite crear o leer datos de negocio debe pasar por Platform.

| Área                      | Dueño    | Motivo                                         |
| ------------------------- | -------- | ---------------------------------------------- |
| Cuenta de usuario         | Platform | Identidad estable y sesiones.                  |
| Perfil y objetivos        | Platform | Necesarios para cálculos y progreso.           |
| Configuración nutricional | Platform | Define targets oficiales de calorías y macros. |
| Logs de comida            | Platform | Historial nutricional durable.                 |
| Logs de peso              | Platform | Historial de progreso corporal.                |
| Logs de entrenamiento     | Platform | Historial de entrenamiento.                    |
| Estado conversacional     | Agent    | Estado temporal del canal y clarificaciones.   |
| Interpretación con LLM    | Agent    | Lenguaje natural, intención y conversación.    |

## Valores canónicos

Platform guarda valores canónicos en sistema métrico, incluso cuando el usuario prefiere imperial.

| Dato                   | Storage canónico       | Display                               |
| ---------------------- | ---------------------- | ------------------------------------- |
| Altura                 | centímetros            | Platform convierte cuando responde.   |
| Peso                   | kilogramos             | Platform convierte cuando responde.   |
| Carga de entrenamiento | kilogramos por defecto | Puede renderizarse según preferencia. |
| Calorías               | kcal enteras           | No se convierten.                     |
| Macros                 | gramos                 | No se convierten.                     |

Esto evita duplicar lógica en frontend y Agent.

## Política de estimaciones

El reconocimiento de comida puede incluir estimaciones. Si el usuario registra una comida por texto, imagen o audio, el sistema puede estimar ingredientes, porción, calorías y macros.

La regla de producto es ser transparente: los valores estimados deben mostrarse como estimaciones y deben poder corregirse.

## Qué no debe pasar

Moveat debe evitar:

* Que Agent escriba directo en la base de datos.
* Que frontend calcule targets oficiales por su cuenta.
* Que la lógica de negocio se duplique entre Platform, Agent y Client.
* Que datos durables del usuario vivan solo en Redis.
* Que APIs internas se usen como APIs públicas del frontend.
