AI Workspace
Interactive coaching workspace for summaries, recommendations, schedule drafts, race plans, and workflow history.
Current athlete
Selected athlete and current coaching workspace context.
7d custom load
37.4
Previous: 219.7 , decrease 83%
7d running distance
6 km
Previous: 32.1 km , decrease 81%
7d running duration
34 min
Previous: 3h 16m , decrease 83%
Ask Coachboard
Ask a read-only question about athlete data. Review athlete training data and workload insights across your coaching roster.
New Athlete Review
Generate a coach-only onboarding briefing from approved intake, goals, constraints, preferences, and existing context.
AI summary
Generate a structured draft from the selected athlete, date range, report metrics, and manual coach notes.
AI next-week recommendation
Draft a high-level recommendation for coach review. This does not create or apply a schedule.
AI training schedule draft
Generate a dated 1 to 4-week draft for coach copy/edit. The default is 1 week/7 days. This does not write to TrainingPeaks or save a plan.
Athlete Training Review & Roadmap
Review recent training and an indicative road to the priority race before editing, approving and sharing it. Nothing changes the athlete phase, targets or schedule.
Deleted reports are hidden. Existing Training Recap reports remain available under their original saved titles.
Run distance
400.8 km
Run duration
38.6 h
Runs
41
Longest run
30.0 km
Custom Training Review & Roadmap - Daniel Maurer
Updated 10 Aug 2026
Training Consistency and Progress
You’ve shown real consistency over the last ten weeks, with running volume steadily building across the block. The weekly distances have grown from just over 25k initially to regularly hitting well above 40k, with one standout week topping 60k. This is a significant lift on previous blocks, and you’ve managed this while balancing a demanding work and family schedule. Across 10 active weeks, you’ve logged over 400km total, and your continued ability to fit running around your professional and personal commitments is a credit to your discipline and priorities.
Key Sessions and Race Preparation
While there’s been no recent race in this period, your training has included some big-key sessions, including a longest run of 30k. You’ve managed consistent long runs alongside regular weekly sessions, which is exactly what we need for Sydney Marathon prep. By holding together at least one speed or interval-focused session plus your endurance work, you’re building the specific stamina and race-readiness that targets your goal. You’re also letting your body adapt to marathon-specific demands—nutrition and pacing included—by sticking with the planned structure.
Recovery and Constraints
You’ve trained consistently with no reported injury interruption, which puts you in a solid position. Balancing a high-demand real estate role and family responsibilities—with sport commitments for the kids too—means that flexibility has been key for you. You’re focused on the long game, and your feedback has been pragmatic about what’s possible week-to-week. Recovery appears managed, and you haven’t overreached despite the increased volume. That balance between pushing your training and respecting all your constraints is what will keep you moving forward sustainably.
Next Block Focus
We’re entering the taper phase for Sydney Marathon. The major focus now is on feeling fresh for race day while maintaining some familiar intensity and sharpening your confidence. This means reducing overall load, keeping a touch of marathon-pace work and prioritising sleep, nutrition and recovery. The next two weeks are about absorbing all your work to date and arriving at the start line healthy, motivated and well-prepared. We’ll hold off on any new race-specific stimulus and maintain a practical approach, ensuring you adapt to this taper window and are ready for race week. Please keep flagging any niggles or changes to recovery, as we may adjust if anything crops up in these final lead-in weeks.
Road to Sydney Marathon
Current Phase
- Coach-approved phase: Peak
- Proposed next phase: Taper
- Commencement: 14 August 2026
- Proposed transition window: 14–30 August 2026
You are currently in your final block of big marathon-specific sessions, with our priority being to complete this highest-value training without overloading you. At this point, we want to see your key long runs and sessions absorbed well, your recovery in order and no signs of significant fatigue or injury. This block is not just about the highest total kilometres, but nailing the marathon sessions that count.
Primary adaptations
- You’re building peak race-specific fitness, with an emphasis on marathon pace, sustained endurance, and the practical skills for race day.
- Recent training shows you can handle demanding weeks while holding recovery and life commitments in balance.
Evidence of readiness
- Your big workouts and long runs have been completed as planned, and you’ve absorbed them without setback.
- You’ve maintained training consistency even during high-stress work weeks.
- No injury or excessive fatigue has been reported.
Factors that could delay progression
- Any unplanned fatigue, incomplete recovery, or injury symptoms in the last weeks would delay taper.
- If family, work or other constraints disrupt key final sessions, we may adjust the approach.
Upcoming Roadmap
| Phase | Expected window | Objective | Training emphasis | Direction |
|---|---|---|---|---|
| Peak | 31 July – 13 August 2026 | Consolidate your marathon-specific fitness with final demanding long runs and goal-pace sessions. | Maximise the value of workouts that directly translate to race-day performance, while keeping recovery up between demanding sessions. | Stable or slightly stepped down, prioritising quality over towering volume. |
| Taper | 14 – 30 August 2026 | Bring down accumulated fatigue while still keeping enough stimulus to stay sharp for the marathon. | Volume reduces progressively, but you’ll keep a little pace-work and familiar intensity. Sleep, nutrition and all-around freshness are top priority. | Reduced—deliberately lowering the load so you can absorb training and arrive rested. |
| Race Week | 24 – 30 August 2026 | Arrive ready for Sydney Marathon—rested, confident, and practically prepared. | Keep runs low-fatigue and brief; include limited but familiar intensity if you’re fresh. Focus on gear, logistics, sleep and nutrition. | Much lighter and only top-up runs as needed. |
| Recovery | 31 August – mid September 2026 | Allow both body and mind to recover post-race before jumping back into heavy training. | Active recovery, plenty of rest, and low-intensity movement as symptoms allow, reviewing the race and this block. | Minimal, focusing on restoration and readiness to re-engage. |
Readiness for transitions
- Peak: You’ve completed the final long or pace-specific runs with no sign of injury or accumulated fatigue.
- Peak: Your overall energy and recovery are in a good spot.
- Peak: You’re handling the race-specific demands each week.
- Taper: You’re feeling fresher each week as load drops.
- Taper: Minor niggles are settled and motivation is building for race day.
- Taper: No new disruptions on the work or family front affect recovery.
- Race Week: Taper is complete and you feel ready to run.
- Race Week: You’re recovering well and have no significant symptoms.
- Race Week: Race plan, gear and logistics are all sorted.
- Recovery: Any soreness or symptoms have settled.
- Recovery: You’re motivated for gentle activity again.
- Recovery: You can handle easy runs or cross-training without issue.
Expected Progression
Your weekly volume across this block has ranged from around 38km to over 46km, with time on feet between just under 4 hours to near 5 hours per week. Elevation has hovered consistently in the expected range for your goal, and your sessions have progressively built marathon-specific strength. The next step is consolidating these gains by letting the taper freshen you up for race day.
- Current sustainable range: Weekly distances have tracked well between 38–46km, aligning with sustainable progression for marathon performance given your schedule.
- Consolidation period: We’ve pushed through a key 10-week build—it’s been a strong consolidation of fitness.
- Next increase window: We are not proposing an increase yet.
- Indicative distance: Typical week landed between 38 and 46km.
- Indicative duration/load: Weekly time spent running has mostly sat between 235–287 minutes.
- Elevation: You’ve maintained 137–185m per week, matching what’s needed for the course.
- Long run: Longest run hit 30km, which sets a great foundation for a strong marathon finish.
- Recovery weeks: We will place recovery weeks according to your response.
Peak Window
- Expected window: 31 July – 13 August 2026
- Approximate duration: about 2 weeks
- Intended stimulus: Final big marathon-specific workouts, including the most demanding runs and longest duration sessions, while holding recovery discipline.
- Basis: Based on your current block and the Sydney Marathon timing, this window covers your last opportunity for meaningful race-specific stimulus.
Taper Window
- Expected window: 14 – 30 August 2026
- Objective: Let fatigue unload, sharpen confidence and maintain marathon readiness. We’re keeping volume down, maintaining a few quality touches, and prioritising all aspects of recovery.
- Basis: You’ve completed the workload needed and supporting evidence underlines this as the best time to freshen up for race day.
Readiness Conditions
- You’re running consistently each week and handling key sessions without major issues.
- Your recovery and adaptation are keeping up with the increased marathon load.
- You’re managing professional and personal commitments alongside training.
What May Change the Roadmap
- Any sign of injury or persistent soreness will prompt an immediate adjustment.
- If you experience unusual fatigue or recovery feels off, let’s reassess.
- If work or family duties force missed key sessions or materially reduce your recovery, we’ll tweak the plan so you’re still set up for race day.
Athlete Progress Reflection
Generate an athlete-facing reflection report from measured training data, known results, coach notes, and the selected coaching period.
Deleted reflections are hidden. Create New Version is reserved for a later versioning pass.
No active progress reflections found for this athlete.
Workflow history
Saved AI insights, race plans, and planning state used for coach review.
AI insights
40
History
Race plans
1
Saved
Active race goals
3
Open
Showing 8 of 41 matching artefacts.
Schedule DraftCompleted13 Sept 2026, 2:23 am7-day schedule
Coach Reasoning: This week is structured with a strong emphasis on sustainable post-race recovery, consistent with Daniel's approved targets and current constraints. The weekly ru…
Daniel MaurerNot recorded
7-day schedule
Coach Reasoning: This week is structured with a strong emphasis on sustainable post-race recovery, consistent with Daniel's approved targets and current constraints. The weekly ru…
Artefact
Coach Reasoning: This week is structured with a strong emphasis on sustainable post-race recovery, consistent with Daniel's approved targets and current constraints. The weekly running volume is set at 22 km and all runs are at an easy, conversational pace, avoiding any intensity or quality intervals as directed. The long run is prescribed at 11 km to satisfy target range and support aerobic foundation. Two additional easy runs support consistency without overloading training stress. Low-impact cross-training and a dedicated mobility/strength day are included for musculoskeletal resilience, especially considering the hamstring history. Rest days are spaced to support recovery. All sessions have specific instructions to pause if symptoms arise. The plan honours the risk of recent load increases with no progression in volume or intensity this week. Athlete Message: This week focuses on keeping your runs easy and comfortable while maintaining consistency as you bounce back post-marathon. Three easy runs with an 11 km long run on Sunday, plus some light cross-training and mobility work. No speedwork—just keep listening to your body, especially your hamstring, and hold back if anything doesn’t feel right. No specific follow-up required beyond routine training feedback. Week Summary: A deliberate consolidation week: total running 22 km in three easy sessions including a long run of 11 km. No quality or intensity included due to ongoing recovery focus and recent sharp volume increase. Non-running sessions target mobility, strength, and resilience. The next week will only progress if full symptom-free recovery is confirmed.
Why this recommendation?
{
"Athlete summary": {
"id": "cmni89y2r00k7h0uusr9752eb",
"name": "Daniel Maurer",
"timezone": "Australia / Sydney",
"localeContext": {
"locale": "en-AU",
"spelling": "Australian English",
"wordingExamples": "prioritise, kilometre, organised",
"dateFormatExample": "10 May 2026",
"distanceWord": "kilometre"
},
"currentPhase": "Recovery",
"preferredCommunicationTone": "Direct",
"aiEnabled": {
"report": true,
"plan": true
},
"strava": {
"connected": true,
"athleteId": "22601702",
"scope": "activity:read_all read",
"connectedAt": "2026-06-07T04:46:06.355Z",
"lastSyncedAt": "2026-09-13T01:58:58.825Z"
}
},
"Goal context": {
"Primary goal": "Sub 20 5km",
"Legacy event name": "Sydney Marathon",
"Legacy event date": null,
"Race phase": {
"daysUntilGoalEvent": -14,
"phase": "post_race_recovery"
},
"Primary race goal": {
"goalType": "race",
"priority": "A",
"status": "active",
"goalStatus": "Planned",
"title": "Sydney Marathon",
"description": null,
"targetDate": "2026-08-30",
"targetValue": "3:45",
"notes": null,
"raceName": "Sydney Marathon",
"raceWebsiteUrl": "https://www.tcssydneymarathon.com/",
"raceDistance": "42.2",
"raceDistanceKm": 42.2,
"raceType": "Marathon",
"goalFinishTime": null,
"targetTime": null,
"stretchGoal": null,
"courseMapUrl": "https://connect.ap.app.pam.co/?navmapId=4aa171f7-9554-4c24-af1c-723f0e598497&autoload=y&utm_source=sydmarathon.app&utm_medium=app&utm_campaign=sydney.marathon#15.06/-33.86788/151.21516/0/60",
"gpxUrl": null,
"elevationGain": null,
"terrain": "Road",
"confidenceLevel": "Moderate",
"mainObjective": "PB",
"keyConcern": null,
"nutritionNotes": null,
"injuryConstraintNotes": null,
"additionalNotes": null,
"coachNotes": null,
"terrainNotes": null,
"cutoffNotes": null,
"aidStationNotes": null
}
},
"Risk factors": [
{
"code": "post_race_recovery",
"severity": "info",
"label": "Post-race recovery window",
"evidence": [
"Goal event was 14 days ago."
]
},
{
"code": "overload",
"severity": "warning",
"label": "Recent running load or distance spike",
"evidence": [
"7-day distance change 120%; load change 141%."
]
}
],
"Planning implications": [
"Avoid adding intensity or volume unless coach notes clearly justify it and recovery is positive."
],
"Missing data": [
"Current injury/niggle status is not documented.",
"Legacy Athlete Details/intake injury fields are present but unconfirmed; review Health & Wellness lifecycle before treating them as current."
],
"Recent training": {
"Dashboard metrics": {
"lastWorkoutAt": "2026-09-09T20:04:33.000Z",
"lastLongRunAt": "2026-08-22T21:03:31.000Z",
"rolling7DayRunningDistanceKm": 22.0586,
"rolling7DayRunningDurationMinutes": 139.18333333333334,
"rolling7DayRunningLoad": 152.49263333333332,
"runningDistanceChangePercent": 120.3920549916074,
"runningLoadChangePercent": 140.79913381814814,
"longestRunDistance7dKm": 9.8165,
"longRunPercent7d": 44.50191761943188,
"recentActivityTypesLast14Days": [
"running"
]
},
"Weekly running": [
{
"weekStart": "2026-06-22T00:00:00.000Z",
"distanceKm": 37.7022,
"durationMinutes": 212.1,
"load": 232.8411
},
{
"weekStart": "2026-06-29T00:00:00.000Z",
"distanceKm": 41.892399999999995,
"durationMinutes": 272.9166666666667,
"load": 298.37286666666665
},
{
"weekStart": "2026-07-06T00:00:00.000Z",
"distanceKm": 60.7683,
"durationMinutes": 338.56666666666666,
"load": 371.1508166666666
},
{
"weekStart": "2026-07-13T00:00:00.000Z",
"distanceKm": 46.9808,
"durationMinutes": 267.3333333333333,
"load": 294.2437333333333
},
{
"weekStart": "2026-07-20T00:00:00.000Z",
"distanceKm": 31.362999999999996,
"durationMinutes": 175.08333333333334,
"load": 192.2748333333333
},
{
"weekStart": "2026-07-27T00:00:00.000Z",
"distanceKm": 47.831100000000006,
"durationMinutes": 270.23333333333335,
"load": 295.7488833333333
}
],
"Recent test runs": [
{
"startTime": "2026-08-29T04:44:38.000Z",
"durationMinutes": 17.816666666666666,
"distanceKm": 3.0061999999999998,
"classificationLabels": [
"Structured workout"
],
"stravaDetailSummary": "Structured workout detail available",
"stravaDetail": [
"Sync status: completed",
"Laps: 7",... [truncated]Safe metadata
- Created
- 13 Sept 2026, 2:23 am
- Archived
- Not recorded
- Deleted
- Not recorded
- Athlete
- Daniel Maurer
- Workflow
- Schedule Draft
- Status
- Completed
- Duration
- Not recorded
- Model
- Not recorded
- Schema version
- Not recorded
- Token estimate
- Not recorded
- Attempt count
- Not recorded
- Compaction used
- Not recorded
- Generated by
- openai
Next Week RecommendationCompleted13 Sept 2026, 2:23 amNext-week recommendation
Coach Reasoning: Current Status - Athlete is 2 weeks post-Sydney Marathon and in recovery phase. - No documented injury or current symptoms, but recent history notes left hamstrin…
Daniel MaurerNot recorded
Next-week recommendation
Coach Reasoning: Current Status - Athlete is 2 weeks post-Sydney Marathon and in recovery phase. - No documented injury or current symptoms, but recent history notes left hamstrin…
Artefact
Coach Reasoning: Current Status - Athlete is 2 weeks post-Sydney Marathon and in recovery phase. - No documented injury or current symptoms, but recent history notes left hamstring issues. - Balancing high work and family commitments, indicating limited training time. Training Trend - Last 2 weeks saw a substantial drop in volume as expected post-race, followed by an upswing in running this week (over 120% increase in both distance and load versus prior week). - Highest 3 months prior to race: weekly distances consistently above 45-55 km and long runs up to 34 km. Race-Specific Stimulus Gaps - Race stimulus analysis highlights underdone muscular endurance along with gaps in lactate threshold and race simulation, though immediate post-race does not yet call for aggressive targeting of these. - Aerobic and neuromuscular economy have largely been maintained per recent session content. Risk / Unknowns - Notable recent spike in weekly running presents potential overload risk, especially given recent recovery phase status. - Missing clarity on current hamstring health—no negative feedback, but prudent to progress conservatively in case of latent issues. Coaching Recommendation - Hold this week as a consolidation of return-to-activity, with moderate mileage and intensity. - Prioritise gentle re-introduction of variety: short endurance and form-focused runs; avoid hard threshold or muscular endurance work until stable. - Allow another week before layering in heavier progression; closely monitor any symptom changes given high work/life stress and prior injury history. Athlete Message: Nice work getting back into the swing of things after the marathon. Keep this week steady—aim for a similar amount of running, mostly easy effort, and keep an eye on anything that feels off, especially the hamstring. Let me know straight away if you feel any soreness or niggles crop up. No specific follow-up required beyond routine training feedback. Recommended Focus: Training Focus - Emphasise steady reloading—maintain moderate total distance and keep all runs mostly comfortable as the body continues to recover. Key Sessions - Prioritise 2–3 easy runs (a mix of short endurance and aerobic form work) with no set focus on pace; optional strides if hamstring feels sound. Progression - Maintain overall volume at a similar level to last week; no more than a 10–15% increase. Recovery Considerations - Prioritise sleep, good nutrition, and gentle cross-training or mobility (especially for the hamstring). Race-Specific Priorities - Muscular endurance and threshold work remain intentionally paused—will revisit once consistent and symptom-free running is re-established. Coach Notes - Continue monitoring for any return of hamstring symptoms or excessive fatigue. Pause/shuffle sessions promptly if any discomfort arises. Rationale: Recent spike in running volume after marathon recovery warrants a conservative week to avoid overload or flare-ups, especially with prior hamstring concerns. The focus remains on consistent, comfortable running and monitoring recovery signals before resuming higher intensity or volume.
Why this recommendation?
{
"Athlete summary": {
"id": "cmni89y2r00k7h0uusr9752eb",
"name": "Daniel Maurer",
"timezone": "Australia / Sydney",
"localeContext": {
"locale": "en-AU",
"spelling": "Australian English",
"wordingExamples": "prioritise, kilometre, organised",
"dateFormatExample": "10 May 2026",
"distanceWord": "kilometre"
},
"currentPhase": "Recovery",
"preferredCommunicationTone": "Direct",
"aiEnabled": {
"report": true,
"plan": true
},
"strava": {
"connected": true,
"athleteId": "22601702",
"scope": "activity:read_all read",
"connectedAt": "2026-06-07T04:46:06.355Z",
"lastSyncedAt": "2026-09-13T01:58:58.825Z"
}
},
"Goal context": {
"Primary goal": "Sub 20 5km",
"Legacy event name": "Sydney Marathon",
"Legacy event date": null,
"Race phase": {
"daysUntilGoalEvent": -14,
"phase": "post_race_recovery"
},
"Primary race goal": {
"goalType": "race",
"priority": "A",
"status": "active",
"goalStatus": "Planned",
"title": "Sydney Marathon",
"description": null,
"targetDate": "2026-08-30",
"targetValue": "3:45",
"notes": null,
"raceName": "Sydney Marathon",
"raceWebsiteUrl": "https://www.tcssydneymarathon.com/",
"raceDistance": "42.2",
"raceDistanceKm": 42.2,
"raceType": "Marathon",
"goalFinishTime": null,
"targetTime": null,
"stretchGoal": null,
"courseMapUrl": "https://connect.ap.app.pam.co/?navmapId=4aa171f7-9554-4c24-af1c-723f0e598497&autoload=y&utm_source=sydmarathon.app&utm_medium=app&utm_campaign=sydney.marathon#15.06/-33.86788/151.21516/0/60",
"gpxUrl": null,
"elevationGain": null,
"terrain": "Road",
"confidenceLevel": "Moderate",
"mainObjective": "PB",
"keyConcern": null,
"nutritionNotes": null,
"injuryConstraintNotes": null,
"additionalNotes": null,
"coachNotes": null,
"terrainNotes": null,
"cutoffNotes": null,
"aidStationNotes": null
}
},
"Risk factors": [
{
"code": "post_race_recovery",
"severity": "info",
"label": "Post-race recovery window",
"evidence": [
"Goal event was 14 days ago."
]
},
{
"code": "overload",
"severity": "warning",
"label": "Recent running load or distance spike",
"evidence": [
"7-day distance change 120%; load change 141%."
]
}
],
"Planning implications": [
"Avoid adding intensity or volume unless coach notes clearly justify it and recovery is positive."
],
"Missing data": [
"Current injury/niggle status is not documented.",
"Legacy Athlete Details/intake injury fields are present but unconfirmed; review Health & Wellness lifecycle before treating them as current."
],
"Recent training": {
"Dashboard metrics": {
"lastWorkoutAt": "2026-09-09T20:04:33.000Z",
"lastLongRunAt": "2026-08-22T21:03:31.000Z",
"rolling7DayRunningDistanceKm": 22.0586,
"rolling7DayRunningDurationMinutes": 139.18333333333334,
"rolling7DayRunningLoad": 152.49263333333332,
"runningDistanceChangePercent": 120.3920549916074,
"runningLoadChangePercent": 140.79913381814814,
"longestRunDistance7dKm": 9.8165,
"longRunPercent7d": 44.50191761943188,
"recentActivityTypesLast14Days": [
"running"
]
},
"Weekly running": [
{
"weekStart": "2026-06-22T00:00:00.000Z",
"distanceKm": 37.7022,
"durationMinutes": 212.1,
"load": 232.8411
},
{
"weekStart": "2026-06-29T00:00:00.000Z",
"distanceKm": 41.892399999999995,
"durationMinutes": 272.9166666666667,
"load": 298.37286666666665
},
{
"weekStart": "2026-07-06T00:00:00.000Z",
"distanceKm": 60.7683,
"durationMinutes": 338.56666666666666,
"load": 371.1508166666666
},
{
"weekStart": "2026-07-13T00:00:00.000Z",
"distanceKm": 46.9808,
"durationMinutes": 267.3333333333333,
"load": 294.2437333333333
},
{
"weekStart": "2026-07-20T00:00:00.000Z",
"distanceKm": 31.362999999999996,
"durationMinutes": 175.08333333333334,
"load": 192.2748333333333
},
{
"weekStart": "2026-07-27T00:00:00.000Z",
"distanceKm": 47.831100000000006,
"durationMinutes": 270.23333333333335,
"load": 295.7488833333333
}
],
"Recent test runs": [
{
"startTime": "2026-08-29T04:44:38.000Z",
"durationMinutes": 17.816666666666666,
"distanceKm": 3.0061999999999998,
"classificationLabels": [
"Structured workout"
],
"stravaDetailSummary": "Structured workout detail available",
"stravaDetail": [
"Sync status: completed",
"Laps: 7",... [truncated]Safe metadata
- Created
- 13 Sept 2026, 2:23 am
- Archived
- Not recorded
- Deleted
- Not recorded
- Athlete
- Daniel Maurer
- Workflow
- Next Week Recommendation
- Status
- Completed
- Duration
- Not recorded
- Model
- Not recorded
- Schema version
- Not recorded
- Token estimate
- Not recorded
- Attempt count
- Not recorded
- Compaction used
- Not recorded
- Generated by
- openai
AI SummaryCompleted13 Sept 2026, 2:23 amAI Summary - 7 Sept 2026 - 13 Sept 2026
Coach Reasoning: Current Status - Athlete is 14 days post-Sydney Marathon, currently in a recovery phase after aiming for a marathon PB. - No active or recent injury/niggle issues…
Daniel MaurerNot recorded
AI Summary - 7 Sept 2026 - 13 Sept 2026
Coach Reasoning: Current Status - Athlete is 14 days post-Sydney Marathon, currently in a recovery phase after aiming for a marathon PB. - No active or recent injury/niggle issues…
Artefact
Coach Reasoning: Current Status - Athlete is 14 days post-Sydney Marathon, currently in a recovery phase after aiming for a marathon PB. - No active or recent injury/niggle issues documented; previous left hamstring injury is only noted in legacy profile context, not as a current concern. - Athlete is managing high work and family demands; no recent wellness or injury feedback received. Training Trend - Running distance, duration, and load each spiked by over 120% compared to the previous week, flagged as a load spike post-race. - Longest run this week (around 10km) forms less than half of total weekly distance, indicating a more even distribution across sessions. - The increase in volume likely reflects returning to normal post-race training, but is aggressive given the previous two weeks were very light coming off the marathon. Race-Specific Stimulus Gaps - Muscular endurance is underrepresented and is a race-critical gap as per deterministic adaptation analysis, directly impacting marathon recovery and transition towards shorter race goals. - Lactate threshold and race simulation exposures remain low, but are less urgent during recovery. Risk / Unknowns - Evidence-based risk is the marked load spike in running distance, duration, and custom load during the recovery window, flagged by the system as a warning. - No new injury or fatigue flags, but the increase is significant after a marathon and a low-volume period. - Athlete context reinforces they balance competing priorities and have a long-term mindset, but lack of wellness feedback or current injury/niggle information means monitoring for delayed fatigue or niggle is recommended. Coaching Recommendation - Advise a cautious approach to building back up, with priority on maintaining recovery for at least another week. - Do not increase volume or intensity further until confirmed symptom-free and responding well. - Begin to reintroduce low-stress muscular endurance elements (e.g. hill strides, gentle tempo work) only if recovery is clear, but avoid race-specific intensity until load stabilises. - Open the conversation for any niggles, soreness, or change in energy since returning to workload. - Check for feedback before further progression, particularly at this stage of post-race recovery. Athlete Message: You’ve moved back to decent training volume after the marathon. Let’s keep building gradually, but avoid pushing higher just yet—keep your effort mostly easy and let me know if you notice any soreness, fatigue, or niggles as you go. Coach Conversation Guide: - How are you feeling with your current training load—any lingering soreness or fatigue after the marathon? - Have you noticed any niggles or new aches since picking up the volume again? - Are you able to recover well between sessions given your work and family commitments? - Do you feel ready for a bit of gentle tempo or muscular endurance work, or is more recovery needed? - Is there anything specific you want to focus on or adjust in the next few weeks?
Why this recommendation?
{
"Athlete summary": {
"id": "cmni89y2r00k7h0uusr9752eb",
"name": "Daniel Maurer",
"timezone": "Australia / Sydney",
"localeContext": {
"locale": "en-AU",
"spelling": "Australian English",
"wordingExamples": "prioritise, kilometre, organised",
"dateFormatExample": "10 May 2026",
"distanceWord": "kilometre"
},
"currentPhase": "Recovery",
"preferredCommunicationTone": "Direct",
"aiEnabled": {
"report": true,
"plan": true
},
"strava": {
"connected": true,
"athleteId": "22601702",
"scope": "activity:read_all read",
"connectedAt": "2026-06-07T04:46:06.355Z",
"lastSyncedAt": "2026-09-13T01:58:58.825Z"
}
},
"Goal context": {
"Primary goal": "Sub 20 5km",
"Legacy event name": "Sydney Marathon",
"Legacy event date": null,
"Race phase": {
"daysUntilGoalEvent": -14,
"phase": "post_race_recovery"
},
"Primary race goal": {
"goalType": "race",
"priority": "A",
"status": "active",
"goalStatus": "Planned",
"title": "Sydney Marathon",
"description": null,
"targetDate": "2026-08-30",
"targetValue": "3:45",
"notes": null,
"raceName": "Sydney Marathon",
"raceWebsiteUrl": "https://www.tcssydneymarathon.com/",
"raceDistance": "42.2",
"raceDistanceKm": 42.2,
"raceType": "Marathon",
"goalFinishTime": null,
"targetTime": null,
"stretchGoal": null,
"courseMapUrl": "https://connect.ap.app.pam.co/?navmapId=4aa171f7-9554-4c24-af1c-723f0e598497&autoload=y&utm_source=sydmarathon.app&utm_medium=app&utm_campaign=sydney.marathon#15.06/-33.86788/151.21516/0/60",
"gpxUrl": null,
"elevationGain": null,
"terrain": "Road",
"confidenceLevel": "Moderate",
"mainObjective": "PB",
"keyConcern": null,
"nutritionNotes": null,
"injuryConstraintNotes": null,
"additionalNotes": null,
"coachNotes": null,
"terrainNotes": null,
"cutoffNotes": null,
"aidStationNotes": null
}
},
"Risk factors": [
{
"code": "post_race_recovery",
"severity": "info",
"label": "Post-race recovery window",
"evidence": [
"Goal event was 14 days ago."
]
},
{
"code": "overload",
"severity": "warning",
"label": "Recent running load or distance spike",
"evidence": [
"7-day distance change 120%; load change 141%."
]
}
],
"Planning implications": [
"Avoid adding intensity or volume unless coach notes clearly justify it and recovery is positive."
],
"Missing data": [
"Current injury/niggle status is not documented.",
"Legacy Athlete Details/intake injury fields are present but unconfirmed; review Health & Wellness lifecycle before treating them as current."
],
"Recent training": {
"Dashboard metrics": {
"lastWorkoutAt": "2026-09-09T20:04:33.000Z",
"lastLongRunAt": "2026-08-22T21:03:31.000Z",
"rolling7DayRunningDistanceKm": 22.0586,
"rolling7DayRunningDurationMinutes": 139.18333333333334,
"rolling7DayRunningLoad": 152.49263333333332,
"runningDistanceChangePercent": 120.3920549916074,
"runningLoadChangePercent": 140.79913381814814,
"longestRunDistance7dKm": 9.8165,
"longRunPercent7d": 44.50191761943188,
"recentActivityTypesLast14Days": [
"running"
]
},
"Weekly running": [
{
"weekStart": "2026-06-22T00:00:00.000Z",
"distanceKm": 37.7022,
"durationMinutes": 212.1,
"load": 232.8411
},
{
"weekStart": "2026-06-29T00:00:00.000Z",
"distanceKm": 41.892399999999995,
"durationMinutes": 272.9166666666667,
"load": 298.37286666666665
},
{
"weekStart": "2026-07-06T00:00:00.000Z",
"distanceKm": 60.7683,
"durationMinutes": 338.56666666666666,
"load": 371.1508166666666
},
{
"weekStart": "2026-07-13T00:00:00.000Z",
"distanceKm": 46.9808,
"durationMinutes": 267.3333333333333,
"load": 294.2437333333333
},
{
"weekStart": "2026-07-20T00:00:00.000Z",
"distanceKm": 31.362999999999996,
"durationMinutes": 175.08333333333334,
"load": 192.2748333333333
},
{
"weekStart": "2026-07-27T00:00:00.000Z",
"distanceKm": 47.831100000000006,
"durationMinutes": 270.23333333333335,
"load": 295.7488833333333
}
],
"Recent test runs": [
{
"startTime": "2026-08-29T04:44:38.000Z",
"durationMinutes": 17.816666666666666,
"distanceKm": 3.0061999999999998,
"classificationLabels": [
"Structured workout"
],
"stravaDetailSummary": "Structured workout detail available",
"stravaDetail": [
"Sync status: completed",
"Laps: 7",... [truncated]Safe metadata
- Created
- 13 Sept 2026, 2:23 am
- Archived
- Not recorded
- Deleted
- Not recorded
- Athlete
- Daniel Maurer
- Workflow
- AI Summary
- Status
- Completed
- Duration
- Not recorded
- Model
- Not recorded
- Schema version
- Not recorded
- Token estimate
- Not recorded
- Attempt count
- Not recorded
- Compaction used
- Not recorded
- Generated by
- openai
Schedule DraftCompleted6 Sept 2026, 2:16 amNext-week Schedule Draft - 31 Aug 2026 - 6 Sept 2026
# Next-week Schedule Draft ## Coach reasoning Daniel is seven days post-marathon and still within the initial recovery window. The clear directive is for unstructured, restorative…
Daniel MaurerNot recorded
Next-week Schedule Draft - 31 Aug 2026 - 6 Sept 2026
# Next-week Schedule Draft ## Coach reasoning Daniel is seven days post-marathon and still within the initial recovery window. The clear directive is for unstructured, restorative…
Artefact
# Next-week Schedule Draft ## Coach reasoning Daniel is seven days post-marathon and still within the initial recovery window. The clear directive is for unstructured, restorative work prioritising full recovery and attending to any signs of soreness, with special attention to the previous left hamstring concern. No intensity or formal long runs are to be prescribed this week. The approved distance target is 15 km (with some leeway), all at easy, conversational pace. Key is flexibility, optional active recovery, and daily check-ins for feedback or any recurrence of niggles. With career and family demands high and no recent structured sessions, the plan is intentionally light. All running is optional; rest days are both allowed and encouraged dependent on feel. Low-load mobility or gentle walking is included as alternatives as needed. ## Athlete message We’re keeping things low-key this week after your marathon – focus on recovery and moving as you feel able, no pressure for structure. All runs are easy and optional, with full rest days available. If the body feels fresh and you’re keen for some movement, a few short, easy-paced runs are there for you. Keep an eye on how the hammy feels, and shout out if anything crops up. Prioritise family, work, and sleep. Let’s check in midweek and make sure things are tracking well. ## Week summary This recovery week holds mileage to an easy, optional 15 km, all at a relaxed pace, and respects marathon recovery needs and lifestyle constraints. Runs are deliberately short and low-effort, spread out for flexibility. Priority is placed on full restoration: no intensity or long runs, and days off are encouraged based on daily feel. Next week will consider progression only if Daniel reports a smooth and complete recovery with no lingering soreness. ## Schedule - Monday: Rest; 0 km; 0 min. Complete rest to facilitate marathon recovery. No formal session. Take the day off or do gentle stretching if desired. Note any soreness. - Tuesday: Easy run (optional); 3 km; 20 min. Light aerobic movement for circulation and gentle return to activity. Easy, no-pressure run at a relaxed pace. Walk breaks as needed. Monitor the left hamstring for any tightness or pain. Cut short at first sign of discomfort. - Wednesday: Mobility and walk (optional); 0 km; 20 min. Maintain gentle mobility and active recovery. Mobility: 2 sets of 8 reps each of bodyweight squats, leg swings, hip openers, calf raises. Add 10–15 min brisk walking if feeling fresh. - Thursday: Easy run (optional); 4 km; 25 min. Gentle aerobic run, staying well within recovery limits. Run 4 km at an easy, conversational pace. Include walking as needed. Stop immediately if any soreness resumes, especially around the hamstring. - Friday: Rest or gentle walk; 0 km; 0 min. Optional recovery day or easy walking per energy levels. No scheduled session. Optional: add 10–15 min easy walking if feeling loose. Skip if tired or sore. - Saturday: Easy run (optional); 5 km; 30 min. Aerobic build, supporting recovery and adaptation post-event. 5 km easy, keep the effort gentle. Take breaks as needed. Emphasise relaxed running and steady breathing. Check in on hamstring feedback. - Sunday: Easy run or walk (optional); 3 km; 30 min. Optional movement to wrap up recovery week; no long run prescribed. 3 km easy run, or swap for a brisk 15–30 min walk if legs feel heavy. No pushing pace. Prioritise how you feel this morning. Total running: 15 km Total duration: 125 min Safe increase warning: none. ## Coach review notes - All running is optional, prioritising full recovery and family/work commitments. - Plan remains conservative as per the recovery phase and post-race guidance. - No intensity, speedwork, or true long runs included; stops at first sign of hamstring discomfort are highlighted throughout. - Total running distance is 15 km, matching the approved week 1 recovery target. - Mobility and walking alternatives support active recovery without overloading. - Pause progression and reassess for next week only with clear recovery feedback from Daniel.
Why this recommendation?
{
"reportType": "next_week_schedule",
"sourceOutput": {
"coachReasoning": "Daniel is seven days post-marathon and still within the initial recovery window. The clear directive is for unstructured, restorative work prioritising full recovery and attending to any signs of soreness, with special attention to the previous left hamstring concern. No intensity or formal long runs are to be prescribed this week. The approved distance target is 15 km (with some leeway), all at easy, conversational pace. Key is flexibility, optional active recovery, and daily check-ins for feedback or any recurrence of niggles. With career and family demands high and no recent structured sessions, the plan is intentionally light. All running is optional; rest days are both allowed and encouraged dependent on feel. Low-load mobility or gentle walking is included as alternatives as needed.",
"athleteMessage": "We’re keeping things low-key this week after your marathon – focus on recovery and moving as you feel able, no pressure for structure. All runs are easy and optional, with full rest days available. If the body feels fresh and you’re keen for some movement, a few short, easy-paced runs are there for you. Keep an eye on how the hammy feels, and shout out if anything crops up. Prioritise family, work, and sleep. Let’s check in midweek and make sure things are tracking well.",
"weekSummary": "This recovery week holds mileage to an easy, optional 15 km, all at a relaxed pace, and respects marathon recovery needs and lifestyle constraints. Runs are deliberately short and low-effort, spread out for flexibility. Priority is placed on full restoration: no intensity or long runs, and days off are encouraged based on daily feel. Next week will consider progression only if Daniel reports a smooth and complete recovery with no lingering soreness.",
"totalRunningKm": 15,
"totalDurationMinutes": 125,
"safeIncreaseWarning": null,
"days": [
{
"weekNumber": 1,
"date": "2026-09-07",
"day": "Monday",
"sessionType": "Rest",
"durationMinutes": null,
"distanceKm": null,
"purpose": "Complete rest to facilitate marathon recovery.",
"notes": "No formal session. Take the day off or do gentle stretching if desired. Note any soreness."
},
{
"weekNumber": 1,
"date": "2026-09-08",
"day": "Tuesday",
"sessionType": "Easy run (optional)",
"durationMinutes": 20,
"distanceKm": 3,
"purpose": "Light aerobic movement for circulation and gentle return to activity.",
"notes": "Easy, no-pressure run at a relaxed pace. Walk breaks as needed. Monitor the left hamstring for any tightness or pain. Cut short at first sign of discomfort."
},
{
"weekNumber": 1,
"date": "2026-09-09",
"day": "Wednesday",
"sessionType": "Mobility and walk (optional)",
"durationMinutes": 20,
"distanceKm": null,
"purpose": "Maintain gentle mobility and active recovery.",
"notes": "Mobility: 2 sets of 8 reps each of bodyweight squats, leg swings, hip openers, calf raises. Add 10–15 min brisk walking if feeling fresh."
},
{
"weekNumber": 1,
"date": "2026-09-10",
"day": "Thursday",
"sessionType": "Easy run (optional)",
"durationMinutes": 25,
"distanceKm": 4,
"purpose": "Gentle aerobic run, staying well within recovery limits.",
"notes": "Run 4 km at an easy, conversational pace. Include walking as needed. Stop immediately if any soreness resumes, especially around the hamstring."
},
{
"weekNumber": 1,
"date": "2026-09-11",
"day": "Friday",
"sessionType": "Rest or gentle walk",
"durationMinutes": null,
"distanceKm": null,
"purpose": "Optional recovery day or easy walking per energy levels.",
"notes": "No scheduled session. Optional: add 10–15 min easy walking if feeling loose. Skip if tired or sore."
},
{
"weekNumber": 1,
"date": "2026-09-12",
"day": "Saturday",
"sessionType": "Easy run (optional)",
"durationMinutes": 30,
"distanceKm": 5,
"purpose": "Aerobic build, supporting recovery and adaptation post-event.",
"notes": "5 km easy, keep the effort gentle. Take breaks as needed. Emphasise relaxed running and steady breathing. Check in on hamstring feedback."
},
{
"weekNumber": 1,
"date": "2026-09-13",
"day": "Sunday",
"sessionType": "Easy run or walk (optional)",
"durationMinutes": 30,
"distanceKm": 3,
"purpose": "Optional movement to wrap up recovery week; no long run prescribed.",
"notes": "3 km easy run, or swap for a brisk 15–30 min walk if legs feel heavy. No pushing pace. Prioritise how you feel this morning."
}
],
"coachReviewNotes": [
"All running is optional, prioritising full recovery and family/work commitments.",
"Plan remains conservative as per the recovery phase and post-race guidance.",
"No intensity, speedwork, or true long runs included; stops at first sign of hamstring discomfort are highlighted throughout.",
"Total running distance is 15 km, matching the approved week 1 recovery target.",
"Mobility and walking alternatives support active recovery without overloading.",
"Pause progression and reassess for next week only with clear recovery feedback from Daniel."
]
},
"range": {
"start": "2026-08-30T14:00:00.000Z",
"end": "2026-09-06T14:00:00.000Z"
},
"includeEventContext": true,
"athleteAiContext": {
"athleteSummary": {
"id": "cmni89y2r00k7h0uusr9752eb",
"name": "Daniel Maurer",
"timezone": "Australia / Sydney",
"localeContext": {
"locale": "en-AU",
"spelling": "Australian English",
"wordingExamples": "prioritise, kilometre, organised",
"dateFormatExample": "10 May 2026",
"distanceWord": "kilometre"
},
"currentPhase": "Recovery",
"preferredCommunicationTone": "Direct",
"aiEnabled": {
"report": true,
"plan": true
},
"strava": {
"connected": true,
"athleteId": "22601702",
"scope": "activity:read_all read",
"connectedAt": "2026-06-07T04:46:06.355Z",
"lastSyncedAt": "2026-09-06T02:15:18.894Z"
}
},
"goalContext": {
"primaryGoal": "Sub 20 5km",
"legacyGoalEventName": "Sydney Marathon",
"legacyGoalEventDate": null,
"legacyGoalDistanceType": null,
"racePhase": {
"daysUntilGoalEvent": -7,
"phase": "post_race_recovery"
},
"activeGoals": [
{
"goalType": "race",
"priority": "A",
"status": "active",
"goalStatus": "Planned",
"title": "Sydney Marathon",
"description": null,
"targetDate": "2026-08-30",
"targetValue": "3:45",
"notes": null,
"raceName": "Sydney Marathon",
"raceWebsiteUrl": "https://www.tcssydneymarathon.com/",
"raceDistance": "42.2",
"raceDistanceKm": 42.2,
"raceType": "Marathon",
"goalFinishTime": null,
"targetTime": null,
"stretchGoal": null,
"courseMapUrl": "https://connect.ap.app.pam.co/?navmapId=4aa171f7-9554-4c24-af1c-723f0e598497&autoload=y&utm_source=sydmarathon.app&utm_medium=app&utm_campaign=sydney.marathon#15.06/-33.86788/151.21516/0/60",
"gpxUrl": null,
"elevationGain": null,
"terrain": "Road",
"confidenceLevel": "Moderate",
"mainObjective": "PB",
"keyConcern": null,
"nutritionNotes": null,
"injuryConstraintNotes": null,
"additionalNotes": null,
"coachNotes": null,
"terrainNotes": null,
"cutoffNotes": null,
"aidStationNotes": null
},
{
"goalType": "training",
"priority": "A",
"status": "active",
"goalStatus": "Planned",
"title": "Sub 20 minute 5km",
"description": null,
"targetDate": "2026-11-07",
"targetValue": null,
"notes": null,
"raceName": null,
"raceWebsiteUrl": null,
"raceDistance": null,
"raceDistanceKm": null,
"raceType": null,
"goalFinishTime": "19:59",
"targetTime": "19:59",
"stretchGoal": null,
"courseMapUrl": null,
"gpxUrl": null,
"elevationGain": null,
"terrain": null,
"confidenceLevel": null,
"mainObjective": "PB",
"keyConcern": null,
"nutritionNotes": null,
"injuryConstraintNotes": null,
"additionalNotes": null,
"coachNotes": null,
"terrainNotes": null,
"cutoffNotes": null,
"aidStationNotes": null
},
{
"goalType": "race",
"priority": "B",
"status": "active",
"goalStatus": "Planned",
"title": "Athlete race goal",
"description": null,
"targetDate": null,
"targetValue": null,
"notes": null,
"raceName": null,
"raceWebsiteUrl": null,
"raceDistance": null,
"raceDistanceKm": null,
"raceType": null,
"goalFinishTime": null,
"targetTime": null,
"stretchGoal": null,
"courseMapUrl": null,
"gpxUrl": null,
"elevationGain": null,
"terrain": null,
"confidenceLevel": null,
"mainObjective": null,
"keyConcern": null,
"nutritionNotes": null,
"injuryConstraintNotes": null,
"additionalNotes": null,
"coachNotes": null,
"terrainNotes": null,
"cutoffNotes": null,
"aidStationNotes": null
},
{
"goalType": "race",
"priority": "C",
"status": "active",
"goalStatus": "Planned",
"title": "Athlete race goal",
"description": null,
"targetDate": null,
"targetValue": null,
"notes": null,
"raceName": null,
"raceWebsiteUrl": null,
"raceDistance": null,
"raceDistanceKm": null,
"raceType": null,
"goalFinishTime": null,
"targetTime": null,
"stretchGoal": null,
"courseMapUrl": null,
"gpxUrl": null,
"elevationGain": null,
"terrain": null,
"confidenceLevel": null,
"mainObjective": null,
"keyConcern": null,
"nutritionNotes": null,
"injuryConstraintNotes": null,
"additionalNotes": null,
"coachNotes": null,
"terrainNotes": null,
"cutoffNotes": null,
"aidStationNotes": null
}
],
"primaryRaceGoal": {
"goalType": "race",
"priority": "A",
"status": "active",
"goalStatus": "Planned",
"title": "Sydney Marathon",
"description": null,
"targetDate": "2026-08-30",
"targetValue": "3:45",
"notes": null,
"raceName": "Sydney Marathon",
"raceWebsiteUrl": "https://www.tcssydneymarathon.com/",
"raceDistance": "42.2",
"raceDistanceKm": 42.2,
"raceType": "Marathon",
"goalFinishTime": null,
"targetTime": null,
"stretchGoal": null,
"courseMapUrl": "https://connect.ap.app.pam.co/?navmapId=4aa171f7-9554-4c24-af1c-723f0e598497&autoload=y&utm_source=sydmarathon.app&utm_medium=app&utm_campaign=sydney.marathon#15.06/-33.86788/151.21516/0/60",
"gpxUrl": null,
"elevationGain": null,
"terrain": "Road",
"confidenceLevel": "Moderate",
"mainObjective": "PB",
"keyConcern": null,
"nutritionNotes": null,
"injuryConstraintNotes": null,
"additionalNotes": null,
"coachNotes": null,
"terrainNotes": null,
"cutoffNotes": null,
"aidStationNotes": null
},
"secondaryRaceGoals": [
{
"goalType": "race",
"priority": "B",
"status": "active",
"goalStatus": "Planned",
"title": "Athlete race goal",
"description": null,
"targetDate": null,
"targetValue": null,
"notes": null,
"raceName": null,
"raceWebsiteUrl": null,
"raceDistance": null,
"raceDistanceKm": null,
"raceType": null,
"goalFinishTime": null,
"targetTime": null,
"stretchGoal": null,
"courseMapUrl": null,
"gpxUrl": null,
"elevationGain": null,
"terrain": null,
"confidenceLevel": null,
"mainObjective": null,
"keyConcern": null,
"nutritionNotes": null,
"injuryConstraintNotes": null,
"additionalNotes": null,
"coachNotes": null,
"terrainNotes": null,
"cutoffNotes": null,
"aidStationNotes": null
},
{
"goalType": "race",
"priority": "C",
"status": "active",
"goalStatus": "Planned",
"title": "Athlete race goal",
"description": null,
"targetDate": null,
"targetValue": null,
"notes": null,
"raceName": null,
"raceWebsiteUrl": null,
"raceDistance": null,
"raceDistanceKm": null,
"raceType": null,
"goalFinishTime": null,
"targetTime": null,
"stretchGoal": null,
"courseMapUrl": null,
"gpxUrl": null,
"elevationGain": null,
"terrain": null,
"confidenceLevel": null,
"mainObjective": null,
"keyConcern": null,
"nutritionNotes": null,
"injuryConstraintNotes": null,
"additionalNotes": null,
"coachNotes": null,
"terrainNotes": null,
"cutoffNotes": null,
"aidStationNotes": null
}
]
},
"riskContext": {
"priorityOrder": [
"safety/risk context",
"recent athlete feedback",
"coach planning notes",
"training constraints",
"goal/race timeline",
"recent training metrics",
"historical training",
"generic training principles"
],
"flags": [
{
"code": "post_race_recovery",
"severity": "info",
"label": "Post-race recovery window",
"evidence": [
"Goal event was 7 days ago."
]
},
{
"code": "underload",
"severity": "info",
"label": "Recent running underload",
"evidence": [
"7-day running distance 10.0 km; distance change -47%."
]
}
]
},
"recentTrainingContext": {
"dashboardMetrics": {
"lastWorkoutAt": "2026-09-05T21:40:47.000Z",
"lastLongRunAt": "2026-08-22T21:03:31.000Z",
"rolling7DayRunningDistanceKm": 10.008799999999999,
"rolling7DayRunningDurationMinutes": 57.68333333333333,
"rolling7DayRunningLoad": 63.32773333333333,
"runningDistanceChangePercent": -47.41012410807174,
"runningLoadChangePercent": -47.503617735067124,
"longestRunDistance7dKm": 10.008799999999999,
"longRunPercent7d": 100,
"recentActivityTypesLast14Days": [
"running"
]
},
"weeklyRunning": [
{
"weekStart": "2026-06-15T00:00:00.000Z",
"distanceKm": 33.8981,
"durationMinutes": 197.31666666666666,
"load": 215.87571666666668
},
{
"weekStart": "2026-06-22T00:00:00.000Z",
"distanceKm": 37.7022,
"durationMinutes": 212.1,
"load": 232.8411
},
{
"weekStart": "2026-06-29T00:00:00.000Z",
"distanceKm": 41.892399999999995,
"durationMinutes": 272.9166666666667,
"load": 298.37286666666665
},
{
"weekStart": "2026-07-06T00:00:00.000Z",
"distanceKm": 60.7683,
"durationMinutes": 338.56666666666666,
"load": 371.1508166666666
},
{
"weekStart": "2026-07-13T00:00:00.000Z",
"distanceKm": 46.9808,
"durationMinutes": 267.3333333333333,
"load": 294.2437333333333
},
{
"weekStart": "2026-07-20T00:00:00.000Z",
"distanceKm": 31.362999999999996,
"durationMinutes": 175.08333333333334,
"load": 192.2748333333333
},
{
"weekStart": "2026-07-27T00:00:00.000Z",
"distanceKm": 47.831100000000006,
"durationMinutes": 270.23333333333335,
"load": 295.7488833333333
},
{
"weekStart": "2026-08-03T00:00:00.000Z",
"distanceKm": 45.932900000000004,
"durationMinutes": 260.6333333333333,
"load": 285.05978333333337
},
{
"weekStart": "2026-08-10T00:00:00.000Z",
"distanceKm": 53.10810000000001,
"durationMinutes": 323.0833333333333,
"load": 353.61738333333335
},
{
"weekStart": "2026-08-17T00:00:00.000Z",
"distanceKm": 49.5616,
"durationMinutes": 290.78333333333336,
"load": 317.50413333333336
},
{
"weekStart": "2026-08-24T00:00:00.000Z",
"distanceKm": 14.023400000000002,
"durationMinutes": 80.93333333333334,
"load": 88.25503333333334
},
{
"weekStart": "2026-08-31T00:00:00.000Z",
"distanceKm": 10.008799999999999,
"durationMinutes": 57.68333333333333,
"load": 63.32773333333333
}
],
"recentRunning": [
{
"startTime": "2026-09-05T21:40:47.000Z",
"durationMinutes": 57.68333333333333,
"distanceKm": 10.008799999999999,
"elevationGainMeters": 64,
"rpe": null,
"tss": null,
"rtss": null,
"fromStrava": true,
"classificationLabels": [
"Structured workout"
],
"stravaDetailSummary": "Structured workout detail available",
"stravaDetail": [
"Sync status: completed",
"Laps: 11",
"Splits: metric 11, standard 7",
"Best efforts: 7"
]
},
{
"startTime": "2026-08-29T04:44:38.000Z",
"durationMinutes": 17.816666666666666,
"distanceKm": 3.0061999999999998,
"elevationGainMeters": 12,
"rpe": null,
"tss": null,
"rtss": null,
"fromStrava": true,
"classificationLabels": [
"Structured workout"
],
"stravaDetailSummary": "Structured workout detail available",
"stravaDetail": [
"Sync status: completed",
"Laps: 7",
"Splits: metric 4, standard 2",
"Best efforts: 4"
]
},
{
"startTime": "2026-08-26T20:49:42.000Z",
"durationMinutes": 33.28333333333333,
"distanceKm": 5.9794,
"elevationGainMeters": 10,
"rpe": null,
"tss": null,
"rtss": null,
"fromStrava": true,
"classificationLabels": [
"Structured workout"
],
"stravaDetailSummary": "Structured workout detail available",
"stravaDetail": [
"Sync status: completed",
"Laps: 10",
"Splits: metric 6, standard 4",
"Best efforts: 6"
]
},
{
"startTime": "2026-08-24T20:49:09.000Z",
"durationMinutes": 29.833333333333332,
"distanceKm": 5.0378,
"elevationGainMeters": 9,
"rpe": null,
"tss": null,
"rtss": null,
"fromStrava": true,
"classificationLabels": [
"Structured workout"
],
"stravaDetailSummary": "Structured workout detail available",
"stravaDetail": [
"Sync status: completed",
"Laps: 6",
"Splits: metric 6, standard 4",
"Best efforts: 6"
]
},
{
"startTime": "2026-08-23T21:03:49.000Z",
"durationMinutes": 29.683333333333334,
"distanceKm": 5.0084,
"elevationGainMeters": 19,
"rpe": null,
"tss": null,
"rtss": null,
"fromStrava": true,
"classificationLabels": [
"Structured workout"
],
"stravaDetailSummary": "Structured workout detail available",
"stravaDetail": [
"Sync status: completed",
"Laps: 6",
"Splits: metric 6, standard 4",
"Best efforts: 6"
]
},
{
"startTime": "2026-08-22T21:03:31.000Z",
"durationMinutes": 129.25,
"distanceKm": 21.3833,
"elevationGainMeters": 85,
"rpe": null,
"tss": null,
"rtss": null,
"fromStrava": true,
"classificationLabels": [
"Long run",
"Structured workout"
],
"stravaDetailSummary": "Structured workout detail available",
"stravaDetail": [
"Sync status: completed",
"Laps: 22",
"Splits: metric 22, standard 14",
"Best efforts: 11"
]
},
{
"startTime": "2026-08-20T21:57:06.000Z",
"durationMinutes": 34.46666666666667,
"distanceKm": 6.005199999999999,
"elevationGainMeters": 12,
"rpe": null,
"tss": null,
"rtss": null,
"fromStrava": true,
"classificationLabels": [
"Structured workout"
],
"stravaDetailSummary": "Structured workout detail available",
"stravaDetail": [
"Sync status: completed",
"Laps: 9",
"Splits: metric 7, standard 4",
"Best efforts: 6"
]
},
{
"startTime": "2026-08-20T08:56:45.000Z",
"durationMinutes": 29.733333333333334,
"distanceKm": 5.0046,
"elevationGainMeters": 18,
"rpe": null,
"tss": null,
"rtss": null,
"fromStrava": true,
"classificationLabels": [
"Structured workout"
],
"stravaDetailSummary": "Structured workout detail available",
"stravaDetail": [
"Sync status: completed",
"Laps: 5",
"Splits: metric 6, standard 4",
"Best efforts: 6"
]
},
{
"startTime": "2026-08-17T20:07:27.000Z",
"durationMinutes": 37.06666666666667,
"distanceKm": 7.154,
"elevationGainMeters": 41,
"rpe": null,
"tss": null,
"rtss": null,
"fromStrava": true,
"classificationLabels": [
"Structured workout"
],
"stravaDetailSummary": "Structured workout detail available",
"stravaDetail": [
"Sync status: completed",
"Laps: 8",
"Splits: metric 8, standard 5",
"Best efforts: 6"
]
},
{
"startTime": "2026-08-17T08:31:29.000Z",
"durationMinutes": 30.583333333333332,
"distanceKm": 5.0061,
"elevationGainMeters": 19,
"rpe": null,
"tss": null,
"rtss": null,
"fromStrava": true,
"classificationLabels": [
"Structured workout"
],
"stravaDetailSummary": "Structured workout detail available",
"stravaDetail": [
"Sync status: completed",
"Laps: 5",
"Splits: metric 6, standard 4",
"Best efforts: 6"
]
},
{
"startTime": "2026-08-14T20:07:49.000Z",
"durationMinutes": 192.86666666666667,
"distanceKm": 34.030800000000006,
"elevationGainMeters": 113,
"rpe": null,
"tss": null,
"rtss": null,
"fromStrava": true,
"classificationLabels": [
"Long run",
"Structured workout"
],
"stravaDetailSummary": "Structured workout detail available",
"stravaDetail": [
"Sync status: completed",
"Laps: 36",
"Splits: metric 35, standard 22",
"Best efforts: 12"
]
},
{
"startTime": "2026-08-12T20:06:20.000Z",
"durationMinutes": 40.2,
"distanceKm": 8.1255,
"elevationGainMeters": 13,
"rpe": null,
"tss": null,
"rtss": null,
"fromStrava": true,
"classificationLabels": [
"Structured workout"
],
"stravaDetailSummary": "Structured workout detail available",
"stravaDetail": [
"Sync status: completed",
"Laps: 15",
"Splits: metric 9, standard 6",
"Best efforts: 6"
]
}
],
"recentTestRuns": [
{
"startTime": "2026-08-29T04:44:38.000Z",
"durationMinutes": 17.816666666666666,
"distanceKm": 3.0061999999999998,
"classificationLabels": [
"Structured workout"
],
"stravaDetailSummary": "Structured workout detail available",
"stravaDetail": [
"Sync status: completed",
"Laps: 7",
"Splits: metric 4, standard 2",
"Best efforts: 4"
],
"reason": "Short/low-volume run; treat as possible test run only if notes support that interpretation."
},
{
"startTime": "2026-07-21T08:05:26.000Z",
"durationMinutes": 4.4,
"distanceKm": 0.7519,
"classificationLabels": [
"Structured workout"
],
"stravaDetailSummary": "Structured workout detail available",
"stravaDetail": [
"Sync status: completed",
"Laps: 1",
"Splits: metric 1, standard 1",
"Best efforts: 1"
],
"reason": "Short/low-volume run; treat as possible test run only if notes support that interpretation."
},
{
"startTime": "2026-05-11T20:50:02.000Z",
"durationMinutes": 17.5,
"distanceKm": 2.76975,
"classificationLabels": [],
"stravaDetailSummary": null,
"stravaDetail": [],
"reason": "Short/low-volume run; treat as possible test run only if notes support that interpretation."
},
{
"startTime": "2026-04-27T16:32:40.000Z",
"durationMinutes": 18.383333333333333,
"distanceKm": 3.0196,
"classificationLabels": [],
"stravaDetailSummary": null,
"stravaDetail": [],
"reason": "Short/low-volume run; treat as possible test run only if notes support that interpretation."
},
{
"startTime": "2026-03-31T06:45:38.000Z",
"durationMinutes": 5.933333333333334,
"distanceKm": 0.90834,
"classificationLabels": [],
"stravaDetailSummary": null,
"stravaDetail": [],
"reason": "Short/low-volume run; treat as possible test run only if notes support that interpretation."
}
]
},
"coachNotesContext": {
"currentReportNotes": "",
"athleteCoachingNotes": null,
"recentReportNotes": [],
"savedFollowUpNotes": [],
"recentAiDraftFollowUps": [
{
"draftType": "next_week_schedule",
"quickAction": null,
"question": "Daniel missed two sessions early last week due to illness. He is fully recovered now and we need to do a 60km week. Ensure the long run is 30km, you onlky have 19km in the schedule.",
"savedNote": null,
"savedAt": null,
"createdAt": "2026-08-02T01:20:54.541Z"
},
{
"draftType": "next_week_recommendation",
"quickAction": null,
"question": "Daniel is yet to complete his programmed 10km run today so his 7D distance will be 54km. We need to move up from there to around 60km for next week.",
"savedNote": null,
"savedAt": null,
"createdAt": "2026-07-11T23:42:19.405Z"
},
{
"draftType": "next_week_schedule",
"quickAction": null,
"question": "Give me specific workouts for the strenght and mobility with exercises and reps",
"savedNote": null,
"savedAt": null,
"createdAt": "2026-06-07T05:31:05.998Z"
},
{
"draftType": "next_week_recommendation",
"quickAction": null,
"question": "Daniel completed two hamstring friendly strength sessionsin the last 7 days as well. 25.5km in total. We need to continue to build towards the marathon so we need to aim for a 25-30km week.",
"savedNote": null,
"savedAt": null,
"createdAt": "2026-06-07T05:23:57.189Z"
},
{
"draftType": "next_week_schedule",
"quickAction": null,
"question": "Wednesday is \"Bodyweight or light-load, focusing on hamstring/glute stability and basic core. Avoid any provocation. Cut short if pain arises.\"\n\nAgain, give me oem suggested exercises.",
"savedNote": null,
"savedAt": null,
"createdAt": "2026-05-31T03:20:56.589Z"
},
{
"draftType": "next_week_schedule",
"quickAction": null,
"question": "Your Monday suggestion is \"Mobility and activation (hamstring and lower limb focus).\" Do you have any suggested exercises to meet this brief?",
"savedNote": null,
"savedAt": null,
"createdAt": "2026-05-31T03:08:42.377Z"
}
],
"recentAiIncludedTimelineEvents": [],
"coachProfileAndSettings": {
"profile": {
"coachName": "Darryl Johnson",
"businessName": "DAJC Pty Ltd",
"coachEmail": "darryljohnson1012@gmail.com",
"defaultSignoff": "Cheers",
"coachingPhilosophy": "I believe coaching should be individualised, practical and specific to the athlete and their goals. \r\n\r\nConsistency, honest communication and adaptability are the foundation of long-term progress. \r\n\r\nTraining should prepare athletes physically, mentally and practically for the demands of their event while still fitting within the realities of everyday life. \r\n\r\n I also think being attentive, responsive, understanding of the specific athletes needs and challenges and ensuring you keep them accountable is key.\r\n\r\nAbove all, I want athletes to enjoy the process, build confidence and arrive at race day feeling prepared.",
"preferredCommunicationTone": "Casual, concise and inquisitive.",
"coachingStyleNotes": "Weekly programming - generally on a weekend.\r\nWeekly check-in via direct message on the prior week as well as any challenges for the week ahead.",
"wordsPhrasesToUse": null,
"wordsPhrasesToAvoid": null,
"trainingPrinciples": "I believe in specificity, for example, if you're targeting a mountainous trail race then run mountainous trails in training. Practice and experimentation is critical when it comes to gear, nutrition, pace, terrain, everything.\r\n\r\nVolume in training is necessary for endurance events but it is not the be all and end all. Speed work once per week at least, if the body allows for it. \r\n\r\nIf the athlete is time poor, the priority should be one speed/interval session, one long run (preferably with some hills) and one easy run. I alwasy recommend strength, even if it is bodyweight based and 10 minutes per week, it is better than nothing.",
"injuryRiskPhilosophy": "I need to know about injuries or niggles immediately so I can adjust the program accordingly. Depending in the severity, which is generally gauged by pain level out of 10, I might ask the athlete to test it out once more before we decide on course of action. Generally I will recommend two days rest from running if the athlete indicates there is pain when running. I will always recommend cross training if it does not bring on pain.",
"racePlanningPhilosophy": "Driven by the athlete. Some athletes just want to get to the race and get through it so a race plan a can me too much for them. Others want details on almost every aspect of the race.\r\n\r\nPerhaps it is best to ask the athlete upfront if they would like race plans and how far in advance of the race would they like them. Right now, I generally produce the race plan within one week of the race. \r\n\r\nAbove all else, enjoying the moment is super important and, often good results follow if the athlete is in a good frame of mind.",
"taperPhilosophy": "The ideal taper is different for every athlete and often different for the same athlete depending on the race or their level of fitness and fatigue. Experiment for B and C races and get it right for A races."
},
"preferences": {
"defaultLocale": "en-AU",
"defaultTimezone": "Australia/Sydney",
"defaultDistanceUnit": "km",
"defaultAiTone": "Coach-like, direct and concise",
"defaultReportLength": "standard",
"defaultAthleteMessageLength": "short",
"aiRiskStance": "balanced"
}
}
},
"athleteFeedbackContext": {
"athleteNotes": "I’m in this for the long game. I’m family and career focused and this tends to overlap into what I can run potentially but I’m ok with that.",
"recentRaceResults": null,
"structuredRecentRaceResults": [],
"approvedIntakeProfile": {
"racingExperienceLevel": "Beginner",
"preferredRaceTypes": [
"Road"
],
"bestRacePerformances": {
"5k": "20:04",
"10k": "44:25",
"halfMarathon": "1:47",
"marathon": "-",
"ultra": null,
"other": null
},
"preferredWorkoutDays": [
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Saturday",
"Sunday"
],
"equipmentAccess": [
"Home gym",
"Treadmill",
"Indoor bike/trainer",
"RowErg",
"Pool",
"Resistance bands",
"Sauna/cold exposure"
],
"crossTrainingWillingness": "Weekly",
"preferredCoachingStyles": [
"Direct",
"Structured",
"Data-driven"
],
"preferredCommunicationStyles": [
"Honest/direct critique",
"Metrics focused"
],
"accountabilityPreference": "Moderate accountability",
"preferredContactMethod": "Messenger",
"permissions": {
"aiRecommendationsAllowed": true,
"aiSummariesVisible": true,
"aiCommunicationAllowed": false,
"anonymisedBenchmarkingAllowed": false,
"communicationConsent": false
},
"fields": {
"currentTargetEvents": "Sydney Marathon",
"currentInjuries": "Coming off a left hamstring injury",
"otherMajorLifestyleConstraints": "High performance real estate agent plus director duties // family time and sporting duties with kids",
"additionalNotes": "I’m in this for the long game. I’m family and career focused and this tends to overlap into what I can run potentially but I’m ok with that.",
"yearsRunningConsistently": "8",
"eventPriorityRanking": "A: Sydney Marathon B: Parkrun",
"performanceCompletionFocus": "Completion",
"secondaryGoals": "Stick to 90% of Training Peaks plan",
"longTermAspirations": "Run Boston Marathon\nSub 40 10km\nSub 19 5km\nComplete UTA 50",
"hoursAvailableWeekly": "7",
"doubleDayAvailability": "No",
"shiftWorker": "No",
"travelFrequency": "Every 8 weeks",
"occupationPhysicalDemand": "Low",
"sessionsMostLikelySkipped": "Friday",
"sleepHoursAverage": "7",
"sleepQuality": "Good",
"stressLevel": "High",
"parentingCaringResponsibilities": "3 plus staff",
"restingHr": "59",
"weight": "79",
"height": "172",
"clearanceToTrain": "Yes",
"injuryHistory": "Soft tissue issues- hamstring/calves",
"recurringInjuries": "Recently left hamstring",
"medicalConditions": "Asthma",
"medications": "Ventalin",
"allergies": "None",
"mobilityLimitations": "None",
"alcoholIntake": "Once a week",
"smokingVaping": "No",
"heatTolerance": "Good",
"typicalDietApproach": "2 meals a deal",
"supplements": "Hydralite",
"hydrationStrategy": "Swish Hydration drink",
"raceNutritionStrategy": "None at this stage",
"gpsWatch": "Garmin",
"chestStrapHr": "Yes",
"powerMeter": "No",
"stryd": "No",
"hrvTracking": "No",
"sleepTracking": "No",
"stravaConnected": "Yes",
"garminConnectConnected": "Yes",
"trainingPeaksConnected": "Yes",
"accessToTrack": "Yes",
"accessToTrails": "Yes",
"comfortableInGym": "Yes",
"previousStrengthCoaching": "Yes",
"currentLiftingFrequency": "2 times a week",
"preferredStrengthStyle": "Body strength",
"strengthTrainingExperience": "CrossFit",
"currentCrossTrainingActivities": "Rowing, bike, boxing",
"confidenceLevel": "Very high",
"whatMotivatesYou": "Myself",
"biggestRaceFear": "Not starting",
"burnoutHistory": "Injuries close to races",
"responseToMissedSessions": "Disappointed. Angry with myself.",
"moodImpactOnTraining": "High / this transfers to setting up the day.",
"describeGoodRun": "Early morning- a noticeable improvement on stats and feel. Feeling light and strong",
"describeBadRun": "Heavy. Rushed to go to work. Injured or feeling fatigue before I start."
}
},
"intakeSummary": {
"primaryGoal": "Sub 20 5km",
"coachingStyle": "Direct, Structured, Data-driven",
"availability": "7 hrs/week | Long run: Sunday | Workouts: Monday, Tuesday, Wednesday, Thursday, Saturday, Sunday",
"injuryStatus": "Current: Coming off a left hamstring injury | Recurring: Recently left hamstring",
"historicalInjuryBackground": null,
"equipmentAccess": "Home gym, Treadmill, Indoor bike/trainer, RowErg, Pool, Resistance bands, Sauna/cold exposure",
"targetRace": "Sydney Marathon",
"completedAt": "2026-05-28T03:56:51.012Z",
"profileVersion": "structured-intake-v2"
},
"recentSubmissions": [
{
"type": "update",
"status": "approved",
"submittedAt": "2026-05-26T08:02:56.932Z",
"reviewedAt": "2026-05-28T03:56:52.104Z",
"submittedSummary": {
"injuryStatus": null,
"injuryNotes": "Coming off a left hamstring injury",
"trainingConstraints": "High performance real estate agent plus director duties // family time and sporting duties with kids",
"athleteNotes": "I’m in this for the long game. I’m family and career focused and this tends to overlap into what I can run potentially but I’m ok with that.",
"recentRaceResults": null,
"recentRaceResultEntries": [
{
"raceName": "",
"date": "",
"time": "",
"notes": ""
},
{
"raceName": "",
"date": "",
"time": "",
"notes": ""
},
{
"raceName": "",
"date": "",
"time": "",
"notes": ""
}
],
"currentPhase": null,
"availableTrainingDays": []
},
"isCurrentApprovedIntake": false
}
]
},
"constraintsContext": {
"injuryStatus": null,
"injuryNotes": null,
"healthIssueContext": {
"currentIssues": [],
"monitoringIssues": [],
"resolvedOrHistoricalIssues": [],
"backgroundNoteOnly": {
"contextLabel": "Unconfirmed legacy injury context",
"status": "Healthy",
"note": null,
"intakeSummary": "Current: Coming off a left hamstring injury | Recurring: Recently left hamstring",
"activeBlocker": false,
"reviewNeeded": true,
"reason": "Legacy Athlete Details/intake injury fields are not authoritative for current injury state without a current Health & Wellness lifecycle record.",
"latestProfileUpdateAt": "2026-09-06T02:15:18.898Z",
"intakeCompletedAt": "2026-05-28T03:56:51.012Z",
"allowedCurrentFallbackStatuses": [
"Active",
"Niggle",
"Injured",
"Returning From Injury"
]
}
},
"injuryStatusUpdates": {
"currentIssues": [],
"resolvedOrHistoricalIssues": [],
"latestUpdate": null,
"legacyProfileInjuryContextTreatedAsCurrent": false,
"legacyProfileInjuryContext": {
"contextLabel": "Unconfirmed legacy injury context",
"status": "Healthy",
"note": null,
"intakeSummary": "Current: Coming off a left hamstring injury | Recurring: Recently left hamstring",
"activeBlocker": false,
"reviewNeeded": true,
"reason": "Legacy Athlete Details/intake injury fields are not authoritative for current injury state without a current Health & Wellness lifecycle record.",
"latestProfileUpdateAt": "2026-09-06T02:15:18.898Z",
"intakeCompletedAt": "2026-05-28T03:56:51.012Z",
"allowedCurrentFallbackStatuses": [
"Active",
"Niggle",
"Injured",
"Returning From Injury"
]
}
},
"trainingConstraints": "High performance real estate agent plus director duties // family time and sporting duties with kids",
"availableTrainingDays": [
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday",
"Sunday"
],
"preferredLongRunDay": "Sunday",
"maxSessionsPerWeek": null,
"targetWeeklyKm": null,
"targetWeeklyDurationMinutes": null,
"maxWeeklyDistanceIncreasePct": null,
"maxWeeklyLoadIncreasePct": null,
"thresholdPaceSecPerKm": 284,
"thresholdHr": null,
"maxHr": null
},
"trainingStimulusContext": {
"contextVersion": "training-stimulus-ai-context-v1",
"observed": {
"status": "available",
"dateRange": {
"start": "2026-08-30T02:16:49.015Z",
"end": "2026-09-06T02:16:49.015Z"
},
"workoutCount": 1,
"adaptationEmphasis": [
{
"adaptationKey": "aerobic_endurance",
"band": "primary",
"emphasisPercentage": 52.4
},
{
"adaptationKey": "neuromuscular_economy",
"band": "supporting",
"emphasisPercentage": 47.6
}
],
"recoveryCost": {
"band": "moderate",
"averagePerWorkout": 42,
"maximumWorkout": 42
},
"confidence": 0.8
},
"raceProfileReference": {
"raceId": "road-marathon",
"courseVersion": "standard-road-v1",
"profileVersion": "1.0.0"
},
"gapAnalysis": {
"underrepresentedAdaptations": [
"muscular_endurance",
"lactate_threshold",
"race_simulation",
"environmental_adaptation"
],
"raceCriticalGaps": [
"muscular_endurance"
],
"overrepresentedAdaptations": [],
"recommendedCoachingFocus": [
{
"adaptationKey": "muscular_endurance",
"priority": "immediate_priority",
"focus": "Prioritise progressive muscular endurance exposure within the Recovery phase; preserve recovery and verify execution evidence.",
"confidence": 0.54
},
{
"adaptationKey": "lactate_threshold",
"priority": "build_priority",
"focus": "Build lactate threshold progressively within the Recovery phase and reassess across subsequent observed weeks.",
"confidence": 0.54
},
{
"adaptationKey": "race_simulation",
"priority": "build_priority",
"focus": "Build race simulation progressively within the Recovery phase and reassess across subsequent observed weeks.",
"confidence": 0.54
}
]
},
"guardrails": [
"Treat these outputs as deterministic engine context.",
"Do not recalculate adaptation gaps.",
"Do not invent achievement percentages.",
"Do not override supplied confidence."
]
},
"planningImplications": [
"Consider whether underload is explained by injury, illness, travel, taper, recovery, or constraints before recommending catch-up load."
],
"missingData": [
"Current injury/niggle status is not documented.",
"Legacy Athlete Details/intake injury fields are present but unconfirmed; review Health & Wellness lifecycle before treating them as current."
],
"aiWarnings": [
"Review the full athlete context before producing recommendations.",
"Mention key context that materially changed the recommendation.",
"Avoid normal progression when unresolved injury, illness, fatigue, pain, or source-supported altered gait is present.",
"Use coach-review wording. The coach retains final authority.",
"Do not diagnose or provide medical treatment advice."
]
},
"insightType": "schedule"
}Safe metadata
- Created
- 6 Sept 2026, 2:16 am
- Archived
- Not recorded
- Deleted
- Not recorded
- Athlete
- Daniel Maurer
- Workflow
- Schedule Draft
- Status
- Completed
- Duration
- Not recorded
- Model
- Not recorded
- Schema version
- Not recorded
- Token estimate
- Not recorded
- Attempt count
- Not recorded
- Compaction used
- Not recorded
- Generated by
- openai
AI SummaryCompleted6 Sept 2026, 2:16 amAI Summary Report - 31 Aug 2026 - 6 Sept 2026
# AI Summary Report ## Coach reasoning Current Status - Daniel is in the first week post-marathon (Sydney Marathon), presently in a recovery phase, with no current injury or niggl…
Daniel MaurerNot recorded
AI Summary Report - 31 Aug 2026 - 6 Sept 2026
# AI Summary Report ## Coach reasoning Current Status - Daniel is in the first week post-marathon (Sydney Marathon), presently in a recovery phase, with no current injury or niggl…
Artefact
# AI Summary Report ## Coach reasoning Current Status - Daniel is in the first week post-marathon (Sydney Marathon), presently in a recovery phase, with no current injury or niggle reported in authoritative records, but with a background history of left hamstring issues. - Recent running volume is low for this athlete (10 km over the week, 1 session), reflecting an expected post-race reset. Training Trend - There is an intentional decrease in total running (down 47% compared to the prior week), aligning with the post-race recovery window. The sole run was 10 km and accounted for the entirety of the week's distance. - Prior to the race, the athlete demonstrated good consistency and adequate build. Race-Specific Stimulus Gaps - Key gaps are in muscular endurance, lactate threshold, and race simulation stimulus, as indicated by the engine analysis. Muscular endurance is an immediate future focus, but not urgent in the current recovery context. Risk / Unknowns - Training underload and phase reduction are consistent with post-event recovery, so there's no immediate risk from reduced load. However, a lack of detailed current health check or subjective feedback this week means some uncertainty remains regarding underlying niggle resolution post-marathon. - No acute injury or overload markers are present, but historical hamstring vulnerability should be kept in mind when load rebuilding. Coaching Recommendation - Recovery phase should continue as planned, with no rush to resume normal weekly mileage or intensity. Monitor for signs of lingering fatigue or returning niggle as volume resumes in coming weeks. - Plan for progressive reintroduction of muscular endurance and lactate threshold stimulus once recovery is confirmed, and check in with Daniel about readiness to build. - No evidence suggests a catch-up week is needed. ## Athlete message Good job staying in recovery mode after the marathon—an easy week is right on track. Take your time before ramping up again. Let me know how your body is feeling before we progress the next block of training. ## Training phase context Post-race recovery phase immediately following the Sydney Marathon (event was 7 days ago), with a significant underload week by design. ## Phase-aligned interpretation - This week's lower volume and single run are consistent with structured recovery after a marathon. - No indication of acute injury means normal recovery progression can continue, with extra monitoring due to previous hamstring history. - Start planning for a gradual return of endurance-building workouts as Daniel confirms readiness. ## Concerns - Low subjective feedback post-marathon; confirm athlete status before progressing load. - Historical hamstring vulnerability requires attentive monitoring as training load increases in coming weeks. - Muscular endurance and lactate threshold are underrepresented, but not urgent during this recovery window. ## Recommended focus - Continue with active recovery and low-pressure aerobic activity as comfort allows. - Prepare for a progressive reintroduction of muscular endurance and threshold stimulus after confirming sufficient recovery. - Check in directly with Daniel to ensure he feels physically ready and clear of niggles before planning the next build. ## Coach Conversation Guide - How are you feeling physically after the marathon—any soreness or niggles that still need attention? - Did you experience any unexpected fatigue, tightness, or discomfort on your recent run? - Are you feeling mentally refreshed, or do you need more easy time before you’re ready to build? - What’s your energy level and motivation like as we look ahead to the next phase? ## Caution notes - Do not accelerate load progression until recovery is confirmed both physically and mentally. - Be mindful of hamstring history as load and intensity pick up post-recovery. - Reconfirm injury/niggle status before planning next week's structure.
Why this recommendation?
{
"reportType": "ai_summary",
"sourceOutput": {
"coachReasoning": "Current Status\n- Daniel is in the first week post-marathon (Sydney Marathon), presently in a recovery phase, with no current injury or niggle reported in authoritative records, but with a background history of left hamstring issues. \n- Recent running volume is low for this athlete (10 km over the week, 1 session), reflecting an expected post-race reset.\n\nTraining Trend\n- There is an intentional decrease in total running (down 47% compared to the prior week), aligning with the post-race recovery window. The sole run was 10 km and accounted for the entirety of the week's distance.\n- Prior to the race, the athlete demonstrated good consistency and adequate build.\n\nRace-Specific Stimulus Gaps\n- Key gaps are in muscular endurance, lactate threshold, and race simulation stimulus, as indicated by the engine analysis. Muscular endurance is an immediate future focus, but not urgent in the current recovery context.\n\nRisk / Unknowns\n- Training underload and phase reduction are consistent with post-event recovery, so there's no immediate risk from reduced load. However, a lack of detailed current health check or subjective feedback this week means some uncertainty remains regarding underlying niggle resolution post-marathon.\n- No acute injury or overload markers are present, but historical hamstring vulnerability should be kept in mind when load rebuilding.\n\nCoaching Recommendation\n- Recovery phase should continue as planned, with no rush to resume normal weekly mileage or intensity. Monitor for signs of lingering fatigue or returning niggle as volume resumes in coming weeks.\n- Plan for progressive reintroduction of muscular endurance and lactate threshold stimulus once recovery is confirmed, and check in with Daniel about readiness to build.\n- No evidence suggests a catch-up week is needed.",
"athleteMessage": "Good job staying in recovery mode after the marathon—an easy week is right on track. Take your time before ramping up again. Let me know how your body is feeling before we progress the next block of training.",
"coachConversationGuide": [
"How are you feeling physically after the marathon—any soreness or niggles that still need attention?",
"Did you experience any unexpected fatigue, tightness, or discomfort on your recent run?",
"Are you feeling mentally refreshed, or do you need more easy time before you’re ready to build?",
"What’s your energy level and motivation like as we look ahead to the next phase?"
],
"trainingPhaseContext": "Post-race recovery phase immediately following the Sydney Marathon (event was 7 days ago), with a significant underload week by design.",
"phaseAlignedInterpretation": [
"This week's lower volume and single run are consistent with structured recovery after a marathon.",
"No indication of acute injury means normal recovery progression can continue, with extra monitoring due to previous hamstring history.",
"Start planning for a gradual return of endurance-building workouts as Daniel confirms readiness."
],
"concerns": [
"Low subjective feedback post-marathon; confirm athlete status before progressing load.",
"Historical hamstring vulnerability requires attentive monitoring as training load increases in coming weeks.",
"Muscular endurance and lactate threshold are underrepresented, but not urgent during this recovery window."
],
"recommendedFocus": [
"Continue with active recovery and low-pressure aerobic activity as comfort allows.",
"Prepare for a progressive reintroduction of muscular endurance and threshold stimulus after confirming sufficient recovery.",
"Check in directly with Daniel to ensure he feels physically ready and clear of niggles before planning the next build."
],
"cautionNotes": [
"Do not accelerate load progression until recovery is confirmed both physically and mentally.",
"Be mindful of hamstring history as load and intensity pick up post-recovery.",
"Reconfirm injury/niggle status before planning next week's structure."
]
},
"range": {
"start": "2026-08-30T14:00:00.000Z",
"end": "2026-09-06T14:00:00.000Z"
},
"includeEventContext": true,
"athleteAiContext": {
"athleteSummary": {
"id": "cmni89y2r00k7h0uusr9752eb",
"name": "Daniel Maurer",
"timezone": "Australia / Sydney",
"localeContext": {
"locale": "en-AU",
"spelling": "Australian English",
"wordingExamples": "prioritise, kilometre, organised",
"dateFormatExample": "10 May 2026",
"distanceWord": "kilometre"
},
"currentPhase": "Recovery",
"preferredCommunicationTone": "Direct",
"aiEnabled": {
"report": true,
"plan": true
},
"strava": {
"connected": true,
"athleteId": "22601702",
"scope": "activity:read_all read",
"connectedAt": "2026-06-07T04:46:06.355Z",
"lastSyncedAt": "2026-09-06T02:15:18.894Z"
}
},
"goalContext": {
"primaryGoal": "Sub 20 5km",
"legacyGoalEventName": "Sydney Marathon",
"legacyGoalEventDate": null,
"legacyGoalDistanceType": null,
"racePhase": {
"daysUntilGoalEvent": -7,
"phase": "post_race_recovery"
},
"activeGoals": [
{
"goalType": "race",
"priority": "A",
"status": "active",
"goalStatus": "Planned",
"title": "Sydney Marathon",
"description": null,
"targetDate": "2026-08-30",
"targetValue": "3:45",
"notes": null,
"raceName": "Sydney Marathon",
"raceWebsiteUrl": "https://www.tcssydneymarathon.com/",
"raceDistance": "42.2",
"raceDistanceKm": 42.2,
"raceType": "Marathon",
"goalFinishTime": null,
"targetTime": null,
"stretchGoal": null,
"courseMapUrl": "https://connect.ap.app.pam.co/?navmapId=4aa171f7-9554-4c24-af1c-723f0e598497&autoload=y&utm_source=sydmarathon.app&utm_medium=app&utm_campaign=sydney.marathon#15.06/-33.86788/151.21516/0/60",
"gpxUrl": null,
"elevationGain": null,
"terrain": "Road",
"confidenceLevel": "Moderate",
"mainObjective": "PB",
"keyConcern": null,
"nutritionNotes": null,
"injuryConstraintNotes": null,
"additionalNotes": null,
"coachNotes": null,
"terrainNotes": null,
"cutoffNotes": null,
"aidStationNotes": null
},
{
"goalType": "training",
"priority": "A",
"status": "active",
"goalStatus": "Planned",
"title": "Sub 20 minute 5km",
"description": null,
"targetDate": "2026-11-07",
"targetValue": null,
"notes": null,
"raceName": null,
"raceWebsiteUrl": null,
"raceDistance": null,
"raceDistanceKm": null,
"raceType": null,
"goalFinishTime": "19:59",
"targetTime": "19:59",
"stretchGoal": null,
"courseMapUrl": null,
"gpxUrl": null,
"elevationGain": null,
"terrain": null,
"confidenceLevel": null,
"mainObjective": "PB",
"keyConcern": null,
"nutritionNotes": null,
"injuryConstraintNotes": null,
"additionalNotes": null,
"coachNotes": null,
"terrainNotes": null,
"cutoffNotes": null,
"aidStationNotes": null
},
{
"goalType": "race",
"priority": "B",
"status": "active",
"goalStatus": "Planned",
"title": "Athlete race goal",
"description": null,
"targetDate": null,
"targetValue": null,
"notes": null,
"raceName": null,
"raceWebsiteUrl": null,
"raceDistance": null,
"raceDistanceKm": null,
"raceType": null,
"goalFinishTime": null,
"targetTime": null,
"stretchGoal": null,
"courseMapUrl": null,
"gpxUrl": null,
"elevationGain": null,
"terrain": null,
"confidenceLevel": null,
"mainObjective": null,
"keyConcern": null,
"nutritionNotes": null,
"injuryConstraintNotes": null,
"additionalNotes": null,
"coachNotes": null,
"terrainNotes": null,
"cutoffNotes": null,
"aidStationNotes": null
},
{
"goalType": "race",
"priority": "C",
"status": "active",
"goalStatus": "Planned",
"title": "Athlete race goal",
"description": null,
"targetDate": null,
"targetValue": null,
"notes": null,
"raceName": null,
"raceWebsiteUrl": null,
"raceDistance": null,
"raceDistanceKm": null,
"raceType": null,
"goalFinishTime": null,
"targetTime": null,
"stretchGoal": null,
"courseMapUrl": null,
"gpxUrl": null,
"elevationGain": null,
"terrain": null,
"confidenceLevel": null,
"mainObjective": null,
"keyConcern": null,
"nutritionNotes": null,
"injuryConstraintNotes": null,
"additionalNotes": null,
"coachNotes": null,
"terrainNotes": null,
"cutoffNotes": null,
"aidStationNotes": null
}
],
"primaryRaceGoal": {
"goalType": "race",
"priority": "A",
"status": "active",
"goalStatus": "Planned",
"title": "Sydney Marathon",
"description": null,
"targetDate": "2026-08-30",
"targetValue": "3:45",
"notes": null,
"raceName": "Sydney Marathon",
"raceWebsiteUrl": "https://www.tcssydneymarathon.com/",
"raceDistance": "42.2",
"raceDistanceKm": 42.2,
"raceType": "Marathon",
"goalFinishTime": null,
"targetTime": null,
"stretchGoal": null,
"courseMapUrl": "https://connect.ap.app.pam.co/?navmapId=4aa171f7-9554-4c24-af1c-723f0e598497&autoload=y&utm_source=sydmarathon.app&utm_medium=app&utm_campaign=sydney.marathon#15.06/-33.86788/151.21516/0/60",
"gpxUrl": null,
"elevationGain": null,
"terrain": "Road",
"confidenceLevel": "Moderate",
"mainObjective": "PB",
"keyConcern": null,
"nutritionNotes": null,
"injuryConstraintNotes": null,
"additionalNotes": null,
"coachNotes": null,
"terrainNotes": null,
"cutoffNotes": null,
"aidStationNotes": null
},
"secondaryRaceGoals": [
{
"goalType": "race",
"priority": "B",
"status": "active",
"goalStatus": "Planned",
"title": "Athlete race goal",
"description": null,
"targetDate": null,
"targetValue": null,
"notes": null,
"raceName": null,
"raceWebsiteUrl": null,
"raceDistance": null,
"raceDistanceKm": null,
"raceType": null,
"goalFinishTime": null,
"targetTime": null,
"stretchGoal": null,
"courseMapUrl": null,
"gpxUrl": null,
"elevationGain": null,
"terrain": null,
"confidenceLevel": null,
"mainObjective": null,
"keyConcern": null,
"nutritionNotes": null,
"injuryConstraintNotes": null,
"additionalNotes": null,
"coachNotes": null,
"terrainNotes": null,
"cutoffNotes": null,
"aidStationNotes": null
},
{
"goalType": "race",
"priority": "C",
"status": "active",
"goalStatus": "Planned",
"title": "Athlete race goal",
"description": null,
"targetDate": null,
"targetValue": null,
"notes": null,
"raceName": null,
"raceWebsiteUrl": null,
"raceDistance": null,
"raceDistanceKm": null,
"raceType": null,
"goalFinishTime": null,
"targetTime": null,
"stretchGoal": null,
"courseMapUrl": null,
"gpxUrl": null,
"elevationGain": null,
"terrain": null,
"confidenceLevel": null,
"mainObjective": null,
"keyConcern": null,
"nutritionNotes": null,
"injuryConstraintNotes": null,
"additionalNotes": null,
"coachNotes": null,
"terrainNotes": null,
"cutoffNotes": null,
"aidStationNotes": null
}
]
},
"riskContext": {
"priorityOrder": [
"safety/risk context",
"recent athlete feedback",
"coach planning notes",
"training constraints",
"goal/race timeline",
"recent training metrics",
"historical training",
"generic training principles"
],
"flags": [
{
"code": "post_race_recovery",
"severity": "info",
"label": "Post-race recovery window",
"evidence": [
"Goal event was 7 days ago."
]
},
{
"code": "underload",
"severity": "info",
"label": "Recent running underload",
"evidence": [
"7-day running distance 10.0 km; distance change -47%."
]
}
]
},
"recentTrainingContext": {
"dashboardMetrics": {
"lastWorkoutAt": "2026-09-05T21:40:47.000Z",
"lastLongRunAt": "2026-08-22T21:03:31.000Z",
"rolling7DayRunningDistanceKm": 10.008799999999999,
"rolling7DayRunningDurationMinutes": 57.68333333333333,
"rolling7DayRunningLoad": 63.32773333333333,
"runningDistanceChangePercent": -47.41012410807174,
"runningLoadChangePercent": -47.503617735067124,
"longestRunDistance7dKm": 10.008799999999999,
"longRunPercent7d": 100,
"recentActivityTypesLast14Days": [
"running"
]
},
"weeklyRunning": [
{
"weekStart": "2026-06-15T00:00:00.000Z",
"distanceKm": 33.8981,
"durationMinutes": 197.31666666666666,
"load": 215.87571666666668
},
{
"weekStart": "2026-06-22T00:00:00.000Z",
"distanceKm": 37.7022,
"durationMinutes": 212.1,
"load": 232.8411
},
{
"weekStart": "2026-06-29T00:00:00.000Z",
"distanceKm": 41.892399999999995,
"durationMinutes": 272.9166666666667,
"load": 298.37286666666665
},
{
"weekStart": "2026-07-06T00:00:00.000Z",
"distanceKm": 60.7683,
"durationMinutes": 338.56666666666666,
"load": 371.1508166666666
},
{
"weekStart": "2026-07-13T00:00:00.000Z",
"distanceKm": 46.9808,
"durationMinutes": 267.3333333333333,
"load": 294.2437333333333
},
{
"weekStart": "2026-07-20T00:00:00.000Z",
"distanceKm": 31.362999999999996,
"durationMinutes": 175.08333333333334,
"load": 192.2748333333333
},
{
"weekStart": "2026-07-27T00:00:00.000Z",
"distanceKm": 47.831100000000006,
"durationMinutes": 270.23333333333335,
"load": 295.7488833333333
},
{
"weekStart": "2026-08-03T00:00:00.000Z",
"distanceKm": 45.932900000000004,
"durationMinutes": 260.6333333333333,
"load": 285.05978333333337
},
{
"weekStart": "2026-08-10T00:00:00.000Z",
"distanceKm": 53.10810000000001,
"durationMinutes": 323.0833333333333,
"load": 353.61738333333335
},
{
"weekStart": "2026-08-17T00:00:00.000Z",
"distanceKm": 49.5616,
"durationMinutes": 290.78333333333336,
"load": 317.50413333333336
},
{
"weekStart": "2026-08-24T00:00:00.000Z",
"distanceKm": 14.023400000000002,
"durationMinutes": 80.93333333333334,
"load": 88.25503333333334
},
{
"weekStart": "2026-08-31T00:00:00.000Z",
"distanceKm": 10.008799999999999,
"durationMinutes": 57.68333333333333,
"load": 63.32773333333333
}
],
"recentRunning": [
{
"startTime": "2026-09-05T21:40:47.000Z",
"durationMinutes": 57.68333333333333,
"distanceKm": 10.008799999999999,
"elevationGainMeters": 64,
"rpe": null,
"tss": null,
"rtss": null,
"fromStrava": true,
"classificationLabels": [
"Structured workout"
],
"stravaDetailSummary": "Structured workout detail available",
"stravaDetail": [
"Sync status: completed",
"Laps: 11",
"Splits: metric 11, standard 7",
"Best efforts: 7"
]
},
{
"startTime": "2026-08-29T04:44:38.000Z",
"durationMinutes": 17.816666666666666,
"distanceKm": 3.0061999999999998,
"elevationGainMeters": 12,
"rpe": null,
"tss": null,
"rtss": null,
"fromStrava": true,
"classificationLabels": [
"Structured workout"
],
"stravaDetailSummary": "Structured workout detail available",
"stravaDetail": [
"Sync status: completed",
"Laps: 7",
"Splits: metric 4, standard 2",
"Best efforts: 4"
]
},
{
"startTime": "2026-08-26T20:49:42.000Z",
"durationMinutes": 33.28333333333333,
"distanceKm": 5.9794,
"elevationGainMeters": 10,
"rpe": null,
"tss": null,
"rtss": null,
"fromStrava": true,
"classificationLabels": [
"Structured workout"
],
"stravaDetailSummary": "Structured workout detail available",
"stravaDetail": [
"Sync status: completed",
"Laps: 10",
"Splits: metric 6, standard 4",
"Best efforts: 6"
]
},
{
"startTime": "2026-08-24T20:49:09.000Z",
"durationMinutes": 29.833333333333332,
"distanceKm": 5.0378,
"elevationGainMeters": 9,
"rpe": null,
"tss": null,
"rtss": null,
"fromStrava": true,
"classificationLabels": [
"Structured workout"
],
"stravaDetailSummary": "Structured workout detail available",
"stravaDetail": [
"Sync status: completed",
"Laps: 6",
"Splits: metric 6, standard 4",
"Best efforts: 6"
]
},
{
"startTime": "2026-08-23T21:03:49.000Z",
"durationMinutes": 29.683333333333334,
"distanceKm": 5.0084,
"elevationGainMeters": 19,
"rpe": null,
"tss": null,
"rtss": null,
"fromStrava": true,
"classificationLabels": [
"Structured workout"
],
"stravaDetailSummary": "Structured workout detail available",
"stravaDetail": [
"Sync status: completed",
"Laps: 6",
"Splits: metric 6, standard 4",
"Best efforts: 6"
]
},
{
"startTime": "2026-08-22T21:03:31.000Z",
"durationMinutes": 129.25,
"distanceKm": 21.3833,
"elevationGainMeters": 85,
"rpe": null,
"tss": null,
"rtss": null,
"fromStrava": true,
"classificationLabels": [
"Long run",
"Structured workout"
],
"stravaDetailSummary": "Structured workout detail available",
"stravaDetail": [
"Sync status: completed",
"Laps: 22",
"Splits: metric 22, standard 14",
"Best efforts: 11"
]
},
{
"startTime": "2026-08-20T21:57:06.000Z",
"durationMinutes": 34.46666666666667,
"distanceKm": 6.005199999999999,
"elevationGainMeters": 12,
"rpe": null,
"tss": null,
"rtss": null,
"fromStrava": true,
"classificationLabels": [
"Structured workout"
],
"stravaDetailSummary": "Structured workout detail available",
"stravaDetail": [
"Sync status: completed",
"Laps: 9",
"Splits: metric 7, standard 4",
"Best efforts: 6"
]
},
{
"startTime": "2026-08-20T08:56:45.000Z",
"durationMinutes": 29.733333333333334,
"distanceKm": 5.0046,
"elevationGainMeters": 18,
"rpe": null,
"tss": null,
"rtss": null,
"fromStrava": true,
"classificationLabels": [
"Structured workout"
],
"stravaDetailSummary": "Structured workout detail available",
"stravaDetail": [
"Sync status: completed",
"Laps: 5",
"Splits: metric 6, standard 4",
"Best efforts: 6"
]
},
{
"startTime": "2026-08-17T20:07:27.000Z",
"durationMinutes": 37.06666666666667,
"distanceKm": 7.154,
"elevationGainMeters": 41,
"rpe": null,
"tss": null,
"rtss": null,
"fromStrava": true,
"classificationLabels": [
"Structured workout"
],
"stravaDetailSummary": "Structured workout detail available",
"stravaDetail": [
"Sync status: completed",
"Laps: 8",
"Splits: metric 8, standard 5",
"Best efforts: 6"
]
},
{
"startTime": "2026-08-17T08:31:29.000Z",
"durationMinutes": 30.583333333333332,
"distanceKm": 5.0061,
"elevationGainMeters": 19,
"rpe": null,
"tss": null,
"rtss": null,
"fromStrava": true,
"classificationLabels": [
"Structured workout"
],
"stravaDetailSummary": "Structured workout detail available",
"stravaDetail": [
"Sync status: completed",
"Laps: 5",
"Splits: metric 6, standard 4",
"Best efforts: 6"
]
},
{
"startTime": "2026-08-14T20:07:49.000Z",
"durationMinutes": 192.86666666666667,
"distanceKm": 34.030800000000006,
"elevationGainMeters": 113,
"rpe": null,
"tss": null,
"rtss": null,
"fromStrava": true,
"classificationLabels": [
"Long run",
"Structured workout"
],
"stravaDetailSummary": "Structured workout detail available",
"stravaDetail": [
"Sync status: completed",
"Laps: 36",
"Splits: metric 35, standard 22",
"Best efforts: 12"
]
},
{
"startTime": "2026-08-12T20:06:20.000Z",
"durationMinutes": 40.2,
"distanceKm": 8.1255,
"elevationGainMeters": 13,
"rpe": null,
"tss": null,
"rtss": null,
"fromStrava": true,
"classificationLabels": [
"Structured workout"
],
"stravaDetailSummary": "Structured workout detail available",
"stravaDetail": [
"Sync status: completed",
"Laps: 15",
"Splits: metric 9, standard 6",
"Best efforts: 6"
]
}
],
"recentTestRuns": [
{
"startTime": "2026-08-29T04:44:38.000Z",
"durationMinutes": 17.816666666666666,
"distanceKm": 3.0061999999999998,
"classificationLabels": [
"Structured workout"
],
"stravaDetailSummary": "Structured workout detail available",
"stravaDetail": [
"Sync status: completed",
"Laps: 7",
"Splits: metric 4, standard 2",
"Best efforts: 4"
],
"reason": "Short/low-volume run; treat as possible test run only if notes support that interpretation."
},
{
"startTime": "2026-07-21T08:05:26.000Z",
"durationMinutes": 4.4,
"distanceKm": 0.7519,
"classificationLabels": [
"Structured workout"
],
"stravaDetailSummary": "Structured workout detail available",
"stravaDetail": [
"Sync status: completed",
"Laps: 1",
"Splits: metric 1, standard 1",
"Best efforts: 1"
],
"reason": "Short/low-volume run; treat as possible test run only if notes support that interpretation."
},
{
"startTime": "2026-05-11T20:50:02.000Z",
"durationMinutes": 17.5,
"distanceKm": 2.76975,
"classificationLabels": [],
"stravaDetailSummary": null,
"stravaDetail": [],
"reason": "Short/low-volume run; treat as possible test run only if notes support that interpretation."
},
{
"startTime": "2026-04-27T16:32:40.000Z",
"durationMinutes": 18.383333333333333,
"distanceKm": 3.0196,
"classificationLabels": [],
"stravaDetailSummary": null,
"stravaDetail": [],
"reason": "Short/low-volume run; treat as possible test run only if notes support that interpretation."
},
{
"startTime": "2026-03-31T06:45:38.000Z",
"durationMinutes": 5.933333333333334,
"distanceKm": 0.90834,
"classificationLabels": [],
"stravaDetailSummary": null,
"stravaDetail": [],
"reason": "Short/low-volume run; treat as possible test run only if notes support that interpretation."
}
]
},
"coachNotesContext": {
"currentReportNotes": "",
"athleteCoachingNotes": null,
"recentReportNotes": [],
"savedFollowUpNotes": [],
"recentAiDraftFollowUps": [
{
"draftType": "next_week_schedule",
"quickAction": null,
"question": "Daniel missed two sessions early last week due to illness. He is fully recovered now and we need to do a 60km week. Ensure the long run is 30km, you onlky have 19km in the schedule.",
"savedNote": null,
"savedAt": null,
"createdAt": "2026-08-02T01:20:54.541Z"
},
{
"draftType": "next_week_recommendation",
"quickAction": null,
"question": "Daniel is yet to complete his programmed 10km run today so his 7D distance will be 54km. We need to move up from there to around 60km for next week.",
"savedNote": null,
"savedAt": null,
"createdAt": "2026-07-11T23:42:19.405Z"
},
{
"draftType": "next_week_schedule",
"quickAction": null,
"question": "Give me specific workouts for the strenght and mobility with exercises and reps",
"savedNote": null,
"savedAt": null,
"createdAt": "2026-06-07T05:31:05.998Z"
},
{
"draftType": "next_week_recommendation",
"quickAction": null,
"question": "Daniel completed two hamstring friendly strength sessionsin the last 7 days as well. 25.5km in total. We need to continue to build towards the marathon so we need to aim for a 25-30km week.",
"savedNote": null,
"savedAt": null,
"createdAt": "2026-06-07T05:23:57.189Z"
},
{
"draftType": "next_week_schedule",
"quickAction": null,
"question": "Wednesday is \"Bodyweight or light-load, focusing on hamstring/glute stability and basic core. Avoid any provocation. Cut short if pain arises.\"\n\nAgain, give me oem suggested exercises.",
"savedNote": null,
"savedAt": null,
"createdAt": "2026-05-31T03:20:56.589Z"
},
{
"draftType": "next_week_schedule",
"quickAction": null,
"question": "Your Monday suggestion is \"Mobility and activation (hamstring and lower limb focus).\" Do you have any suggested exercises to meet this brief?",
"savedNote": null,
"savedAt": null,
"createdAt": "2026-05-31T03:08:42.377Z"
}
],
"recentAiIncludedTimelineEvents": [],
"coachProfileAndSettings": {
"profile": {
"coachName": "Darryl Johnson",
"businessName": "DAJC Pty Ltd",
"coachEmail": "darryljohnson1012@gmail.com",
"defaultSignoff": "Cheers",
"coachingPhilosophy": "I believe coaching should be individualised, practical and specific to the athlete and their goals. \r\n\r\nConsistency, honest communication and adaptability are the foundation of long-term progress. \r\n\r\nTraining should prepare athletes physically, mentally and practically for the demands of their event while still fitting within the realities of everyday life. \r\n\r\n I also think being attentive, responsive, understanding of the specific athletes needs and challenges and ensuring you keep them accountable is key.\r\n\r\nAbove all, I want athletes to enjoy the process, build confidence and arrive at race day feeling prepared.",
"preferredCommunicationTone": "Casual, concise and inquisitive.",
"coachingStyleNotes": "Weekly programming - generally on a weekend.\r\nWeekly check-in via direct message on the prior week as well as any challenges for the week ahead.",
"wordsPhrasesToUse": null,
"wordsPhrasesToAvoid": null,
"trainingPrinciples": "I believe in specificity, for example, if you're targeting a mountainous trail race then run mountainous trails in training. Practice and experimentation is critical when it comes to gear, nutrition, pace, terrain, everything.\r\n\r\nVolume in training is necessary for endurance events but it is not the be all and end all. Speed work once per week at least, if the body allows for it. \r\n\r\nIf the athlete is time poor, the priority should be one speed/interval session, one long run (preferably with some hills) and one easy run. I alwasy recommend strength, even if it is bodyweight based and 10 minutes per week, it is better than nothing.",
"injuryRiskPhilosophy": "I need to know about injuries or niggles immediately so I can adjust the program accordingly. Depending in the severity, which is generally gauged by pain level out of 10, I might ask the athlete to test it out once more before we decide on course of action. Generally I will recommend two days rest from running if the athlete indicates there is pain when running. I will always recommend cross training if it does not bring on pain.",
"racePlanningPhilosophy": "Driven by the athlete. Some athletes just want to get to the race and get through it so a race plan a can me too much for them. Others want details on almost every aspect of the race.\r\n\r\nPerhaps it is best to ask the athlete upfront if they would like race plans and how far in advance of the race would they like them. Right now, I generally produce the race plan within one week of the race. \r\n\r\nAbove all else, enjoying the moment is super important and, often good results follow if the athlete is in a good frame of mind.",
"taperPhilosophy": "The ideal taper is different for every athlete and often different for the same athlete depending on the race or their level of fitness and fatigue. Experiment for B and C races and get it right for A races."
},
"preferences": {
"defaultLocale": "en-AU",
"defaultTimezone": "Australia/Sydney",
"defaultDistanceUnit": "km",
"defaultAiTone": "Coach-like, direct and concise",
"defaultReportLength": "standard",
"defaultAthleteMessageLength": "short",
"aiRiskStance": "balanced"
}
}
},
"athleteFeedbackContext": {
"athleteNotes": "I’m in this for the long game. I’m family and career focused and this tends to overlap into what I can run potentially but I’m ok with that.",
"recentRaceResults": null,
"structuredRecentRaceResults": [],
"approvedIntakeProfile": {
"racingExperienceLevel": "Beginner",
"preferredRaceTypes": [
"Road"
],
"bestRacePerformances": {
"5k": "20:04",
"10k": "44:25",
"halfMarathon": "1:47",
"marathon": "-",
"ultra": null,
"other": null
},
"preferredWorkoutDays": [
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Saturday",
"Sunday"
],
"equipmentAccess": [
"Home gym",
"Treadmill",
"Indoor bike/trainer",
"RowErg",
"Pool",
"Resistance bands",
"Sauna/cold exposure"
],
"crossTrainingWillingness": "Weekly",
"preferredCoachingStyles": [
"Direct",
"Structured",
"Data-driven"
],
"preferredCommunicationStyles": [
"Honest/direct critique",
"Metrics focused"
],
"accountabilityPreference": "Moderate accountability",
"preferredContactMethod": "Messenger",
"permissions": {
"aiRecommendationsAllowed": true,
"aiSummariesVisible": true,
"aiCommunicationAllowed": false,
"anonymisedBenchmarkingAllowed": false,
"communicationConsent": false
},
"fields": {
"currentTargetEvents": "Sydney Marathon",
"currentInjuries": "Coming off a left hamstring injury",
"otherMajorLifestyleConstraints": "High performance real estate agent plus director duties // family time and sporting duties with kids",
"additionalNotes": "I’m in this for the long game. I’m family and career focused and this tends to overlap into what I can run potentially but I’m ok with that.",
"yearsRunningConsistently": "8",
"eventPriorityRanking": "A: Sydney Marathon B: Parkrun",
"performanceCompletionFocus": "Completion",
"secondaryGoals": "Stick to 90% of Training Peaks plan",
"longTermAspirations": "Run Boston Marathon\nSub 40 10km\nSub 19 5km\nComplete UTA 50",
"hoursAvailableWeekly": "7",
"doubleDayAvailability": "No",
"shiftWorker": "No",
"travelFrequency": "Every 8 weeks",
"occupationPhysicalDemand": "Low",
"sessionsMostLikelySkipped": "Friday",
"sleepHoursAverage": "7",
"sleepQuality": "Good",
"stressLevel": "High",
"parentingCaringResponsibilities": "3 plus staff",
"restingHr": "59",
"weight": "79",
"height": "172",
"clearanceToTrain": "Yes",
"injuryHistory": "Soft tissue issues- hamstring/calves",
"recurringInjuries": "Recently left hamstring",
"medicalConditions": "Asthma",
"medications": "Ventalin",
"allergies": "None",
"mobilityLimitations": "None",
"alcoholIntake": "Once a week",
"smokingVaping": "No",
"heatTolerance": "Good",
"typicalDietApproach": "2 meals a deal",
"supplements": "Hydralite",
"hydrationStrategy": "Swish Hydration drink",
"raceNutritionStrategy": "None at this stage",
"gpsWatch": "Garmin",
"chestStrapHr": "Yes",
"powerMeter": "No",
"stryd": "No",
"hrvTracking": "No",
"sleepTracking": "No",
"stravaConnected": "Yes",
"garminConnectConnected": "Yes",
"trainingPeaksConnected": "Yes",
"accessToTrack": "Yes",
"accessToTrails": "Yes",
"comfortableInGym": "Yes",
"previousStrengthCoaching": "Yes",
"currentLiftingFrequency": "2 times a week",
"preferredStrengthStyle": "Body strength",
"strengthTrainingExperience": "CrossFit",
"currentCrossTrainingActivities": "Rowing, bike, boxing",
"confidenceLevel": "Very high",
"whatMotivatesYou": "Myself",
"biggestRaceFear": "Not starting",
"burnoutHistory": "Injuries close to races",
"responseToMissedSessions": "Disappointed. Angry with myself.",
"moodImpactOnTraining": "High / this transfers to setting up the day.",
"describeGoodRun": "Early morning- a noticeable improvement on stats and feel. Feeling light and strong",
"describeBadRun": "Heavy. Rushed to go to work. Injured or feeling fatigue before I start."
}
},
"intakeSummary": {
"primaryGoal": "Sub 20 5km",
"coachingStyle": "Direct, Structured, Data-driven",
"availability": "7 hrs/week | Long run: Sunday | Workouts: Monday, Tuesday, Wednesday, Thursday, Saturday, Sunday",
"injuryStatus": "Current: Coming off a left hamstring injury | Recurring: Recently left hamstring",
"historicalInjuryBackground": null,
"equipmentAccess": "Home gym, Treadmill, Indoor bike/trainer, RowErg, Pool, Resistance bands, Sauna/cold exposure",
"targetRace": "Sydney Marathon",
"completedAt": "2026-05-28T03:56:51.012Z",
"profileVersion": "structured-intake-v2"
},
"recentSubmissions": [
{
"type": "update",
"status": "approved",
"submittedAt": "2026-05-26T08:02:56.932Z",
"reviewedAt": "2026-05-28T03:56:52.104Z",
"submittedSummary": {
"injuryStatus": null,
"injuryNotes": "Coming off a left hamstring injury",
"trainingConstraints": "High performance real estate agent plus director duties // family time and sporting duties with kids",
"athleteNotes": "I’m in this for the long game. I’m family and career focused and this tends to overlap into what I can run potentially but I’m ok with that.",
"recentRaceResults": null,
"recentRaceResultEntries": [
{
"raceName": "",
"date": "",
"time": "",
"notes": ""
},
{
"raceName": "",
"date": "",
"time": "",
"notes": ""
},
{
"raceName": "",
"date": "",
"time": "",
"notes": ""
}
],
"currentPhase": null,
"availableTrainingDays": []
},
"isCurrentApprovedIntake": false
}
]
},
"constraintsContext": {
"injuryStatus": null,
"injuryNotes": null,
"healthIssueContext": {
"currentIssues": [],
"monitoringIssues": [],
"resolvedOrHistoricalIssues": [],
"backgroundNoteOnly": {
"contextLabel": "Unconfirmed legacy injury context",
"status": "Healthy",
"note": null,
"intakeSummary": "Current: Coming off a left hamstring injury | Recurring: Recently left hamstring",
"activeBlocker": false,
"reviewNeeded": true,
"reason": "Legacy Athlete Details/intake injury fields are not authoritative for current injury state without a current Health & Wellness lifecycle record.",
"latestProfileUpdateAt": "2026-09-06T02:15:18.898Z",
"intakeCompletedAt": "2026-05-28T03:56:51.012Z",
"allowedCurrentFallbackStatuses": [
"Active",
"Niggle",
"Injured",
"Returning From Injury"
]
}
},
"injuryStatusUpdates": {
"currentIssues": [],
"resolvedOrHistoricalIssues": [],
"latestUpdate": null,
"legacyProfileInjuryContextTreatedAsCurrent": false,
"legacyProfileInjuryContext": {
"contextLabel": "Unconfirmed legacy injury context",
"status": "Healthy",
"note": null,
"intakeSummary": "Current: Coming off a left hamstring injury | Recurring: Recently left hamstring",
"activeBlocker": false,
"reviewNeeded": true,
"reason": "Legacy Athlete Details/intake injury fields are not authoritative for current injury state without a current Health & Wellness lifecycle record.",
"latestProfileUpdateAt": "2026-09-06T02:15:18.898Z",
"intakeCompletedAt": "2026-05-28T03:56:51.012Z",
"allowedCurrentFallbackStatuses": [
"Active",
"Niggle",
"Injured",
"Returning From Injury"
]
}
},
"trainingConstraints": "High performance real estate agent plus director duties // family time and sporting duties with kids",
"availableTrainingDays": [
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday",
"Sunday"
],
"preferredLongRunDay": "Sunday",
"maxSessionsPerWeek": null,
"targetWeeklyKm": null,
"targetWeeklyDurationMinutes": null,
"maxWeeklyDistanceIncreasePct": null,
"maxWeeklyLoadIncreasePct": null,
"thresholdPaceSecPerKm": 284,
"thresholdHr": null,
"maxHr": null
},
"trainingStimulusContext": {
"contextVersion": "training-stimulus-ai-context-v1",
"observed": {
"status": "available",
"dateRange": {
"start": "2026-08-30T02:16:22.180Z",
"end": "2026-09-06T02:16:22.180Z"
},
"workoutCount": 1,
"adaptationEmphasis": [
{
"adaptationKey": "aerobic_endurance",
"band": "primary",
"emphasisPercentage": 52.4
},
{
"adaptationKey": "neuromuscular_economy",
"band": "supporting",
"emphasisPercentage": 47.6
}
],
"recoveryCost": {
"band": "moderate",
"averagePerWorkout": 42,
"maximumWorkout": 42
},
"confidence": 0.8
},
"raceProfileReference": {
"raceId": "road-marathon",
"courseVersion": "standard-road-v1",
"profileVersion": "1.0.0"
},
"gapAnalysis": {
"underrepresentedAdaptations": [
"muscular_endurance",
"lactate_threshold",
"race_simulation",
"environmental_adaptation"
],
"raceCriticalGaps": [
"muscular_endurance"
],
"overrepresentedAdaptations": [],
"recommendedCoachingFocus": [
{
"adaptationKey": "muscular_endurance",
"priority": "immediate_priority",
"focus": "Prioritise progressive muscular endurance exposure within the Recovery phase; preserve recovery and verify execution evidence.",
"confidence": 0.54
},
{
"adaptationKey": "lactate_threshold",
"priority": "build_priority",
"focus": "Build lactate threshold progressively within the Recovery phase and reassess across subsequent observed weeks.",
"confidence": 0.54
},
{
"adaptationKey": "race_simulation",
"priority": "build_priority",
"focus": "Build race simulation progressively within the Recovery phase and reassess across subsequent observed weeks.",
"confidence": 0.54
}
]
},
"guardrails": [
"Treat these outputs as deterministic engine context.",
"Do not recalculate adaptation gaps.",
"Do not invent achievement percentages.",
"Do not override supplied confidence."
]
},
"planningImplications": [
"Consider whether underload is explained by injury, illness, travel, taper, recovery, or constraints before recommending catch-up load."
],
"missingData": [
"Current injury/niggle status is not documented.",
"Legacy Athlete Details/intake injury fields are present but unconfirmed; review Health & Wellness lifecycle before treating them as current."
],
"aiWarnings": [
"Review the full athlete context before producing recommendations.",
"Mention key context that materially changed the recommendation.",
"Avoid normal progression when unresolved injury, illness, fatigue, pain, or source-supported altered gait is present.",
"Use coach-review wording. The coach retains final authority.",
"Do not diagnose or provide medical treatment advice."
]
},
"insightType": "summary"
}Safe metadata
- Created
- 6 Sept 2026, 2:16 am
- Archived
- Not recorded
- Deleted
- Not recorded
- Athlete
- Daniel Maurer
- Workflow
- AI Summary
- Status
- Completed
- Duration
- Not recorded
- Model
- Not recorded
- Schema version
- Not recorded
- Token estimate
- Not recorded
- Attempt count
- Not recorded
- Compaction used
- Not recorded
- Generated by
- openai
Next Week RecommendationCompleted6 Sept 2026, 2:16 amNext-week Recommendation - 31 Aug 2026 - 6 Sept 2026
# Next-week Recommendation ## Coach reasoning Current Status - Athlete is in post-race recovery after the Sydney Marathon, completed 7 days ago. Recent running load is intentional…
Daniel MaurerNot recorded
Next-week Recommendation - 31 Aug 2026 - 6 Sept 2026
# Next-week Recommendation ## Coach reasoning Current Status - Athlete is in post-race recovery after the Sydney Marathon, completed 7 days ago. Recent running load is intentional…
Artefact
# Next-week Recommendation ## Coach reasoning Current Status - Athlete is in post-race recovery after the Sydney Marathon, completed 7 days ago. Recent running load is intentionally low, with only 10 km in the past week. Training Trend - Prior 4–6 week average weekly volume was 45–53 km, with a steady build prior to significant taper and now post-race underload. Race-Specific Stimulus Gaps - Muscular endurance remains the main adaptation gap. Lactate threshold and race-specific simulation were underrepresented post-marathon and should be rebuilt gradually after recovery. Risk / Unknowns - No current, confirmed injury, though there is mention of a historical left hamstring issue—monitor for signs of recurrence. The current drop in load is warranted given the recovery phase and busy lifestyle constraints. Coaching Recommendation - Maintain a recovery-oriented week with gentle, low-volume runs. Avoid rapid build or intensity. Prioritise physical and mental recovery and monitor hamstring status. Plan progression next week if recovery remains normal. ## Athlete message Take this week easy and focus on recovery following Sydney Marathon. Easy short runs only if you feel good—no pressure to push. If you experience any pain or niggles, especially in the hamstring, back off and let me know. We’ll look to build gradually once you’ve recovered. Rest and enjoy it. ## Recommended weekly focus Training Focus - Ensure full physical and mental recovery post-marathon. Prioritise rest and gentle movement over structured training. Key Sessions - Optional easy runs, short and relaxed, based on feel. No intensity or structured workouts required. Progression - Hold volume low; allow body to recover fully from the event and from cumulative fatigue across the build-up. Recovery Considerations - Prioritise quality sleep, nutrition, and active recovery. Monitor any signs of soreness, especially in the hamstring. Race-Specific Priorities - No race-specific training priorities this week; resume key marathon adaptations (muscular endurance, lactate threshold) once full recovery is confirmed. Coach Notes - Athlete indicated family, career and lifestyle constraints; week should remain unstructured and restorative. Check in for feedback midweek. ## Load targets - Running range: 10-20 km - Long run range: 0-12 km - Quality sessions: 0 ## Rationale This week should prioritise complete recovery, as the athlete is only 7 days post-marathon with an expected drop in training volume. Missing intensity or muscular endurance work is appropriate for now; return to progression once the athlete confirms recovery and absence of pain. ## Caution flags - Monitor for delayed-onset soreness or niggle recurrence, especially at the left hamstring. - Avoid intensity or long runs until full recovery is evident. - Maintain conservative progression until post-race adaptation is reassessed.
Why this recommendation?
{
"reportType": "next_week_recommendation",
"sourceOutput": {
"coachReasoning": "Current Status\n- Athlete is in post-race recovery after the Sydney Marathon, completed 7 days ago. Recent running load is intentionally low, with only 10 km in the past week.\nTraining Trend\n- Prior 4–6 week average weekly volume was 45–53 km, with a steady build prior to significant taper and now post-race underload.\nRace-Specific Stimulus Gaps\n- Muscular endurance remains the main adaptation gap. Lactate threshold and race-specific simulation were underrepresented post-marathon and should be rebuilt gradually after recovery.\nRisk / Unknowns\n- No current, confirmed injury, though there is mention of a historical left hamstring issue—monitor for signs of recurrence. The current drop in load is warranted given the recovery phase and busy lifestyle constraints.\nCoaching Recommendation\n- Maintain a recovery-oriented week with gentle, low-volume runs. Avoid rapid build or intensity. Prioritise physical and mental recovery and monitor hamstring status. Plan progression next week if recovery remains normal.",
"athleteMessage": "Take this week easy and focus on recovery following Sydney Marathon. Easy short runs only if you feel good—no pressure to push. If you experience any pain or niggles, especially in the hamstring, back off and let me know. We’ll look to build gradually once you’ve recovered. Rest and enjoy it.",
"recommendedWeeklyFocus": "Training Focus\n- Ensure full physical and mental recovery post-marathon. Prioritise rest and gentle movement over structured training.\nKey Sessions\n- Optional easy runs, short and relaxed, based on feel. No intensity or structured workouts required.\nProgression\n- Hold volume low; allow body to recover fully from the event and from cumulative fatigue across the build-up.\nRecovery Considerations\n- Prioritise quality sleep, nutrition, and active recovery. Monitor any signs of soreness, especially in the hamstring.\nRace-Specific Priorities\n- No race-specific training priorities this week; resume key marathon adaptations (muscular endurance, lactate threshold) once full recovery is confirmed.\nCoach Notes\n- Athlete indicated family, career and lifestyle constraints; week should remain unstructured and restorative. Check in for feedback midweek.",
"suggestedRunningKmRange": {
"minKm": 10,
"maxKm": 20
},
"suggestedLongRunRange": {
"minKm": 0,
"maxKm": 12
},
"suggestedQualitySessionCount": 0,
"cautionFlags": [
"Monitor for delayed-onset soreness or niggle recurrence, especially at the left hamstring.",
"Avoid intensity or long runs until full recovery is evident.",
"Maintain conservative progression until post-race adaptation is reassessed."
],
"rationale": "This week should prioritise complete recovery, as the athlete is only 7 days post-marathon with an expected drop in training volume. Missing intensity or muscular endurance work is appropriate for now; return to progression once the athlete confirms recovery and absence of pain."
},
"range": {
"start": "2026-08-30T14:00:00.000Z",
"end": "2026-09-06T14:00:00.000Z"
},
"includeEventContext": true,
"athleteAiContext": {
"athleteSummary": {
"id": "cmni89y2r00k7h0uusr9752eb",
"name": "Daniel Maurer",
"timezone": "Australia / Sydney",
"localeContext": {
"locale": "en-AU",
"spelling": "Australian English",
"wordingExamples": "prioritise, kilometre, organised",
"dateFormatExample": "10 May 2026",
"distanceWord": "kilometre"
},
"currentPhase": "Recovery",
"preferredCommunicationTone": "Direct",
"aiEnabled": {
"report": true,
"plan": true
},
"strava": {
"connected": true,
"athleteId": "22601702",
"scope": "activity:read_all read",
"connectedAt": "2026-06-07T04:46:06.355Z",
"lastSyncedAt": "2026-09-06T02:15:18.894Z"
}
},
"goalContext": {
"primaryGoal": "Sub 20 5km",
"legacyGoalEventName": "Sydney Marathon",
"legacyGoalEventDate": null,
"legacyGoalDistanceType": null,
"racePhase": {
"daysUntilGoalEvent": -7,
"phase": "post_race_recovery"
},
"activeGoals": [
{
"goalType": "race",
"priority": "A",
"status": "active",
"goalStatus": "Planned",
"title": "Sydney Marathon",
"description": null,
"targetDate": "2026-08-30",
"targetValue": "3:45",
"notes": null,
"raceName": "Sydney Marathon",
"raceWebsiteUrl": "https://www.tcssydneymarathon.com/",
"raceDistance": "42.2",
"raceDistanceKm": 42.2,
"raceType": "Marathon",
"goalFinishTime": null,
"targetTime": null,
"stretchGoal": null,
"courseMapUrl": "https://connect.ap.app.pam.co/?navmapId=4aa171f7-9554-4c24-af1c-723f0e598497&autoload=y&utm_source=sydmarathon.app&utm_medium=app&utm_campaign=sydney.marathon#15.06/-33.86788/151.21516/0/60",
"gpxUrl": null,
"elevationGain": null,
"terrain": "Road",
"confidenceLevel": "Moderate",
"mainObjective": "PB",
"keyConcern": null,
"nutritionNotes": null,
"injuryConstraintNotes": null,
"additionalNotes": null,
"coachNotes": null,
"terrainNotes": null,
"cutoffNotes": null,
"aidStationNotes": null
},
{
"goalType": "training",
"priority": "A",
"status": "active",
"goalStatus": "Planned",
"title": "Sub 20 minute 5km",
"description": null,
"targetDate": "2026-11-07",
"targetValue": null,
"notes": null,
"raceName": null,
"raceWebsiteUrl": null,
"raceDistance": null,
"raceDistanceKm": null,
"raceType": null,
"goalFinishTime": "19:59",
"targetTime": "19:59",
"stretchGoal": null,
"courseMapUrl": null,
"gpxUrl": null,
"elevationGain": null,
"terrain": null,
"confidenceLevel": null,
"mainObjective": "PB",
"keyConcern": null,
"nutritionNotes": null,
"injuryConstraintNotes": null,
"additionalNotes": null,
"coachNotes": null,
"terrainNotes": null,
"cutoffNotes": null,
"aidStationNotes": null
},
{
"goalType": "race",
"priority": "B",
"status": "active",
"goalStatus": "Planned",
"title": "Athlete race goal",
"description": null,
"targetDate": null,
"targetValue": null,
"notes": null,
"raceName": null,
"raceWebsiteUrl": null,
"raceDistance": null,
"raceDistanceKm": null,
"raceType": null,
"goalFinishTime": null,
"targetTime": null,
"stretchGoal": null,
"courseMapUrl": null,
"gpxUrl": null,
"elevationGain": null,
"terrain": null,
"confidenceLevel": null,
"mainObjective": null,
"keyConcern": null,
"nutritionNotes": null,
"injuryConstraintNotes": null,
"additionalNotes": null,
"coachNotes": null,
"terrainNotes": null,
"cutoffNotes": null,
"aidStationNotes": null
},
{
"goalType": "race",
"priority": "C",
"status": "active",
"goalStatus": "Planned",
"title": "Athlete race goal",
"description": null,
"targetDate": null,
"targetValue": null,
"notes": null,
"raceName": null,
"raceWebsiteUrl": null,
"raceDistance": null,
"raceDistanceKm": null,
"raceType": null,
"goalFinishTime": null,
"targetTime": null,
"stretchGoal": null,
"courseMapUrl": null,
"gpxUrl": null,
"elevationGain": null,
"terrain": null,
"confidenceLevel": null,
"mainObjective": null,
"keyConcern": null,
"nutritionNotes": null,
"injuryConstraintNotes": null,
"additionalNotes": null,
"coachNotes": null,
"terrainNotes": null,
"cutoffNotes": null,
"aidStationNotes": null
}
],
"primaryRaceGoal": {
"goalType": "race",
"priority": "A",
"status": "active",
"goalStatus": "Planned",
"title": "Sydney Marathon",
"description": null,
"targetDate": "2026-08-30",
"targetValue": "3:45",
"notes": null,
"raceName": "Sydney Marathon",
"raceWebsiteUrl": "https://www.tcssydneymarathon.com/",
"raceDistance": "42.2",
"raceDistanceKm": 42.2,
"raceType": "Marathon",
"goalFinishTime": null,
"targetTime": null,
"stretchGoal": null,
"courseMapUrl": "https://connect.ap.app.pam.co/?navmapId=4aa171f7-9554-4c24-af1c-723f0e598497&autoload=y&utm_source=sydmarathon.app&utm_medium=app&utm_campaign=sydney.marathon#15.06/-33.86788/151.21516/0/60",
"gpxUrl": null,
"elevationGain": null,
"terrain": "Road",
"confidenceLevel": "Moderate",
"mainObjective": "PB",
"keyConcern": null,
"nutritionNotes": null,
"injuryConstraintNotes": null,
"additionalNotes": null,
"coachNotes": null,
"terrainNotes": null,
"cutoffNotes": null,
"aidStationNotes": null
},
"secondaryRaceGoals": [
{
"goalType": "race",
"priority": "B",
"status": "active",
"goalStatus": "Planned",
"title": "Athlete race goal",
"description": null,
"targetDate": null,
"targetValue": null,
"notes": null,
"raceName": null,
"raceWebsiteUrl": null,
"raceDistance": null,
"raceDistanceKm": null,
"raceType": null,
"goalFinishTime": null,
"targetTime": null,
"stretchGoal": null,
"courseMapUrl": null,
"gpxUrl": null,
"elevationGain": null,
"terrain": null,
"confidenceLevel": null,
"mainObjective": null,
"keyConcern": null,
"nutritionNotes": null,
"injuryConstraintNotes": null,
"additionalNotes": null,
"coachNotes": null,
"terrainNotes": null,
"cutoffNotes": null,
"aidStationNotes": null
},
{
"goalType": "race",
"priority": "C",
"status": "active",
"goalStatus": "Planned",
"title": "Athlete race goal",
"description": null,
"targetDate": null,
"targetValue": null,
"notes": null,
"raceName": null,
"raceWebsiteUrl": null,
"raceDistance": null,
"raceDistanceKm": null,
"raceType": null,
"goalFinishTime": null,
"targetTime": null,
"stretchGoal": null,
"courseMapUrl": null,
"gpxUrl": null,
"elevationGain": null,
"terrain": null,
"confidenceLevel": null,
"mainObjective": null,
"keyConcern": null,
"nutritionNotes": null,
"injuryConstraintNotes": null,
"additionalNotes": null,
"coachNotes": null,
"terrainNotes": null,
"cutoffNotes": null,
"aidStationNotes": null
}
]
},
"riskContext": {
"priorityOrder": [
"safety/risk context",
"recent athlete feedback",
"coach planning notes",
"training constraints",
"goal/race timeline",
"recent training metrics",
"historical training",
"generic training principles"
],
"flags": [
{
"code": "post_race_recovery",
"severity": "info",
"label": "Post-race recovery window",
"evidence": [
"Goal event was 7 days ago."
]
},
{
"code": "underload",
"severity": "info",
"label": "Recent running underload",
"evidence": [
"7-day running distance 10.0 km; distance change -47%."
]
}
]
},
"recentTrainingContext": {
"dashboardMetrics": {
"lastWorkoutAt": "2026-09-05T21:40:47.000Z",
"lastLongRunAt": "2026-08-22T21:03:31.000Z",
"rolling7DayRunningDistanceKm": 10.008799999999999,
"rolling7DayRunningDurationMinutes": 57.68333333333333,
"rolling7DayRunningLoad": 63.32773333333333,
"runningDistanceChangePercent": -47.41012410807174,
"runningLoadChangePercent": -47.503617735067124,
"longestRunDistance7dKm": 10.008799999999999,
"longRunPercent7d": 100,
"recentActivityTypesLast14Days": [
"running"
]
},
"weeklyRunning": [
{
"weekStart": "2026-06-15T00:00:00.000Z",
"distanceKm": 33.8981,
"durationMinutes": 197.31666666666666,
"load": 215.87571666666668
},
{
"weekStart": "2026-06-22T00:00:00.000Z",
"distanceKm": 37.7022,
"durationMinutes": 212.1,
"load": 232.8411
},
{
"weekStart": "2026-06-29T00:00:00.000Z",
"distanceKm": 41.892399999999995,
"durationMinutes": 272.9166666666667,
"load": 298.37286666666665
},
{
"weekStart": "2026-07-06T00:00:00.000Z",
"distanceKm": 60.7683,
"durationMinutes": 338.56666666666666,
"load": 371.1508166666666
},
{
"weekStart": "2026-07-13T00:00:00.000Z",
"distanceKm": 46.9808,
"durationMinutes": 267.3333333333333,
"load": 294.2437333333333
},
{
"weekStart": "2026-07-20T00:00:00.000Z",
"distanceKm": 31.362999999999996,
"durationMinutes": 175.08333333333334,
"load": 192.2748333333333
},
{
"weekStart": "2026-07-27T00:00:00.000Z",
"distanceKm": 47.831100000000006,
"durationMinutes": 270.23333333333335,
"load": 295.7488833333333
},
{
"weekStart": "2026-08-03T00:00:00.000Z",
"distanceKm": 45.932900000000004,
"durationMinutes": 260.6333333333333,
"load": 285.05978333333337
},
{
"weekStart": "2026-08-10T00:00:00.000Z",
"distanceKm": 53.10810000000001,
"durationMinutes": 323.0833333333333,
"load": 353.61738333333335
},
{
"weekStart": "2026-08-17T00:00:00.000Z",
"distanceKm": 49.5616,
"durationMinutes": 290.78333333333336,
"load": 317.50413333333336
},
{
"weekStart": "2026-08-24T00:00:00.000Z",
"distanceKm": 14.023400000000002,
"durationMinutes": 80.93333333333334,
"load": 88.25503333333334
},
{
"weekStart": "2026-08-31T00:00:00.000Z",
"distanceKm": 10.008799999999999,
"durationMinutes": 57.68333333333333,
"load": 63.32773333333333
}
],
"recentRunning": [
{
"startTime": "2026-09-05T21:40:47.000Z",
"durationMinutes": 57.68333333333333,
"distanceKm": 10.008799999999999,
"elevationGainMeters": 64,
"rpe": null,
"tss": null,
"rtss": null,
"fromStrava": true,
"classificationLabels": [
"Structured workout"
],
"stravaDetailSummary": "Structured workout detail available",
"stravaDetail": [
"Sync status: completed",
"Laps: 11",
"Splits: metric 11, standard 7",
"Best efforts: 7"
]
},
{
"startTime": "2026-08-29T04:44:38.000Z",
"durationMinutes": 17.816666666666666,
"distanceKm": 3.0061999999999998,
"elevationGainMeters": 12,
"rpe": null,
"tss": null,
"rtss": null,
"fromStrava": true,
"classificationLabels": [
"Structured workout"
],
"stravaDetailSummary": "Structured workout detail available",
"stravaDetail": [
"Sync status: completed",
"Laps: 7",
"Splits: metric 4, standard 2",
"Best efforts: 4"
]
},
{
"startTime": "2026-08-26T20:49:42.000Z",
"durationMinutes": 33.28333333333333,
"distanceKm": 5.9794,
"elevationGainMeters": 10,
"rpe": null,
"tss": null,
"rtss": null,
"fromStrava": true,
"classificationLabels": [
"Structured workout"
],
"stravaDetailSummary": "Structured workout detail available",
"stravaDetail": [
"Sync status: completed",
"Laps: 10",
"Splits: metric 6, standard 4",
"Best efforts: 6"
]
},
{
"startTime": "2026-08-24T20:49:09.000Z",
"durationMinutes": 29.833333333333332,
"distanceKm": 5.0378,
"elevationGainMeters": 9,
"rpe": null,
"tss": null,
"rtss": null,
"fromStrava": true,
"classificationLabels": [
"Structured workout"
],
"stravaDetailSummary": "Structured workout detail available",
"stravaDetail": [
"Sync status: completed",
"Laps: 6",
"Splits: metric 6, standard 4",
"Best efforts: 6"
]
},
{
"startTime": "2026-08-23T21:03:49.000Z",
"durationMinutes": 29.683333333333334,
"distanceKm": 5.0084,
"elevationGainMeters": 19,
"rpe": null,
"tss": null,
"rtss": null,
"fromStrava": true,
"classificationLabels": [
"Structured workout"
],
"stravaDetailSummary": "Structured workout detail available",
"stravaDetail": [
"Sync status: completed",
"Laps: 6",
"Splits: metric 6, standard 4",
"Best efforts: 6"
]
},
{
"startTime": "2026-08-22T21:03:31.000Z",
"durationMinutes": 129.25,
"distanceKm": 21.3833,
"elevationGainMeters": 85,
"rpe": null,
"tss": null,
"rtss": null,
"fromStrava": true,
"classificationLabels": [
"Long run",
"Structured workout"
],
"stravaDetailSummary": "Structured workout detail available",
"stravaDetail": [
"Sync status: completed",
"Laps: 22",
"Splits: metric 22, standard 14",
"Best efforts: 11"
]
},
{
"startTime": "2026-08-20T21:57:06.000Z",
"durationMinutes": 34.46666666666667,
"distanceKm": 6.005199999999999,
"elevationGainMeters": 12,
"rpe": null,
"tss": null,
"rtss": null,
"fromStrava": true,
"classificationLabels": [
"Structured workout"
],
"stravaDetailSummary": "Structured workout detail available",
"stravaDetail": [
"Sync status: completed",
"Laps: 9",
"Splits: metric 7, standard 4",
"Best efforts: 6"
]
},
{
"startTime": "2026-08-20T08:56:45.000Z",
"durationMinutes": 29.733333333333334,
"distanceKm": 5.0046,
"elevationGainMeters": 18,
"rpe": null,
"tss": null,
"rtss": null,
"fromStrava": true,
"classificationLabels": [
"Structured workout"
],
"stravaDetailSummary": "Structured workout detail available",
"stravaDetail": [
"Sync status: completed",
"Laps: 5",
"Splits: metric 6, standard 4",
"Best efforts: 6"
]
},
{
"startTime": "2026-08-17T20:07:27.000Z",
"durationMinutes": 37.06666666666667,
"distanceKm": 7.154,
"elevationGainMeters": 41,
"rpe": null,
"tss": null,
"rtss": null,
"fromStrava": true,
"classificationLabels": [
"Structured workout"
],
"stravaDetailSummary": "Structured workout detail available",
"stravaDetail": [
"Sync status: completed",
"Laps: 8",
"Splits: metric 8, standard 5",
"Best efforts: 6"
]
},
{
"startTime": "2026-08-17T08:31:29.000Z",
"durationMinutes": 30.583333333333332,
"distanceKm": 5.0061,
"elevationGainMeters": 19,
"rpe": null,
"tss": null,
"rtss": null,
"fromStrava": true,
"classificationLabels": [
"Structured workout"
],
"stravaDetailSummary": "Structured workout detail available",
"stravaDetail": [
"Sync status: completed",
"Laps: 5",
"Splits: metric 6, standard 4",
"Best efforts: 6"
]
},
{
"startTime": "2026-08-14T20:07:49.000Z",
"durationMinutes": 192.86666666666667,
"distanceKm": 34.030800000000006,
"elevationGainMeters": 113,
"rpe": null,
"tss": null,
"rtss": null,
"fromStrava": true,
"classificationLabels": [
"Long run",
"Structured workout"
],
"stravaDetailSummary": "Structured workout detail available",
"stravaDetail": [
"Sync status: completed",
"Laps: 36",
"Splits: metric 35, standard 22",
"Best efforts: 12"
]
},
{
"startTime": "2026-08-12T20:06:20.000Z",
"durationMinutes": 40.2,
"distanceKm": 8.1255,
"elevationGainMeters": 13,
"rpe": null,
"tss": null,
"rtss": null,
"fromStrava": true,
"classificationLabels": [
"Structured workout"
],
"stravaDetailSummary": "Structured workout detail available",
"stravaDetail": [
"Sync status: completed",
"Laps: 15",
"Splits: metric 9, standard 6",
"Best efforts: 6"
]
}
],
"recentTestRuns": [
{
"startTime": "2026-08-29T04:44:38.000Z",
"durationMinutes": 17.816666666666666,
"distanceKm": 3.0061999999999998,
"classificationLabels": [
"Structured workout"
],
"stravaDetailSummary": "Structured workout detail available",
"stravaDetail": [
"Sync status: completed",
"Laps: 7",
"Splits: metric 4, standard 2",
"Best efforts: 4"
],
"reason": "Short/low-volume run; treat as possible test run only if notes support that interpretation."
},
{
"startTime": "2026-07-21T08:05:26.000Z",
"durationMinutes": 4.4,
"distanceKm": 0.7519,
"classificationLabels": [
"Structured workout"
],
"stravaDetailSummary": "Structured workout detail available",
"stravaDetail": [
"Sync status: completed",
"Laps: 1",
"Splits: metric 1, standard 1",
"Best efforts: 1"
],
"reason": "Short/low-volume run; treat as possible test run only if notes support that interpretation."
},
{
"startTime": "2026-05-11T20:50:02.000Z",
"durationMinutes": 17.5,
"distanceKm": 2.76975,
"classificationLabels": [],
"stravaDetailSummary": null,
"stravaDetail": [],
"reason": "Short/low-volume run; treat as possible test run only if notes support that interpretation."
},
{
"startTime": "2026-04-27T16:32:40.000Z",
"durationMinutes": 18.383333333333333,
"distanceKm": 3.0196,
"classificationLabels": [],
"stravaDetailSummary": null,
"stravaDetail": [],
"reason": "Short/low-volume run; treat as possible test run only if notes support that interpretation."
},
{
"startTime": "2026-03-31T06:45:38.000Z",
"durationMinutes": 5.933333333333334,
"distanceKm": 0.90834,
"classificationLabels": [],
"stravaDetailSummary": null,
"stravaDetail": [],
"reason": "Short/low-volume run; treat as possible test run only if notes support that interpretation."
}
]
},
"coachNotesContext": {
"currentReportNotes": "",
"athleteCoachingNotes": null,
"recentReportNotes": [],
"savedFollowUpNotes": [],
"recentAiDraftFollowUps": [
{
"draftType": "next_week_schedule",
"quickAction": null,
"question": "Daniel missed two sessions early last week due to illness. He is fully recovered now and we need to do a 60km week. Ensure the long run is 30km, you onlky have 19km in the schedule.",
"savedNote": null,
"savedAt": null,
"createdAt": "2026-08-02T01:20:54.541Z"
},
{
"draftType": "next_week_recommendation",
"quickAction": null,
"question": "Daniel is yet to complete his programmed 10km run today so his 7D distance will be 54km. We need to move up from there to around 60km for next week.",
"savedNote": null,
"savedAt": null,
"createdAt": "2026-07-11T23:42:19.405Z"
},
{
"draftType": "next_week_schedule",
"quickAction": null,
"question": "Give me specific workouts for the strenght and mobility with exercises and reps",
"savedNote": null,
"savedAt": null,
"createdAt": "2026-06-07T05:31:05.998Z"
},
{
"draftType": "next_week_recommendation",
"quickAction": null,
"question": "Daniel completed two hamstring friendly strength sessionsin the last 7 days as well. 25.5km in total. We need to continue to build towards the marathon so we need to aim for a 25-30km week.",
"savedNote": null,
"savedAt": null,
"createdAt": "2026-06-07T05:23:57.189Z"
},
{
"draftType": "next_week_schedule",
"quickAction": null,
"question": "Wednesday is \"Bodyweight or light-load, focusing on hamstring/glute stability and basic core. Avoid any provocation. Cut short if pain arises.\"\n\nAgain, give me oem suggested exercises.",
"savedNote": null,
"savedAt": null,
"createdAt": "2026-05-31T03:20:56.589Z"
},
{
"draftType": "next_week_schedule",
"quickAction": null,
"question": "Your Monday suggestion is \"Mobility and activation (hamstring and lower limb focus).\" Do you have any suggested exercises to meet this brief?",
"savedNote": null,
"savedAt": null,
"createdAt": "2026-05-31T03:08:42.377Z"
}
],
"recentAiIncludedTimelineEvents": [],
"coachProfileAndSettings": {
"profile": {
"coachName": "Darryl Johnson",
"businessName": "DAJC Pty Ltd",
"coachEmail": "darryljohnson1012@gmail.com",
"defaultSignoff": "Cheers",
"coachingPhilosophy": "I believe coaching should be individualised, practical and specific to the athlete and their goals. \r\n\r\nConsistency, honest communication and adaptability are the foundation of long-term progress. \r\n\r\nTraining should prepare athletes physically, mentally and practically for the demands of their event while still fitting within the realities of everyday life. \r\n\r\n I also think being attentive, responsive, understanding of the specific athletes needs and challenges and ensuring you keep them accountable is key.\r\n\r\nAbove all, I want athletes to enjoy the process, build confidence and arrive at race day feeling prepared.",
"preferredCommunicationTone": "Casual, concise and inquisitive.",
"coachingStyleNotes": "Weekly programming - generally on a weekend.\r\nWeekly check-in via direct message on the prior week as well as any challenges for the week ahead.",
"wordsPhrasesToUse": null,
"wordsPhrasesToAvoid": null,
"trainingPrinciples": "I believe in specificity, for example, if you're targeting a mountainous trail race then run mountainous trails in training. Practice and experimentation is critical when it comes to gear, nutrition, pace, terrain, everything.\r\n\r\nVolume in training is necessary for endurance events but it is not the be all and end all. Speed work once per week at least, if the body allows for it. \r\n\r\nIf the athlete is time poor, the priority should be one speed/interval session, one long run (preferably with some hills) and one easy run. I alwasy recommend strength, even if it is bodyweight based and 10 minutes per week, it is better than nothing.",
"injuryRiskPhilosophy": "I need to know about injuries or niggles immediately so I can adjust the program accordingly. Depending in the severity, which is generally gauged by pain level out of 10, I might ask the athlete to test it out once more before we decide on course of action. Generally I will recommend two days rest from running if the athlete indicates there is pain when running. I will always recommend cross training if it does not bring on pain.",
"racePlanningPhilosophy": "Driven by the athlete. Some athletes just want to get to the race and get through it so a race plan a can me too much for them. Others want details on almost every aspect of the race.\r\n\r\nPerhaps it is best to ask the athlete upfront if they would like race plans and how far in advance of the race would they like them. Right now, I generally produce the race plan within one week of the race. \r\n\r\nAbove all else, enjoying the moment is super important and, often good results follow if the athlete is in a good frame of mind.",
"taperPhilosophy": "The ideal taper is different for every athlete and often different for the same athlete depending on the race or their level of fitness and fatigue. Experiment for B and C races and get it right for A races."
},
"preferences": {
"defaultLocale": "en-AU",
"defaultTimezone": "Australia/Sydney",
"defaultDistanceUnit": "km",
"defaultAiTone": "Coach-like, direct and concise",
"defaultReportLength": "standard",
"defaultAthleteMessageLength": "short",
"aiRiskStance": "balanced"
}
}
},
"athleteFeedbackContext": {
"athleteNotes": "I’m in this for the long game. I’m family and career focused and this tends to overlap into what I can run potentially but I’m ok with that.",
"recentRaceResults": null,
"structuredRecentRaceResults": [],
"approvedIntakeProfile": {
"racingExperienceLevel": "Beginner",
"preferredRaceTypes": [
"Road"
],
"bestRacePerformances": {
"5k": "20:04",
"10k": "44:25",
"halfMarathon": "1:47",
"marathon": "-",
"ultra": null,
"other": null
},
"preferredWorkoutDays": [
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Saturday",
"Sunday"
],
"equipmentAccess": [
"Home gym",
"Treadmill",
"Indoor bike/trainer",
"RowErg",
"Pool",
"Resistance bands",
"Sauna/cold exposure"
],
"crossTrainingWillingness": "Weekly",
"preferredCoachingStyles": [
"Direct",
"Structured",
"Data-driven"
],
"preferredCommunicationStyles": [
"Honest/direct critique",
"Metrics focused"
],
"accountabilityPreference": "Moderate accountability",
"preferredContactMethod": "Messenger",
"permissions": {
"aiRecommendationsAllowed": true,
"aiSummariesVisible": true,
"aiCommunicationAllowed": false,
"anonymisedBenchmarkingAllowed": false,
"communicationConsent": false
},
"fields": {
"currentTargetEvents": "Sydney Marathon",
"currentInjuries": "Coming off a left hamstring injury",
"otherMajorLifestyleConstraints": "High performance real estate agent plus director duties // family time and sporting duties with kids",
"additionalNotes": "I’m in this for the long game. I’m family and career focused and this tends to overlap into what I can run potentially but I’m ok with that.",
"yearsRunningConsistently": "8",
"eventPriorityRanking": "A: Sydney Marathon B: Parkrun",
"performanceCompletionFocus": "Completion",
"secondaryGoals": "Stick to 90% of Training Peaks plan",
"longTermAspirations": "Run Boston Marathon\nSub 40 10km\nSub 19 5km\nComplete UTA 50",
"hoursAvailableWeekly": "7",
"doubleDayAvailability": "No",
"shiftWorker": "No",
"travelFrequency": "Every 8 weeks",
"occupationPhysicalDemand": "Low",
"sessionsMostLikelySkipped": "Friday",
"sleepHoursAverage": "7",
"sleepQuality": "Good",
"stressLevel": "High",
"parentingCaringResponsibilities": "3 plus staff",
"restingHr": "59",
"weight": "79",
"height": "172",
"clearanceToTrain": "Yes",
"injuryHistory": "Soft tissue issues- hamstring/calves",
"recurringInjuries": "Recently left hamstring",
"medicalConditions": "Asthma",
"medications": "Ventalin",
"allergies": "None",
"mobilityLimitations": "None",
"alcoholIntake": "Once a week",
"smokingVaping": "No",
"heatTolerance": "Good",
"typicalDietApproach": "2 meals a deal",
"supplements": "Hydralite",
"hydrationStrategy": "Swish Hydration drink",
"raceNutritionStrategy": "None at this stage",
"gpsWatch": "Garmin",
"chestStrapHr": "Yes",
"powerMeter": "No",
"stryd": "No",
"hrvTracking": "No",
"sleepTracking": "No",
"stravaConnected": "Yes",
"garminConnectConnected": "Yes",
"trainingPeaksConnected": "Yes",
"accessToTrack": "Yes",
"accessToTrails": "Yes",
"comfortableInGym": "Yes",
"previousStrengthCoaching": "Yes",
"currentLiftingFrequency": "2 times a week",
"preferredStrengthStyle": "Body strength",
"strengthTrainingExperience": "CrossFit",
"currentCrossTrainingActivities": "Rowing, bike, boxing",
"confidenceLevel": "Very high",
"whatMotivatesYou": "Myself",
"biggestRaceFear": "Not starting",
"burnoutHistory": "Injuries close to races",
"responseToMissedSessions": "Disappointed. Angry with myself.",
"moodImpactOnTraining": "High / this transfers to setting up the day.",
"describeGoodRun": "Early morning- a noticeable improvement on stats and feel. Feeling light and strong",
"describeBadRun": "Heavy. Rushed to go to work. Injured or feeling fatigue before I start."
}
},
"intakeSummary": {
"primaryGoal": "Sub 20 5km",
"coachingStyle": "Direct, Structured, Data-driven",
"availability": "7 hrs/week | Long run: Sunday | Workouts: Monday, Tuesday, Wednesday, Thursday, Saturday, Sunday",
"injuryStatus": "Current: Coming off a left hamstring injury | Recurring: Recently left hamstring",
"historicalInjuryBackground": null,
"equipmentAccess": "Home gym, Treadmill, Indoor bike/trainer, RowErg, Pool, Resistance bands, Sauna/cold exposure",
"targetRace": "Sydney Marathon",
"completedAt": "2026-05-28T03:56:51.012Z",
"profileVersion": "structured-intake-v2"
},
"recentSubmissions": [
{
"type": "update",
"status": "approved",
"submittedAt": "2026-05-26T08:02:56.932Z",
"reviewedAt": "2026-05-28T03:56:52.104Z",
"submittedSummary": {
"injuryStatus": null,
"injuryNotes": "Coming off a left hamstring injury",
"trainingConstraints": "High performance real estate agent plus director duties // family time and sporting duties with kids",
"athleteNotes": "I’m in this for the long game. I’m family and career focused and this tends to overlap into what I can run potentially but I’m ok with that.",
"recentRaceResults": null,
"recentRaceResultEntries": [
{
"raceName": "",
"date": "",
"time": "",
"notes": ""
},
{
"raceName": "",
"date": "",
"time": "",
"notes": ""
},
{
"raceName": "",
"date": "",
"time": "",
"notes": ""
}
],
"currentPhase": null,
"availableTrainingDays": []
},
"isCurrentApprovedIntake": false
}
]
},
"constraintsContext": {
"injuryStatus": null,
"injuryNotes": null,
"healthIssueContext": {
"currentIssues": [],
"monitoringIssues": [],
"resolvedOrHistoricalIssues": [],
"backgroundNoteOnly": {
"contextLabel": "Unconfirmed legacy injury context",
"status": "Healthy",
"note": null,
"intakeSummary": "Current: Coming off a left hamstring injury | Recurring: Recently left hamstring",
"activeBlocker": false,
"reviewNeeded": true,
"reason": "Legacy Athlete Details/intake injury fields are not authoritative for current injury state without a current Health & Wellness lifecycle record.",
"latestProfileUpdateAt": "2026-09-06T02:15:18.898Z",
"intakeCompletedAt": "2026-05-28T03:56:51.012Z",
"allowedCurrentFallbackStatuses": [
"Active",
"Niggle",
"Injured",
"Returning From Injury"
]
}
},
"injuryStatusUpdates": {
"currentIssues": [],
"resolvedOrHistoricalIssues": [],
"latestUpdate": null,
"legacyProfileInjuryContextTreatedAsCurrent": false,
"legacyProfileInjuryContext": {
"contextLabel": "Unconfirmed legacy injury context",
"status": "Healthy",
"note": null,
"intakeSummary": "Current: Coming off a left hamstring injury | Recurring: Recently left hamstring",
"activeBlocker": false,
"reviewNeeded": true,
"reason": "Legacy Athlete Details/intake injury fields are not authoritative for current injury state without a current Health & Wellness lifecycle record.",
"latestProfileUpdateAt": "2026-09-06T02:15:18.898Z",
"intakeCompletedAt": "2026-05-28T03:56:51.012Z",
"allowedCurrentFallbackStatuses": [
"Active",
"Niggle",
"Injured",
"Returning From Injury"
]
}
},
"trainingConstraints": "High performance real estate agent plus director duties // family time and sporting duties with kids",
"availableTrainingDays": [
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday",
"Sunday"
],
"preferredLongRunDay": "Sunday",
"maxSessionsPerWeek": null,
"targetWeeklyKm": null,
"targetWeeklyDurationMinutes": null,
"maxWeeklyDistanceIncreasePct": null,
"maxWeeklyLoadIncreasePct": null,
"thresholdPaceSecPerKm": 284,
"thresholdHr": null,
"maxHr": null
},
"trainingStimulusContext": {
"contextVersion": "training-stimulus-ai-context-v1",
"observed": {
"status": "available",
"dateRange": {
"start": "2026-08-30T02:15:54.702Z",
"end": "2026-09-06T02:15:54.702Z"
},
"workoutCount": 1,
"adaptationEmphasis": [
{
"adaptationKey": "aerobic_endurance",
"band": "primary",
"emphasisPercentage": 52.4
},
{
"adaptationKey": "neuromuscular_economy",
"band": "supporting",
"emphasisPercentage": 47.6
}
],
"recoveryCost": {
"band": "moderate",
"averagePerWorkout": 42,
"maximumWorkout": 42
},
"confidence": 0.8
},
"raceProfileReference": {
"raceId": "road-marathon",
"courseVersion": "standard-road-v1",
"profileVersion": "1.0.0"
},
"gapAnalysis": {
"underrepresentedAdaptations": [
"muscular_endurance",
"lactate_threshold",
"race_simulation",
"environmental_adaptation"
],
"raceCriticalGaps": [
"muscular_endurance"
],
"overrepresentedAdaptations": [],
"recommendedCoachingFocus": [
{
"adaptationKey": "muscular_endurance",
"priority": "immediate_priority",
"focus": "Prioritise progressive muscular endurance exposure within the Recovery phase; preserve recovery and verify execution evidence.",
"confidence": 0.54
},
{
"adaptationKey": "lactate_threshold",
"priority": "build_priority",
"focus": "Build lactate threshold progressively within the Recovery phase and reassess across subsequent observed weeks.",
"confidence": 0.54
},
{
"adaptationKey": "race_simulation",
"priority": "build_priority",
"focus": "Build race simulation progressively within the Recovery phase and reassess across subsequent observed weeks.",
"confidence": 0.54
}
]
},
"guardrails": [
"Treat these outputs as deterministic engine context.",
"Do not recalculate adaptation gaps.",
"Do not invent achievement percentages.",
"Do not override supplied confidence."
]
},
"planningImplications": [
"Consider whether underload is explained by injury, illness, travel, taper, recovery, or constraints before recommending catch-up load."
],
"missingData": [
"Current injury/niggle status is not documented.",
"Legacy Athlete Details/intake injury fields are present but unconfirmed; review Health & Wellness lifecycle before treating them as current."
],
"aiWarnings": [
"Review the full athlete context before producing recommendations.",
"Mention key context that materially changed the recommendation.",
"Avoid normal progression when unresolved injury, illness, fatigue, pain, or source-supported altered gait is present.",
"Use coach-review wording. The coach retains final authority.",
"Do not diagnose or provide medical treatment advice."
]
},
"insightType": "next_week_recommendation"
}Safe metadata
- Created
- 6 Sept 2026, 2:16 am
- Archived
- Not recorded
- Deleted
- Not recorded
- Athlete
- Daniel Maurer
- Workflow
- Next Week Recommendation
- Status
- Completed
- Duration
- Not recorded
- Model
- Not recorded
- Schema version
- Not recorded
- Token estimate
- Not recorded
- Attempt count
- Not recorded
- Compaction used
- Not recorded
- Generated by
- openai
Race PlanCompleted26 Aug 2026, 2:30 amSydney Marathon Race Execution Plan – Daniel Maurer
Coach Reasoning: This plan is shaped by multiple factors: Daniel has no unresolved niggle or injury, but given historical hamstring background and moderate training load drop in t…
Daniel MaurerNot recorded
Sydney Marathon Race Execution Plan – Daniel Maurer
Coach Reasoning: This plan is shaped by multiple factors: Daniel has no unresolved niggle or injury, but given historical hamstring background and moderate training load drop in t…
Artefact
Coach Reasoning:
This plan is shaped by multiple factors: Daniel has no unresolved niggle or injury, but given historical hamstring background and moderate training load drop in the taper week, the plan deliberately limits any aggressive racing stance. His long runs have been consistent in the 22–34km range for the past month, showing sound aerobic and muscular endurance, though with missing RPE data. Fatigue spike is absent, but the taper drop is sharp (expected in race week), so vigilance for over-rested legs and possible rhythm issues early in the race is warranted. Targeting a 3:45 on a standard road marathon is realistic if early pacing and fuelling are conservative, leveraging Daniel’s PB focus and readiness. With limited evidence of recent high-intensity sessions (threshold and race simulation underrepresented), the plan prioritises steady execution, progressive pacing and strong control in the first 25–30km. Given Daniel’s stated family/career constraints, the plan includes flexibility and strong troubleshooting checkpoints. Coach philosophy prioritises enjoyment, adaptability and athlete-driven execution, all reflected in the supporting cues and troubleshooting. High-level PB pressure is acknowledged, but the main focus is executing without unnecessary risk. Caution is urged with any vague niggle—given legacy hamstring issues, though there is no current active problem, coach should still stay vigilant for any pre-race or on-the-day warning signs. RPE gaps mean subjective feedback on the day is vital—ensure Daniel is clear on using effort, HR and feel for pacing, rather than being overly pace-driven, especially as fatigue mounts.
Athlete Message:
Go in calm, stick to the plan and run by feel early—don’t get pulled along by the crowd, and check your effort keeps you comfortable through halfway. Be on top of your fuelling and hydration from the start. If anything feels off with your legs or energy, back it off and reset—finish strong and enjoy the day.
No specific follow-up required beyond routine training feedback.
Content:
## Race overview
- Event: Sydney Marathon (42.2 kilometres, road)
- Date: 30 August 2026
- Target time: 3:45
- Objective: New PB, steady run
## Goal strategy
- Primary aim is a PB with a controlled and sustainable race.
- Build patiently through the first 25–30k, avoid overreaching early.
- PB focus but flexibility for family/career and enjoyment—back off if needed on the day and finish what you start.
## Pacing approach
- **Effort before pace**: Plan to run the first 30 kilometres at a firm but controlled aerobic effort, roughly RPE 5–6/10. Hold back if the legs feel ‘too good’ early—stay in your usual long run/conversational zone.
- **Heart rate**: Use your long-run averages (145–155 bpm) as a guide in the first 25k, avoiding spikes or surges.
- **Final third**: From 30k onward, gently increase effort if you’re feeling strong, but never dig a hole—RPE 7+ only if reserves are available.
- Be prepared for pace drop late—expect some slowing and manage form/effort accordingly.
## Recent Long-Run Reference
- 22 Aug: 21.4km, 2h 09m, 85m elevation, HR 147–160
- 14 Aug: 34.0km, 3h 13m, 113m elevation, HR 155–176
- 7 Aug: 30.0km, 2h 54m, 105m elevation, HR 148–171
- 1 Aug: 28.0km, 2h 41m, 91m elevation, HR 148–170
Typical long run ~27–34km covers race effort up to late stages; no RPE logged, so all effort guidance is via HR, pacing, and subjective feel.
## Section-by-section execution
1. **Start – 10km**: Relax, ease into rhythm, no surging, keep HR below threshold, ignore crowd pace.
2. **10–25km**: Stay steady at comfortable long-run effort, smooth out nutrition and hydration.
3. **25–35km**: Monitor for fatigue, start making minor adjustments based on legs and breathing; stay in control.
4. **35–42.2km**: If feeling good, gradually squeeze up the effort, otherwise protect the finish—walk the aid stations if necessary, refocus on form and mental cues.
## Climbing/descending guidance
- Use slight downhills to freshen up cadence, no overstriding.
- On any bridge/hill sections, drop effort slightly and let HR float up naturally, recover on the descent.
- Keep all hills to easy/moderate effort; don’t chase time splits uphill.
## Fuelling plan
- Begin fuelling early (within first 30 minutes, even if appetite is low).
- 30–40g carbohydrate/hour—aim for a gel or equivalent every 40–45 minutes.
- Practiced options are best; if unpractised, stick with safe, simple sources (gels, chews, sports drink); avoid untested new foods.
## Hydration plan
- Sip regularly, don’t wait for thirst—especially if conditions are warm.
- Alternate sports drink and water if available; use electrolyte tabs or known products if tolerated.
- ‘Swish’ technique fine if preferred.
## Aid station strategy
- Slow down for aid stations, take the time needed—better to lose a few seconds than drop nutrition or fumble.
- Use water to cool head/back of neck if hot.
- Walk 20–30 metres if needed to ensure good intake.
## Recovery/reset checkpoints
- Red-flag points: 21k/28k/35k
- At each: check energy, legs and headspace, top up nutrition and fluids if needed, assess form.
- If serious fatigue, cramps or fuzzy focus set in, switch to a ‘finish line’ strategy—walk/jog as needed.
## Mantras/mental cues
- “Relax now, finish strong.”
- “Form first—run tall, quick feet.”
- “Check in, reset, go again.”
## Troubleshooting
- **Cramps**: Slow, stretch, take on electrolytes; don’t try to ‘run through’ severe cramps.
- **GI issues**: Walk if needed, stop for toilet if urgent, avoid further fuelling until settled.
- **Dehydration**: Signs—dry mouth, dizziness, confusion; slow, rehydrate, seek medical aid if severe.
- **Dizziness, high HR**: Slow or stop if feeling faint, confused, or chest pain—seek help.
- **Low energy**: Extra gel/drink, walk 2–3 minutes, then reassess.
## Weather considerations
- Monitor conditions on the day—pace accordingly in heat (early hydration, back off on hot sections).
- If cold, use gloves/layers at start—shed as you warm up.
## Coach notes
- Daniel’s training shows consistent long run prep but some gaps in high-intensity work and race specificity—plan is anchored in conservative, sustainable effort, especially as there is no RPE data and historical hamstring issues.
- Athlete context (career/family) means adaptability is critical—be prepared for adjustments.
- No current injury red flags, but historical context means encourage Daniel to report any ‘twinge’ or issue pre-race or mid-race promptly.
- Priority is safe, enjoyable, strong finish—PB is possible if the first half is kept conservative.
---
For review: confirm plan aligns with Daniel’s expectations and risk comfort. Adjust for any late emerging injury, fatigue or family/work events.
## Coach Reasoning
This plan is shaped by multiple factors: Daniel has no unresolved niggle or injury, but given historical hamstring background and moderate training load drop in the taper week, the plan deliberately limits any aggressive racing stance. His long runs have been consistent in the 22–34km range for the past month, showing sound aerobic and muscular endurance, though with missing RPE data. Fatigue spike is absent, but the taper drop is sharp (expected in race week), so vigilance for over-rested legs and possible rhythm issues early in the race is warranted. Targeting a 3:45 on a standard road marathon is realistic if early pacing and fuelling are conservative, leveraging Daniel’s PB focus and readiness. With limited evidence of recent high-intensity sessions (threshold and race simulation underrepresented), the plan prioritises steady execution, progressive pacing and strong control in the first 25–30km. Given Daniel’s stated family/career constraints, the plan includes flexibility and strong troubleshooting checkpoints. Coach philosophy prioritises enjoyment, adaptability and athlete-driven execution, all reflected in the supporting cues and troubleshooting.... [truncated]Why this recommendation?
{
"Athlete summary": {
"id": "cmni89y2r00k7h0uusr9752eb",
"name": "Daniel Maurer",
"timezone": "Australia / Sydney",
"localeContext": {
"locale": "en-AU",
"spelling": "Australian English",
"wordingExamples": "prioritise, kilometre, organised",
"dateFormatExample": "10 May 2026",
"distanceWord": "kilometre"
},
"currentPhase": "Taper",
"preferredCommunicationTone": "Direct",
"aiEnabled": {
"report": true,
"plan": true
},
"strava": {
"connected": true,
"athleteId": "22601702",
"scope": "activity:read_all read",
"connectedAt": "2026-06-07T04:46:06.355Z",
"lastSyncedAt": "2026-08-25T04:18:52.678Z"
}
},
"Goal context": {
"Primary goal": "Sub 20 5km",
"Legacy event name": "Sydney Marathon",
"Legacy event date": null,
"Race phase": {
"daysUntilGoalEvent": 4,
"phase": "race_week"
},
"Primary race goal": {
"goalType": "race",
"priority": "A",
"status": "active",
"goalStatus": "Planned",
"title": "Sydney Marathon",
"description": null,
"targetDate": "2026-08-30",
"targetValue": "3:45",
"notes": null,
"raceName": "Sydney Marathon",
"raceWebsiteUrl": "https://www.tcssydneymarathon.com/",
"raceDistance": "42.2",
"raceDistanceKm": 42.2,
"raceType": "Marathon",
"goalFinishTime": null,
"targetTime": null,
"stretchGoal": null,
"courseMapUrl": "https://connect.ap.app.pam.co/?navmapId=4aa171f7-9554-4c24-af1c-723f0e598497&autoload=y&utm_source=sydmarathon.app&utm_medium=app&utm_campaign=sydney.marathon#15.06/-33.86788/151.21516/0/60",
"gpxUrl": null,
"elevationGain": null,
"terrain": "Road",
"confidenceLevel": "Moderate",
"mainObjective": "PB",
"keyConcern": null,
"nutritionNotes": null,
"injuryConstraintNotes": null,
"additionalNotes": null,
"coachNotes": null,
"terrainNotes": null,
"cutoffNotes": null,
"aidStationNotes": null
}
},
"Risk factors": [
{
"code": "race_week",
"severity": "info",
"label": "Race week",
"evidence": [
"Goal event is 4 days away."
]
}
],
"Planning implications": [
"Interpret reduced load as potentially appropriate for event timing before calling it underload."
],
"Missing data": [
"Current injury/niggle status is not documented.",
"Legacy Athlete Details/intake injury fields are present but unconfirmed; review Health & Wellness lifecycle before treating them as current."
],
"Recent training": {
"Dashboard metrics": {
"lastWorkoutAt": "2026-08-24T20:49:09.000Z",
"lastLongRunAt": "2026-08-22T21:03:31.000Z",
"rolling7DayRunningDistanceKm": 42.439299999999996,
"rolling7DayRunningDurationMinutes": 252.96666666666667,
"rolling7DayRunningLoad": 275.6163166666667,
"runningDistanceChangePercent": -21.86650808963776,
"runningLoadChangePercent": -16.41274717080773,
"longestRunDistance7dKm": 21.3833,
"longRunPercent7d": 50.3856095647195,
"recentActivityTypesLast14Days": [
"running"
]
},
"Weekly running": [
{
"weekStart": "2026-06-08T00:00:00.000Z",
"distanceKm": 28.885600000000004,
"durationMinutes": 167.63333333333333,
"load": 183.58613333333332
},
{
"weekStart": "2026-06-15T00:00:00.000Z",
"distanceKm": 33.8981,
"durationMinutes": 197.31666666666666,
"load": 215.87571666666668
},
{
"weekStart": "2026-06-22T00:00:00.000Z",
"distanceKm": 37.7022,
"durationMinutes": 212.1,
"load": 232.8411
},
{
"weekStart": "2026-06-29T00:00:00.000Z",
"distanceKm": 41.892399999999995,
"durationMinutes": 272.9166666666667,
"load": 298.37286666666665
},
{
"weekStart": "2026-07-06T00:00:00.000Z",
"distanceKm": 60.7683,
"durationMinutes": 338.56666666666666,
"load": 371.1508166666666
},
{
"weekStart": "2026-07-13T00:00:00.000Z",
"distanceKm": 46.9808,
"durationMinutes": 267.3333333333333,
"load": 294.2437333333333
}
],
"Recent test runs": [
{
"startTime": "2026-07-21T08:05:26.000Z",
"durationMinutes": 4.4,
"distanceKm": 0.7519,
"classificationLabels": [
"Structured workout"
],
"stravaDetailSummary": "Structured workout detail available",
"stravaDetail": [
"Sync status: completed",
"Laps: 1",
"Splits: metric 1, standard 1",
"Best efforts: 1"
],
"reason": "Short/low-volume run; treat as possible test run only if notes support that interpretation."
},
{
"startTime": "2026-05-11T20:50:02.000Z",
"durati... [truncated]Safe metadata
- Created
- 26 Aug 2026, 2:30 am
- Archived
- Not recorded
- Deleted
- Not recorded
- Athlete
- Daniel Maurer
- Workflow
- Race Plan
- Status
- Completed
- Duration
- Not recorded
- Model
- Not recorded
- Schema version
- Not recorded
- Token estimate
- Not recorded
- Attempt count
- Not recorded
- Compaction used
- Not recorded
- Generated by
- openai
Race Plandraft26 Aug 2026, 2:30 amSydney Marathon Race Execution Plan – Daniel Maurer
## Race overview - Event: Sydney Marathon (42.2 kilometres, road) - Date: 30 August 2026 - Target time: 3:45 - Objective: New PB, steady run ## Goal strategy - Primary aim is a PB…
Daniel MaurerNot recorded
Sydney Marathon Race Execution Plan – Daniel Maurer
## Race overview - Event: Sydney Marathon (42.2 kilometres, road) - Date: 30 August 2026 - Target time: 3:45 - Objective: New PB, steady run ## Goal strategy - Primary aim is a PB…
Artefact
## Race overview
- Event: Sydney Marathon (42.2 kilometres, road)
- Date: 30 August 2026
- Target time: 3:45
- Objective: New PB, steady run
## Goal strategy
- Primary aim is a PB with a controlled and sustainable race.
- Build patiently through the first 25–30k, avoid overreaching early.
- PB focus but flexibility for family/career and enjoyment—back off if needed on the day and finish what you start.
## Pacing approach
- **Effort before pace**: Plan to run the first 30 kilometres at a firm but controlled aerobic effort, roughly RPE 5–6/10. Hold back if the legs feel ‘too good’ early—stay in your usual long run/conversational zone.
- **Heart rate**: Use your long-run averages (145–155 bpm) as a guide in the first 25k, avoiding spikes or surges.
- **Final third**: From 30k onward, gently increase effort if you’re feeling strong, but never dig a hole—RPE 7+ only if reserves are available.
- Be prepared for pace drop late—expect some slowing and manage form/effort accordingly.
## Recent Long-Run Reference
- 22 Aug: 21.4km, 2h 09m, 85m elevation, HR 147–160
- 14 Aug: 34.0km, 3h 13m, 113m elevation, HR 155–176
- 7 Aug: 30.0km, 2h 54m, 105m elevation, HR 148–171
- 1 Aug: 28.0km, 2h 41m, 91m elevation, HR 148–170
Typical long run ~27–34km covers race effort up to late stages; no RPE logged, so all effort guidance is via HR, pacing, and subjective feel.
## Section-by-section execution
1. **Start – 10km**: Relax, ease into rhythm, no surging, keep HR below threshold, ignore crowd pace.
2. **10–25km**: Stay steady at comfortable long-run effort, smooth out nutrition and hydration.
3. **25–35km**: Monitor for fatigue, start making minor adjustments based on legs and breathing; stay in control.
4. **35–42.2km**: If feeling good, gradually squeeze up the effort, otherwise protect the finish—walk the aid stations if necessary, refocus on form and mental cues.
## Climbing/descending guidance
- Use slight downhills to freshen up cadence, no overstriding.
- On any bridge/hill sections, drop effort slightly and let HR float up naturally, recover on the descent.
- Keep all hills to easy/moderate effort; don’t chase time splits uphill.
## Fuelling plan
- Begin fuelling early (within first 30 minutes, even if appetite is low).
- 30–40g carbohydrate/hour—aim for a gel or equivalent every 40–45 minutes.
- Practiced options are best; if unpractised, stick with safe, simple sources (gels, chews, sports drink); avoid untested new foods.
## Hydration plan
- Sip regularly, don’t wait for thirst—especially if conditions are warm.
- Alternate sports drink and water if available; use electrolyte tabs or known products if tolerated.
- ‘Swish’ technique fine if preferred.
## Aid station strategy
- Slow down for aid stations, take the time needed—better to lose a few seconds than drop nutrition or fumble.
- Use water to cool head/back of neck if hot.
- Walk 20–30 metres if needed to ensure good intake.
## Recovery/reset checkpoints
- Red-flag points: 21k/28k/35k
- At each: check energy, legs and headspace, top up nutrition and fluids if needed, assess form.
- If serious fatigue, cramps or fuzzy focus set in, switch to a ‘finish line’ strategy—walk/jog as needed.
## Mantras/mental cues
- “Relax now, finish strong.”
- “Form first—run tall, quick feet.”
- “Check in, reset, go again.”
## Troubleshooting
- **Cramps**: Slow, stretch, take on electrolytes; don’t try to ‘run through’ severe cramps.
- **GI issues**: Walk if needed, stop for toilet if urgent, avoid further fuelling until settled.
- **Dehydration**: Signs—dry mouth, dizziness, confusion; slow, rehydrate, seek medical aid if severe.
- **Dizziness, high HR**: Slow or stop if feeling faint, confused, or chest pain—seek help.
- **Low energy**: Extra gel/drink, walk 2–3 minutes, then reassess.
## Weather considerations
- Monitor conditions on the day—pace accordingly in heat (early hydration, back off on hot sections).
- If cold, use gloves/layers at start—shed as you warm up.
## Coach notes
- Daniel’s training shows consistent long run prep but some gaps in high-intensity work and race specificity—plan is anchored in conservative, sustainable effort, especially as there is no RPE data and historical hamstring issues.
- Athlete context (career/family) means adaptability is critical—be prepared for adjustments.
- No current injury red flags, but historical context means encourage Daniel to report any ‘twinge’ or issue pre-race or mid-race promptly.
- Priority is safe, enjoyable, strong finish—PB is possible if the first half is kept conservative.
---
For review: confirm plan aligns with Daniel’s expectations and risk comfort. Adjust for any late emerging injury, fatigue or family/work events.
## Coach Reasoning
This plan is shaped by multiple factors: Daniel has no unresolved niggle or injury, but given historical hamstring background and moderate training load drop in the taper week, the plan deliberately limits any aggressive racing stance. His long runs have been consistent in the 22–34km range for the past month, showing sound aerobic and muscular endurance, though with missing RPE data. Fatigue spike is absent, but the taper drop is sharp (expected in race week), so vigilance for over-rested legs and possible rhythm issues early in the race is warranted. Targeting a 3:45 on a standard road marathon is realistic if early pacing and fuelling are conservative, leveraging Daniel’s PB focus and readiness. With limited evidence of recent high-intensity sessions (threshold and race simulation underrepresented), the plan prioritises steady execution, progressive pacing and strong control in the first 25–30km. Given Daniel’s stated family/career constraints, the plan includes flexibility and strong troubleshooting checkpoints. Coach philosophy prioritises enjoyment, adaptability and athlete-driven execution, all reflected in the supporting cues and troubleshooting. High-level PB pressure is acknowledged, but the main focus is executing without unnecessary risk. Caution is urged with any vague niggle—given legacy hamstring issues, though there is no current active problem, coach should still stay vigilant for any pre-race or on-the-day warning signs. RPE gaps mean subjective feedback on the day is vital—ensure Daniel is clear on using effort, HR and feel for pacing, rather than being overly pace-driven, especially as fatigue mounts.
## Athlete Message
Go in calm, stick to the plan and run by feel early—don’t get pulled along by the crowd, and check your effort keeps you comfortable through halfway. Be on top of your fuelling and hydration from the start. If anything feels off with your legs or energy, back it off and reset—finish strong and enjoy the day.Safe metadata
- Created
- 26 Aug 2026, 2:30 am
- Archived
- Not recorded
- Deleted
- Not recorded
- Athlete
- Daniel Maurer
- Workflow
- Race Plan
- Status
- draft
- Duration
- Not recorded
- Model
- Not recorded
- Schema version
- Not recorded
- Token estimate
- Not recorded
- Attempt count
- Not recorded
- Compaction used
- Not recorded
- Generated by
- Not recorded
Race plans
Generate, review, edit, and version race execution plans from the selected athlete's current goals.
Race Plans
Generate, review, edit, and version race execution plans from athlete profile, goal, and recent training context.
Sydney Marathon Race Execution Plan – Daniel Maurer
Draft | Generated 26 Aug 2026
Race overview
- Event: Sydney Marathon (42.2 kilometres, road)
- Date: 30 August 2026
- Target time: 3:45
- Objective: New PB, steady run
Goal strategy
- Primary aim is a PB with a controlled and sustainable race.
- Build patiently through the first 25–30k, avoid overreaching early.
- PB focus but flexibility for family/career and enjoyment—back off if needed on the day and finish what you start.
Pacing approach
- Effort before pace: Plan to run the first 30 kilometres at a firm but controlled aerobic effort, roughly RPE 5–6/10. Hold back if the legs feel ‘too good’ early—stay in your usual long run/conversational zone.
- Heart rate: Use your long-run averages (145–155 bpm) as a guide in the first 25k, avoiding spikes or surges.
- Final third: From 30k onward, gently increase effort if you’re feeling strong, but never dig a hole—RPE 7+ only if reserves are available.
- Be prepared for pace drop late—expect some slowing and manage form/effort accordingly.
Recent Long-Run Reference
- 22 Aug: 21.4km, 2h 09m, 85m elevation, HR 147–160
- 14 Aug: 34.0km, 3h 13m, 113m elevation, HR 155–176
- 7 Aug: 30.0km, 2h 54m, 105m elevation, HR 148–171
- 1 Aug: 28.0km, 2h 41m, 91m elevation, HR 148–170
Typical long run ~27–34km covers race effort up to late stages; no RPE logged, so all effort guidance is via HR, pacing, and subjective feel.
Section-by-section execution
- Start – 10km: Relax, ease into rhythm, no surging, keep HR below threshold, ignore crowd pace.
- 10–25km: Stay steady at comfortable long-run effort, smooth out nutrition and hydration.
- 25–35km: Monitor for fatigue, start making minor adjustments based on legs and breathing; stay in control.
- 35–42.2km: If feeling good, gradually squeeze up the effort, otherwise protect the finish—walk the aid stations if necessary, refocus on form and mental cues.
Climbing/descending guidance
- Use slight downhills to freshen up cadence, no overstriding.
- On any bridge/hill sections, drop effort slightly and let HR float up naturally, recover on the descent.
- Keep all hills to easy/moderate effort; don’t chase time splits uphill.
Fuelling plan
- Begin fuelling early (within first 30 minutes, even if appetite is low).
- 30–40g carbohydrate/hour—aim for a gel or equivalent every 40–45 minutes.
- Practiced options are best; if unpractised, stick with safe, simple sources (gels, chews, sports drink); avoid untested new foods.
Hydration plan
- Sip regularly, don’t wait for thirst—especially if conditions are warm.
- Alternate sports drink and water if available; use electrolyte tabs or known products if tolerated.
- ‘Swish’ technique fine if preferred.
Aid station strategy
- Slow down for aid stations, take the time needed—better to lose a few seconds than drop nutrition or fumble.
- Use water to cool head/back of neck if hot.
- Walk 20–30 metres if needed to ensure good intake.
Recovery/reset checkpoints
- Red-flag points: 21k/28k/35k
- At each: check energy, legs and headspace, top up nutrition and fluids if needed, assess form.
- If serious fatigue, cramps or fuzzy focus set in, switch to a ‘finish line’ strategy—walk/jog as needed.
Mantras/mental cues
- “Relax now, finish strong.”
- “Form first—run tall, quick feet.”
- “Check in, reset, go again.”
Troubleshooting
- Cramps: Slow, stretch, take on electrolytes; don’t try to ‘run through’ severe cramps.
- GI issues: Walk if needed, stop for toilet if urgent, avoid further fuelling until settled.
- Dehydration: Signs—dry mouth, dizziness, confusion; slow, rehydrate, seek medical aid if severe.
- Dizziness, high HR: Slow or stop if feeling faint, confused, or chest pain—seek help.
- Low energy: Extra gel/drink, walk 2–3 minutes, then reassess.
Weather considerations
- Monitor conditions on the day—pace accordingly in heat (early hydration, back off on hot sections).
- If cold, use gloves/layers at start—shed as you warm up.
Coach notes
- Daniel’s training shows consistent long run prep but some gaps in high-intensity work and race specificity—plan is anchored in conservative, sustainable effort, especially as there is no RPE data and historical hamstring issues.
- Athlete context (career/family) means adaptability is critical—be prepared for adjustments.
- No current injury red flags, but historical context means encourage Daniel to report any ‘twinge’ or issue pre-race or mid-race promptly.
- Priority is safe, enjoyable, strong finish—PB is possible if the first half is kept conservative.
For review: confirm plan aligns with Daniel’s expectations and risk comfort. Adjust for any late emerging injury, fatigue or family/work events.
Coach Reasoning
This plan is shaped by multiple factors: Daniel has no unresolved niggle or injury, but given historical hamstring background and moderate training load drop in the taper week, the plan deliberately limits any aggressive racing stance. His long runs have been consistent in the 22–34km range for the past month, showing sound aerobic and muscular endurance, though with missing RPE data. Fatigue spike is absent, but the taper drop is sharp (expected in race week), so vigilance for over-rested legs and possible rhythm issues early in the race is warranted. Targeting a 3:45 on a standard road marathon is realistic if early pacing and fuelling are conservative, leveraging Daniel’s PB focus and readiness. With limited evidence of recent high-intensity sessions (threshold and race simulation underrepresented), the plan prioritises steady execution, progressive pacing and strong control in the first 25–30km. Given Daniel’s stated family/career constraints, the plan includes flexibility and strong troubleshooting checkpoints. Coach philosophy prioritises enjoyment, adaptability and athlete-driven execution, all reflected in the supporting cues and troubleshooting. High-level PB pressure is acknowledged, but the main focus is executing without unnecessary risk. Caution is urged with any vague niggle—given legacy hamstring issues, though there is no current active problem, coach should still stay vigilant for any pre-race or on-the-day warning signs. RPE gaps mean subjective feedback on the day is vital—ensure Daniel is clear on using effort, HR and feel for pacing, rather than being overly pace-driven, especially as fatigue mounts.
Athlete Message
Go in calm, stick to the plan and run by feel early—don’t get pulled along by the crowd, and check your effort keeps you comfortable through halfway. Be on top of your fuelling and hydration from the start. If anything feels off with your legs or energy, back it off and reset—finish strong and enjoy the day.
Ask about this draft
Challenge, question, or refine the draft using the same athlete context.
Original draft preserved
Applying a revision only marks it as current here. The original draft is not overwritten.
Version history
Social Recognition Posts
Draft public recognition posts for recent athlete achievements. Nothing is posted automatically.
Athletes
Recent social recognition drafts
No saved social drafts yet.