Mountain Bike Reviews Forum banner

Experiences using ChatGPT to create training schedules?

314 views 15 replies 10 participants last post by  MI-XC  
#1 ·
Anyone else experiment with creating training schedules with ChatGPT (or other LLMs, AI)?

I have a goal race in four weeks and had ChatGPT create a schedule based on parameters on total miles per week and days of riding per week. It's surprisingly quite good. It's following common principles of scheduling different types of training balanced with sufficient rest/recovery time. It even was able to include suggested recovery activities. It seems like a good way to take common wisdom about training and customize it for my individual needs such as:
  1. number of training days per week
  2. days on which I can and can't train during the week
  3. length of a long ride or run
  4. preferred activities during a week (Ride, Run, Swim, Strength Training, Pilates, etc.)
I'm also going to experiment with how ChatGPT might be able to modify a training schedule based on how I'm recovering (or not) from hard workouts.
 
#5 ·
Like with all llm responses it comes down to : ‘do you feel lucky’

You understand how they work right? Then you’d know it’s word correlation. They don’t do arithmetic they put words together in ways that sound plausible.

If you want to make a training plan then understand the fundamentals and build yourself a plan. Using an Llm to build your training plan you’re at risk of dedicating your training time to half baked fakery.
 
#6 ·
I have found that the word correlation that LLMs do works in some situations and not in others. That's why I'm experimenting with then for building training schedules. I'm finding that CHATGPT seems pretty good at taking the constraints I'm providing and assigning activities and recovery to days of the week. It's not too dissimilar from what I would have created on my own, I've found it useful to provide another perspective on how to arrange my training weeks.

Ultimately, what I do on a particular day is based on whether I'm recovering as expected. I'm experimenting right now to see how ChatGPT modifies training schedules to adapt to my personal rate of recovery and need for recovery / rest days.

As you suggest, my experience is that ChatGPT tends to provide better answers in areas of knowledge that are more commonplace. I definitely have seen ChatGPT produce completely wrong or nonsensical statements for more arcane topics.
 
#8 ·
It can work if you're comfortable with AI--if so I might recommend Grok, but it might end up being a lot of work if you're not an engineer. I find it more useful for nutrition and supplement dosing and fit calculations.

However the AI within TrainerRoad has matured a lot since the initial version that overworked people into oblivion--if you don't want a real-world coach, I'd highly recommend TrainerRoad.

Anyone else experiment with creating training schedules with ChatGPT (or other LLMs, AI)?

I have a goal race in four weeks and had ChatGPT create a schedule based on parameters on total miles per week and days of riding per week. It's surprisingly quite good. It's following common principles of scheduling different types of training balanced with sufficient rest/recovery time. It even was able to include suggested recovery activities. It seems like a good way to take common wisdom about training and customize it for my individual needs such as:
  1. number of training days per week
  2. days on which I can and can't train during the week
  3. length of a long ride or run
  4. preferred activities during a week (Ride, Run, Swim, Strength Training, Pilates, etc.)
I'm also going to experiment with how ChatGPT might be able to modify a training schedule based on how I'm recovering (or not) from hard workouts.
 
#9 ·
I have had ChatGPT build two different training plans. They were quite generic, but it asked reasonable questions before it put together the plans, it took additional information into account, adjusted the plans, and built a plan that looked like something a coach would put together. I have not yet tested the plans, but I think it is not a bad place to start. The plans it generated looked a lot like what you would find online if you did some extensive searching. They were just more customized. They were also very intense. You have to keep it in the right realm or it will think you are a pro rider with more hours available to train than your body can handle.
 
#10 ·
Can any of them scan maps and put together rides yet? I.e. I want to go from X to Y and hit mostly black trails, with approximately Z amount of vertical.

Or, with location A as a starting point, put together a ride with B miles and C vert with as much singletrack as possible.

Not useful for your usual stomping grounds, but could be nifty if you're traveling and want to get out for a quick spin without a ton of brain damage.
 
#11 · (Edited)
LLMs aren’t free magic coaches, but they’re also not just word salad either. They can follow constraints, do step by step math when asked, and analyze a ton of domain rules fast. The trick is how you use them.

