twenty-four: AI training plans
Training plans are rigid. They assume you have perfect availability, never travel, and can do exactly what the plan says when it says to do it. Real life doesn’t work that way.
I built an AI training plan generator that understands your actual constraints - and now it’s available for anyone with an Intervals.icu account.
Getting started
Sign in with Intervals.icu - The service uses OAuth to connect to your Intervals.icu account. No separate registration needed. Your training data stays in your ICU account; we just help you build better plans.
Once logged in, you land on the home page - an interactive calendar showing:
- Last Week - Completed activities from your training log
- This Week - Past days show what you did, future days show planned workouts
- Next Week - Upcoming planned workouts
Click any future week to modify it with natural language: “Add a tempo run on Wednesday” or “Make Thursday easier, I have meetings all day.” The AI considers your recent training load when generating changes, then syncs directly to Intervals.icu.
Your settings, your rules
The Settings page (/settings) is where you customize how plans are generated. These preferences are injected into every AI prompt, so your constraints are always respected.
Training Rules - Facility and schedule constraints:
- Pool closure days (default: Friday)
- Maximum workouts per day
- Rest day preferences
- Workout time limits (pool lane reservations, etc.)
Phase Guidance - Custom instructions for each training phase:
- Base phase focus
- Build phase priorities
- Peak phase approach
- Taper preferences
Additional Notes - Anything else the AI should know:
- Current injuries or limitations
- Equipment availability
- Personal preferences (“I hate track workouts”)
Each field has sensible defaults you can reset with one click. Your settings persist across sessions.
What makes it different
Calendar awareness - The system imports your existing calendar. Gym classes, personal training sessions, and travel dates are all respected. If you have PT on Thursday, the plan works around it.
Smart workout placement - Long workouts belong on weekends. The system knows that a 3-hour bike ride can’t happen on a Wednesday, and moves it automatically.
Your constraints - Pool closed certain days? Swims max out at 60 minutes? Configure it once in Settings and every generated plan respects those limits.
Holiday enforcement - Spring break? No workouts scheduled. The system pulls holidays from your ICU calendar and enforces rest.
Progressive load - Each week builds on the previous one. The AI sees what happened in weeks 1-4 before generating week 5, making intelligent adjustments to volume and intensity.
The feedback loop
This is where AI planning shines. Don’t like what you see? Just tell it:
- “Make week 3 a recovery week”
- “Move all long runs to Sunday instead of Saturday”
- “Add more easy days in weeks 2-4”
- “This week has too much intensity”
The system regenerates with your feedback and remembers it for future weeks. You can iterate on the entire plan or fix individual weeks.
Bi-directional sync with Intervals.icu
Plans sync both ways:
Push to ICU - When you’re happy with a plan, sync it to your Intervals.icu Plans library as a structured folder.
Pull from ICU - Made manual edits in ICU? Use “Refresh from Source” to pull those changes back into your stored plan.
Diff view - Compare your stored plan with what’s in ICU to see exactly what changed.
Import existing plans - Have a plan folder in ICU already? Import it into the training service to iterate on it with AI feedback.
Supported race types
The system has sport-specific templates for different goals:
Running:
- 5K, 10K, Half marathon, Marathon
- Ultramarathon (50K and beyond)
Cycling:
- Century rides, gran fondos, criteriums
Triathlon:
- Half Ironman (70.3) - swim/bike/run multi-sport
- Full Ironman (140.6)
Each template includes appropriate volume limits, workout types, and periodization strategies for that race distance.
Structured workouts
Every workout comes with proper structure - warmup, main set, cooldown with specific zones and paces:
|
|
These sync directly to Intervals.icu where they show up as structured workouts on your calendar.
Generation options
Two methods for creating plans:
| Method | Best for | Speed |
|---|---|---|
| Week-by-week (default) | Quality - each week generated with full context from previous weeks | ~1-2 min per week |
| Full-plan | Speed - entire plan generated in one pass | ~30 seconds total |
Week-by-week is recommended for race-specific plans. Full-plan works well for general fitness blocks where precise periodization matters less.
The workflow
- Create a plan - Pick your race, set the date, choose a start date
- Watch it generate - Weeks appear progressively as they’re created
- Review - Look at the calendar view, check the volume progression
- Iterate - Provide feedback on anything that doesn’t look right
- Sync - Push the final plan to Intervals.icu
Plans are versioned. Each feedback cycle creates a new version you can compare against.
Try it
The service is available at training.twenty-four.life. Sign in with your Intervals.icu account to get started.
Quick start:
- Click “Sign in with Intervals.icu”
- Visit Settings to configure your constraints
- Create a new plan from the Manager page
- Iterate with feedback until it looks right
- Sync to Intervals.icu
For the technical implementation details - API endpoints, validation logic, prompt templates, and storage architecture - see AI Training Plans: Implementation Details.
See also: Part 0: The Platform | Part 1: Building with Claude | Part 2: Calendar Service | Part 3: Gym Service | Part 4: Strava Service | Part 5: Workout Generator | Part 6: AI Recommendations | Part 7: Service Consolidation | Part 8: System Architecture | AI Training Plans: Implementation
Co-Authored-By: Claude noreply@anthropic.com