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

# User lifecycle

> How a user moves from registration to active product usage.

# User lifecycle

The Moveat user lifecycle has four main stages:

1. Account creation.
2. Session creation.
3. Fitness onboarding.
4. Ongoing tracking and coaching.

## Account creation

A user can register with email/password or authenticate with Google. Signup should be low-friction and should not require a phone number.

The account captures identity data such as:

* Email.
* First name.
* Last name.
* Account status.

Communication channels are linked later.

## Session creation

The web app uses an opaque HTTP-only session cookie. The frontend does not store access tokens directly.

This keeps browser auth safer because JavaScript cannot read the session token.

## Fitness onboarding

Onboarding collects fitness-specific data:

* Unit system.
* Birth date.
* Sex.
* Height.
* Current weight.
* Timezone.
* Primary goal.
* Activity level.
* Training days per week.
* Target weight.
* Nutrition target mode.

The onboarding endpoint must not include channel fields such as WhatsApp number.

## Active usage

After onboarding, the user can:

* Log meals.
* See daily nutrition progress.
* Log body weight.
* Log workouts.
* Link communication channels.
* Use Agent for conversational tracking.

## Channel linking

Channels are linked after the user account exists. This allows Moveat to stay channel-agnostic.

A user can have records such as:

| Channel  | Identifier example            |
| -------- | ----------------------------- |
| WhatsApp | Phone number in E.164 format. |
| Telegram | Chat ID.                      |

The channel table allows verification state to be tracked separately from user identity.