Where an LLM is useful for training
  • Drafting structured plans from your constraints (days available, target race date, limiter, indoor vs outdoor, equipment).
  • Translating physiology into workouts (“I need 2 intensity days, VO₂ ceiling, 90–110 g carbs/h fueling, and don’t blow CTL +5/wk”).
  • Generating options (e.g., 3 ways to hit 90 min of quality when you only have 60 minutes).
  • Explaining trade-offs (“what happens to fatigue if I move VO₂ from Tue to Wed?”).
  • Creating checklists (Green/Amber/Red gates, fueling tables, sodium plans, taper steps) you can re-use.
Where you still need a human (you are your own coach)
  • Setting the right objective in the first place (A-race demands, limiter diagnosis).
  • Quality control: sanity-check TSS ramps, verify power targets vs your current FTP, adjust for life stress, illness, or sleep.
  • Accountability and feel: RPE, aches, heat/cold responses, no model can feel your legs.
“It’s just word correlation and can’t do math”
  • If you ask for a plan with explicit math (show TSS, IF, carb grams/hour, weekly ramp %), you can force the model to show its work. If it’s wrong, you’ll see it and fix it, just like you’d QC a coach’s spreadsheet.
  • The failure mode isn’t unique to LLMs; people (and coaches) also make math or reasoning mistakes. The point is to build in verification.
How to use an LLM (and get real value)
  1. Give tight inputs: age, FTP, weekly hours, available days, indoor/outdoor, limiter, A/B/C races, and guardrails (e.g., “CTL +3–5/wk max; two intensity days”).
  2. Demand explicit outputs:
    • Weekly table with session name, duration, target %FTP/HR, IF, estimated TSS, workout goal, progression.
    • Fueling: carbs g/h, sodium, caffeine timing (or “none” if PM).
    • Gates: Green/Amber/Red rules to auto-downshift if sleep/HR/illness flags appear.
  3. Ask it to show the math: “Calculate TSS for each session and total; show the formulas you used.”
  4. Stress test the plan: “What breaks if I miss Thu?” “How does this change if FTP is off by 5%?”
  5. Cross-check one week manually (or in TrainingPeaks/Intervals.icu): if numbers hold, proceed; if not, adjust and iterate.
  6. Keep the human loop: monitor RPE, HR drift, sleep, and adjust, no black-box faith required.
Example prompt:

“Build a 4-week block for a 48-year-old cyclist, FTP 308 W, 7–9 h/wk, Tue/Sat intensity, Sun long Z2. Goals: VO₂ repeatability and fatigue-resistance. Guardrails: CTL ramp +3–5/wk, two intensity days only, Red-day rules if sleep <6 h or AM headache ≥6/10. Output a table with session, duration, %FTP targets, IF, TSS; fueling (g carbs/h & sodium mg/L); and show your TSS math.”
Best case:
  • Treat the LLM like a fast assistant that drafts options, checks math on request, and reminds you of fundamentals—not a replacement for thinking or for a coach.
  • If all you ask for is “make me faster with the best training plan ever,” you’ll get mush. If you give constraints + guardrails and require transparent reasoning, you’ll get something surprisingly usable and easy to verify. Tell it to "remember" key points about yourself or your situation and you have a great tool to use.
 
#13 ·
LLMs aren’t free magic coaches, but they’re also not just word salad, either. They can follow constraints, do step by step math when asked, and analyze a ton of domain rules fast. The trick is how you use them.
Agreed. LLMs are a good way to see different ways to schedule based on a clear set of constraints.
 
#12 · (Edited)
Here’s what I’ve been doing when coming back from injury/illness/time off, using an LLM as a helper (not a coach). It's great at tracking metrics, provinding summaries and following trends over days, weeks and months. The more you feed it and tell it "to remember" the more of a personal assistant it becomes.

