A training program is a structured multi-week plan built around a specific goal and training approach. Programs contain individual training sessions which the generation engine populates with exercises, sets, reps, and load targets.
Each program belongs to one athlete and uses their profile data — level, goals, injuries, and results — during generation. The same program settings will produce different sessions for different athletes.
Navigate to an athlete's profile and open the Programs tab. Click New Program. You'll be taken to the program settings view where you configure all generation parameters before running the first generation.
Determines which muscle groups and exercise categories are targeted in sessions. The training type is the single most impactful setting in the program.
| Type | Focus | Typical Use |
|---|---|---|
| Full Body | All major muscle groups each session | Beginners, 2–3x/week athletes, general fitness |
| Anterior Chain | Quads, chest, shoulders, biceps | Push-focused days in split programs |
| Posterior Chain | Hamstrings, glutes, back, rear deltoids | Pull-focused days in split programs |
| Upper Body | Complete upper body — push and pull | Upper/Lower splits |
| Lower Body | Complete lower body — quad and posterior | Upper/Lower splits |
| Agility | Speed, coordination, reaction time | Sport-specific athletes, athletic development |
| Endurance | Cardiovascular and muscular endurance | Endurance athletes, conditioning phases |
Total length of the program in weeks. Combined with sessionsPerWeek, this determines the total number of sessions in the program.
Number of training sessions per week. Should match or be less than the athlete's trainingDaysPerWeek setting on their profile.
Training system used to structure exercise pairing and ordering within sessions. See Training Systems for all available systems and how to create custom ones.
Overall volume target per session. low generates shorter sessions with fewer total sets. high produces higher-volume sessions. This setting interacts with the athlete's training level — an advanced athlete on high will receive significantly more volume than a beginner on high.
When you trigger generation, the engine runs through the following steps in order:
sessionsPerWeek and durationWeeksIndividual sessions can be regenerated at any time without affecting the rest of the program. Useful if an athlete's injury status changes mid-program or if you want to adjust a specific week.
Any generated session can be manually edited after generation. Use the training editor to add, remove, or reorder exercises. You can also adjust sets, reps, tempo, and rest periods per exercise via the edit sidebar.
Manual changes are preserved — regenerating one session does not overwrite changes made to other sessions.
Coachbase supports multiple periodization models that shape how load and volume progress across the program duration:
| Model | Description | Best For |
|---|---|---|
| Linear | Load increases week over week at a fixed rate | Beginners, short programs |
| Undulating (DUP) | Load and rep scheme changes daily within the week | Intermediate–Advanced, hypertrophy and strength combined |
| Block | Distinct accumulation, intensification, and realization phases | Advanced athletes, sport-specific peaking |
| Wave Loading | Load increases across sets in wave patterns (e.g., 3+3+3) | Strength and neural activation |
Programs move through the following states: