Morning briefing
July 16, 2026
Demonstration result · no live services called
Performance metrics
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 averageTraining environment
Environment
Garmin · 7-day trend
Heat acclimation
Today’s weather
Clear
Wilmington, NCCurrent week vs four-week baseline
Training load
This week
Training distribution
Mon, Jul 13 – Sun, Jul 19Current week vs trailing four weeks
Week volume trend
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.
- 1Briefing startsThe athlete requests a new briefing and can continue with their day while it is prepared.
- 2Worker gathers contextGarmin, weather, profile, race plan, memory, and the 3:1 or 2:1 training cycle are combined.
- 3Load is calculatedLTS, STS, SB, ACWR, volume trends, and recovery signals are evaluated.
- 4Coach makes the callThe AI coach considers today’s signals alongside the most relevant lessons from recent training.
- 5Result 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.
Working memory
Today’s Garmin data, weather, calculated load, cycle position, manual note, and selected history are assembled for one coaching request.
Semantic memory
The athlete controls durable facts such as schedule constraints, injury history, equipment limits, and coaching preferences from their profile.
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.
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
- Score 22Recent · same Build II phase · same loading week
- Score 18Recent · open follow-up · matching “heavy legs” note
- Score 14Recent · same Build II phase
Average LTS 81 · STS 78 · SB +3, with Build II and loading weeks most common.
Done is considered by the next coaching run once. Dismiss closes the item without sending it back to the coach.
Selected by current conditions—not by the manual comment.
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.
Performance thresholds
Cycling FTP, run and swim threshold pace, heart-rate values, and the initial training-load baseline personalize intensity and load calculations.
Weekly availability
Available training time, preferred pool days, equipment, double-session limits, and the normal weekly structure keep recommendations realistic.
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.
Coaching priorities
Primary goals, secondary goals, key sessions, and optional daily comments give the coach the context needed to make athlete-specific adjustments.
Private connections
Each athlete can connect their own Garmin account and OpenAI key, then choose whether completed briefing notifications are delivered by email.
Isolated history
Profiles, Garmin sessions, training state, generated briefings, memory episodes, and latest-result pointers remain scoped to the authenticated athlete.