How an LLM actually helps me on a comeback:
  • I build a gentle ramp I can see.
    I ask for a 4–6 week plan with explicit weekly load caps (e.g., +10%, +8%, +6%, then a −30–40% deload). It spits out duration, %FTP/HR, IF, and TSS so I can understand the math. I tell it to consider progression and periodization.
  • I bake in Green/Amber/Red rules.
    • Green: do the workout.
    • Amber: poor sleep, elevated RHR, or aches in warm-up : shorten 15–25% or drop 1 rep.
    • Red: pain above baseline, fever, dizziness, stressful day: 30–45′ easy or rest.
      That way the plan auto-downshifts instead of guilt-tripping me.
  • I set pain/symptom ladders.
    “Pain ≤3/10 during and gone by morning = OK. Pain ≥4/10 or worse next day = stop and revert to last green week.” The model echoes that on every session so I don’t rationalize dumb decisions.
  • I ask for three variants each week.
    Conservative / standard / optimistic.
    On any given day I pick what matches how I feel, not how I wish I felt.
  • I demand equivalent swaps.
    If 4×6′ @ 95% is too spicy, it gives me 3×5′ @ 92% or 30′ tempo @ 85% with matched intent/TSS. I still train the system without poking the bear.
  • I include fueling & sleep cues.
    It gives me carbs g/h, sodium g/h, and caffeine timing per workout, plus a simple gate like “no intensity if <6 h sleep.” That keeps me from underfueling and wondering why I feel wrecked.
  • I schedule deloads I’ll actually do.
    Every 3rd week I cut volume 30–40% but keep one short threshold touch. Having it on paper makes me comply.
  • I create a one-pager for myself that I reference as the weeks go on.
    The model summarizes limits, ramp rules, and stop criteria. Easier buy-in, fewer mixed messages and I understand the rationale. Also good to copy and paste if the LLM needs a reminder.
I use the LLM to draft options, show how/why, and enforce my own guardrails. I still make the day to day calls. That combo is better, keeps me from my own worst enemy... myself, and it’s better than forcing a perfect plan through an imperfect body.
 
#14 ·
Here’s what I’ve been doing when coming back from injury/illness/time off, using an LLM as a helper (not a coach). It's great at tracking metrics, provinding summaries and following trends over days, weeks and months. The more you feed it and tell it "to remember" the more of a personal assistant it becomes.

How an LLM actually helps me on a comeback:
  • I build a gentle ramp I can see.
    I ask for a 4–6 week plan with explicit weekly load caps (e.g., +10%, +8%, +6%, then a −30–40% deload). It spits out duration, %FTP/HR, IF, and TSS so I can understand the math.
  • I bake in Green/Amber/Red rules.
    • Green: do the workout.
    • Amber: poor sleep, elevated RHR, or aches in warm-up → shorten 15–25% or drop 1 rep.
    • Red: pain above baseline, fever, dizziness → 30–45′ easy or rest.
      That way the plan auto-downshifts instead of guilt-tripping me.
  • I set pain/symptom ladders.
    “Pain ≤3/10 during and gone by morning = OK. Pain ≥4/10 or worse next day = stop and revert to last green week.” The model echoes that on every session so I don’t rationalize dumb decisions.
  • I ask for three variants each week.
    Conservative / standard / optimistic.
    On Monday I pick what matches how I feel, not how I wish I felt.
  • I demand equivalent swaps.
    If 4×6′ @ 95% is too spicy, it gives me 3×5′ @ 92% or 30′ tempo @ 85% with matched intent/TSS. I still train the system without poking the bear.
  • I include fueling & sleep nudges.
    It gives me carbs g/h, sodium mg/L, and caffeine timing per workout, plus a simple gate like “no intensity if <6 h sleep.” That keeps me from underfueling and wondering why I feel wrecked.
  • I schedule deloads I’ll actually take.
    Every 3rd week I cut volume 30–40% but keep one short threshold touch. Having it on paper makes me comply.
  • I create a one-pager for myself that I reference as the weeks go on.
    The model summarizes limits, ramp rules, and stop criteria. Easier buy-in, fewer mixed messages.
I use the LLM to draft options, show how/why, and enforce my own guardrails. I still make the day to day calls. That combo is better, keeps me from my own worst enemy... myself, and it’s safer than forcing a perfect plan through an imperfect body.
Pardon my old-school ignorance. But this is a free LLM? And you don't need to be on training peaks? I have been interested in the calculations training peaks uses, but never found it laid out fully online. I assumed it was IP, but this seems like a way to backdoor it when asking the LLM to show the math.

