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

# Athlete insights

> See who needs attention across your roster.

The console surfaces the athletes who need you, so you don't have to scan every
profile.

## Attention queue

NexRex flags athletes by compliance, missed sessions, and health signals, and
ranks them so the most urgent cases surface first.

## Coach notification bell

The coach inbox header has its own **bell icon** with an unread badge, showing
coaching notifications — athletes' completed activities, comments on their
runs, and training-plan events. It's separate from your athlete bell on the
home screen, so the two unread counts don't bleed into each other.

Tap any notification to jump straight to the relevant activity, comment, or
plan. See [Notification inbox](/account/settings#notification-inbox) for the
full behavior.

## Comment threads on activities

Every athlete activity has a **Notes & Comments** thread on its Review tab.
It's the single surface where you and the athlete talk about a run — the old
split between "training notes" and "comments" is gone.

### What you see

* **Coach-visible entries (訓練心得)** — anything the athlete marks as
  coach-visible, plus your own replies. These are the entries you can act on.
* **Private notes (私人筆記)** — athletes can also log entries only they can
  read. Those are hidden from you by design; you'll only see the coach-visible
  side of the thread.
* **Legacy training notes** — if an athlete wrote a training note on an
  activity before the unified thread existed, it appears as a pinned
  read-only card at the top of the thread. It migrates into a regular comment
  the next time the athlete edits it.

### Reply as a coach

Open the activity from the athlete's feed or from a notification, scroll to
the **Notes & Comments** thread on the Review tab, and use the composer to
reply. Your replies are always visible to the athlete — coaches don't have a
private-note option.

You can attach one photo, one short video (≤60s), or one voice note (≤120s)
per reply — tap the **+** button on the composer to pick the type. Text is
optional when an attachment is present, so a voice reply on its own is fine.
The first voice recording prompts for microphone access. Attachments from
either side render inline in the thread: photos open fullscreen on tap,
videos and voice notes play in place.

<Info>
  Existing public comments (visible to everyone in a shared context) still
  render in threads that already had them, but the athlete composer now only
  offers coach-visible or private. New public comments aren't created from the
  athlete app.
</Info>

## Private activities

Athletes can now mark any single activity as **private** from the activity's
overflow menu or the Review tab. Private activities are hidden from coach
views, group feeds, followers, and the public profile, so an activity you
expected to see may be missing because the athlete opted it out.

The **Make private / Make visible** toggle is owner-only — it never appears in
your view of an athlete's activity, and there's no coach override. If you need
context on a run that isn't visible, ask the athlete to un-hide it.

## Health alerts & trends

Per athlete, review training-load trends, recovery signals, and compliance
against their assigned plan.

<Info>
  Insights refresh daily. A newly added athlete may take a sync cycle before their
  trends populate.
</Info>

## Lifecycle stage

Open an athlete's detail sheet to see their **Lifecycle stage** card. It
summarizes where a runner is in their training journey so you can tailor your
coaching to the moment instead of treating every athlete the same.

### What the card shows

* **Primary stage** — the runner's current phase, shown as a large label at the
  top of the card. One stage is active at a time. Possible stages: Onboarding,
  Goal Setting, Plan Calibration, Early Adaptation, Active Training, Plateau
  Management, Taper, Race Week, Post-Race Recovery, Post-Race Reflection,
  Maintenance, and Reactivation.
* **Source badge** — to the right of the stage label, a small badge reads
  **Inferred** when NexRex picked the stage automatically or **Coach** when you
  (or another coach on the org) have set a manual override. A coach override
  always takes priority over the inferred value.
* **Confidence** — when the stage is inferred, a percentage under the label
  shows how confident NexRex is in that call. Confidence is hidden for coach
  overrides because they're definitive.
* **Secondary states** — zero or more chips below the stage describing
  concurrent modifiers (for example, *Injury Recovery*, *Travel*, *High
  Fatigue*, *Motivation Drop*, *Schedule Conflict*). Use these to spot context
  the primary stage alone doesn't capture.
* **Risks** — severity-styled chips for issues that warrant attention. High
  severity (red) covers *Churn Risk*, *Injury Risk*, and *Overtraining Risk*.
  Softer (amber) chips cover *Undertraining Risk*, *Race Readiness Risk*,
  *Low Confidence*, *Low Data Quality*, and *Plan Mismatch*. Risk chips are
  always inferred — you can't edit them directly.
* **Stage entry reason** — a short sentence explaining why the runner is in
  this stage. For inferred stages, it's NexRex's rationale; for coach
  overrides, it's the reason you wrote when you set the override.
* **Entered date** — when the runner moved into the current stage.

<Info>
  If the card reads "Not yet available for this runner," NexRex doesn't yet
  have enough signal to classify them. Stages typically populate within a sync
  cycle of the athlete logging their first activities.
</Info>

### When to override

Trust the inferred stage by default — it updates as the athlete trains. Set a
manual override when you have context NexRex can't see, for example:

* An athlete tells you they're starting a planned off-season but their data
  still looks like Active Training.
* A runner has chosen a new goal race and you want to lock them into Plan
  Calibration before the next session.
* You disagree with the inference (for example, the card says Plateau
  Management but you've just changed their block) and want the rest of the
  coaching surface to reflect your call.

### Set a manual override

1. From the athlete detail sheet, tap **Override** in the top-right of the
   Lifecycle stage card.
2. In the bottom sheet that opens, pick a **Primary stage**.
3. Optionally toggle any **Secondary states** that apply. You can select more
   than one.
4. Add a **Reason** explaining the override. The reason is required — it shows
   up as the stage entry reason on the card so other coaches understand why
   the stage was changed.
5. Tap **Save**. The card refreshes, the source badge flips to **Coach**, and
   the new stage takes effect immediately.

NexRex keeps inferring in the background while an override is in place, but
your override is what drives the card and any downstream coaching surfaces
until you clear or replace it.
