Public demonstration

Health AgentRead only · prepared briefing data

Morning briefing

July 16, 2026

Demonstration result · no live services called

Performance metrics

77STS7-day stress
82LTS42-day stress
−5SBStress balance
0.87ACWRLoad ratio
Target raceIronman Chattanooga
73days to go
Current phaseBuild IIWeek 2 of 4

Loading week 3 of 3 · Next recovery Jul 20

Next: Peak / Race Specific · Aug 3

Today’s decision

Coach recommendation

Today vs trailing seven days

Recovery & conditions

Today compared with your seven-day average

Training environment

Environment

Garmin · 7-day trend

Heat acclimation

76%
68% 7D average↑ +8 points

Today’s weather

Clear

Wilmington, NC
76°Feels like 84°F
Good now · high heat risk later, train early
97° / 74° High / low4% Rain89% Humidity3 mph Wind8.3 UV

Current week vs four-week baseline

Training load

This week

Training distribution

Mon, Jul 13 – Sun, Jul 19
Bike1h 50m
31.0 mi88 TSS
Run1h 35m
10.3 mi115 TSS
Swim49m
2,078 yd33 TSS
4h 14m time42.5 mi distance236 TSS

Current week vs trailing four weeks

Week volume trend

Bike1.8 h
4W avg5.2 h
−65%
Run10.3 mi
4W avg25.8 mi
−60%
Swim2,078 yd
4W avg2,805 yd
−26%
Total4.2 h
4W avg10.1 h
−58%

Latest sessions

Recent activity

Today

  • Run · 45m · 4.88mi @ 9:13/mi · 54 TSS

Yesterday

  • Bike · 1h 7m · 20.4mi @ 157W · 74 TSS
  • Open-water swim · 49m · 1,900m · 33 TSS

Architecture in plain language

How a briefing becomes a decision

The production application is private and asynchronous. The public demo reproduces its output without connecting to any service.

  1. 1
    Briefing startsThe athlete requests a new briefing and can continue with their day while it is prepared.
  2. 2
    Worker gathers contextGarmin, weather, profile, race plan, memory, and the 3:1 or 2:1 training cycle are combined.
  3. 3
    Load is calculatedLTS, STS, SB, ACWR, volume trends, and recovery signals are evaluated.
  4. 4
    Coach makes the callThe AI coach considers today’s signals alongside the most relevant lessons from recent training.
  5. 5
    Result is deliveredThe private latest briefing is refreshed, a new episode is saved, and an optional completion email is queued.

Memory with boundaries

How the coach remembers what happened before

The agent does not send an unlimited history to the model. It builds a small, user-scoped context for each briefing and keeps the calculations separate from the coaching memory.

01

Working memory

Today’s Garmin data, weather, calculated load, cycle position, manual note, and selected history are assembled for one coaching request.

02

Semantic memory

The athlete controls durable facts such as schedule constraints, injury history, equipment limits, and coaching preferences from their profile.

03

Procedural memory

A trusted index selects only the relevant loading, recovery, heat, health-safety, or race procedure. The athlete’s text cannot select or rewrite one.

04

Episodic memory

Each completed briefing becomes a compact episode. For future coaching, only the previous state and recommendation are recalled—past risks and warnings remain stored but are not reused.

Relevant, not everything

Only the best five episodes are recalled

Episodes are ranked with deterministic rules. The highest-scoring five enter the next briefing; the current day is excluded and older history is compressed into one rolling summary.

  • Up to 14Recency points
  • +5Open follow-up
  • +3Same training phase
  • +3Same week type
  • Up to +3Matching comment terms

Security boundary: comments, durable facts, summaries, episodes, and follow-ups are always labeled as untrusted historical data. They cannot override formulas, system rules, tools, secrets, or the response format.

Memory in action

What the athlete can see and control

20 of 42 episodes retained
Latest recall · Jul 16Why these days were remembered
3 selected
  • Score 22Recent · same Build II phase · same loading week
  • Score 18Recent · open follow-up · matching “heavy legs” note
  • Score 14Recent · same Build II phase
Rolling summary20 briefings · Jun 27–Jul 16

Average LTS 81 · STS 78 · SB +3, with Build II and loading weeks most common.

Open follow-upAfter training, record whether leg heaviness improves

Done is considered by the next coaching run once. Dismiss closes the item without sending it back to the coach.

Trusted procedures selected
Loading weekHeat adjustment

Selected by current conditions—not by the manual comment.

Athlete-owned lifecycle: inspect selection reasons, export all memory, delete one episode, or delete everything.

Personalized for every athlete

The athlete profile shapes every briefing

Each signed-in athlete maintains their own thresholds, schedule, race plan, training rhythm, coaching priorities, and connected services. The worker loads that profile before calculating the daily recommendation.

01

Performance thresholds

Cycling FTP, run and swim threshold pace, heart-rate values, and the initial training-load baseline personalize intensity and load calculations.

02

Weekly availability

Available training time, preferred pool days, equipment, double-session limits, and the normal weekly structure keep recommendations realistic.

03

Race & training cycle

Target race, priority, goal, 3:1 or 2:1 rhythm, and the next recovery-week anchor determine the current phase and planned recovery timing.

04

Coaching priorities

Primary goals, secondary goals, key sessions, and optional daily comments give the coach the context needed to make athlete-specific adjustments.

05

Private connections

Each athlete can connect their own Garmin account and OpenAI key, then choose whether completed briefing notifications are delivered by email.

06

Isolated history

Profiles, Garmin sessions, training state, generated briefings, memory episodes, and latest-result pointers remain scoped to the authenticated athlete.