And where are you getting your weekly load caps from?
 
#16 · (Edited)
1. Earlier in the year, I first I gave ChatGPT all of my metrics and personals, then I loaded my past 365 days of training into ChatGPT. I then gave it the following prompt:
"Look at my cycling workouts over the past year. I had good endurance and durability, but didn't reach the power I wanted. What do you see that could have caused this?"

This is the ChatGPT response and it was spot on:

I’ve taken a first pass through your year of cycling data, and here are some key things that stand out in relation to why your endurance/durability were solid but power didn’t reach the level you wanted:

Training Intensity Distribution
Time in higher power zones (Z4 and above) was very low.
Not enough stimulus to really push your FTP or max power higher.
Volume & Load Bias
You stacked a lot of moderate load sessions, but without big blocks of high-intensity, the adaptations skew more toward endurance than peak power.
Your long rides reinforced durability, but probably came at the expense of freshness for high-intensity sessions.
Variability in Max Power
Peak power (max) had wide swings, but that high end looks more like short sprints/spikes than structured sprint/VO₂ work.
Without consistent VO₂max intervals or neuromuscular sprint training, those peaks won’t translate to higher sustained power.
Polarization Tilted Toward Endurance
Your data shows a lot of Z2–Z3 time, minimal Z4–Z6.
That’s great for building base and durability, but you need a much bigger dose of time near and above threshold to move FTP and sustainable power upward.


👉 In short: your program built excellent endurance and durability, but power gains stalled because intensity distribution was too skewed to low–moderate work and lacked enough consistent threshold and VO₂max sessions to drive up your top end.


2. Then I gave ChatGPT every FTP test I did since 2017 and prompted it to also consider my training based on past performance/FTP and draw any trends/conclusions.

It responded:

Looking at it in the context of your workout file and the last several years:
What the FTP trend shows
  • 2019–2021: You were steadily climbing, peaking around 325 W (March 2022).
  • 2022–2023: You mostly hovered in the low-310s, with small bumps but no breakthroughs.
  • 2024–2025: A clear stall and slight decline, bouncing between 297–313 W, despite maintaining strong endurance.
That matches what I saw in your workout file: solid durability but very little training time near threshold and VO₂max. You built the “engine room” but didn’t stress the “upper floors” enough to push FTP higher. In short: To push FTP back above 320 W and beyond, you need consistent, progressive work at threshold and VO₂max, not just more endurance riding.

3. Lastly, I prompted ChatGPT with my last 12 months of volume and told it to take all previous information I've provided into context and draw conclusions.

It responded:

This tracks with what your data and FTP history say: pushing CTL into the 140–150 range didn’t buy you more front-group durability than ~115–130, and it crowded out the threshold/VO₂ work that actually moves FTP. The charts show lots of load but a small weekly share in Z4–Z6; your top-TSS weeks rarely spent >8–10% of total time up there, which explains the stall.

Here’s a practical, race-aware plan to push FTP while keeping your durability:

What to cap / what to add
  • CTL target (in-season): keep ~110–125. Don’t chase >130 unless you’re still hitting the intensity targets below without dragging.
  • Weekly high-intensity dose (Build):
    • Threshold (Z4): 70–110 min/week (e.g., 2 sessions).
    • VO₂max (Z5): 12–24 min/week (one session).
    • Z4–Z6 share: aim for 8–12% of weekly ride time during build weeks.
  • Freshness for key days: show up to threshold/VO₂ with TSB ≥ -10 (not deeply negative). If you’re wrecked, downshift volume, not intensity quality.

Principles (carry through the whole plan)
  • CTL band that works for you: live in 110–125 most of the season; short peaks ≤130 if—and only if—you still hit intensity targets below. Avoid 140–150.
  • Intensity distribution (during build blocks): keep Z4–Z6 = 8–12% of weekly ride time (≈60–110 min Z4 and 12–24 min Z5). Rest is Z1–Z3.
  • Ramp & deloads: ramp +3–5 CTL/week, then a deload every 3–4 weeks (−40–50% volume, keep a small intensity touch).