Build a program
A Cleanpull program is a reusable training plan, not one athlete’s fixed list of weights. Build the weeks, days, exercises, and progression once, then assign that program to multiple athletes with individual targets and starting positions.
That separation lets you improve one block without rebuilding the same structure for every athlete.
| Layer | What it controls | Reused? |
|---|---|---|
| Program | Block length, training days, exercises, and their order | Across athletes |
| Progression scheme | The intensity, reps, and sets for every week | Across exercises in that program |
| Exercise slot | Scheme, active weeks, note, RPE, intensity basis, and exceptions | Wherever that slot appears |
| Assignment | Athlete, current week and day, target weights, and hold targets | Specific to one athlete |
Create the block
Section titled “Create the block”- In Coach mode, open Programs.
- Choose New program, or choose a starter template.
- Name the program and set its duration.
- Set the number of training days per week.
- Define the progression schemes, then add exercises to each day.
- Preview the whole program and choose Save program.
A template is an editable starting point. Saving it creates a program in your workspace and does not alter the original template.
Think in progression schemes
Section titled “Think in progression schemes”A progression scheme is a reusable week-by-week prescription curve inside a program. For every week it stores three values:
- Intensity — a percentage used to calculate the working load, or to scale the duration of a timed hold.
- Reps — repetitions per working set for regular exercises.
- Sets — working sets in that session.
Create schemes for exercise groups that should progress together. A simple strength block might use:
- Primary for the competition lifts: lower reps and a climb toward heavier percentages.
- Secondary for close variations: moderate volume and intensity.
- Accessory for smaller movements: steadier intensity and higher reps.
The names describe the role of the work; they do not need to match those examples. You can also use phases such as Base, Build, and Peak.
Select a scheme, switch between Intensity, Reps, and Sets, select a week, and adjust its value. Exercises assigned to that scheme inherit the entire curve. This is the main reuse mechanism: change a shared curve once instead of editing every exercise week by week.
A simple example
Section titled “A simple example”Suppose Primary uses 4 × 5 at 80% in week 3. Back Squat, Bench Press, and Deadlift can all use Primary, but each athlete’s load is calculated from the target for that exercise on their assignment.
For an athlete with a 150 kg Back Squat target, week 3 prescribes 120 kg before load rounding. Another athlete can follow the same program with a 100 kg target and receive 80 kg. The shared training logic stays the same.
Add days and exercise slots
Section titled “Add days and exercise slots”Open each day and add exercises from the library. You can also enter a custom name. Each exercise card is a slot in the program: the same exercise can appear on multiple days or in more than one phase with different settings.
For each slot:
- Choose the progression scheme it follows.
- Set Applies if it should run for only part of the block.
- Add a coaching note, RPE target, or superset link when useful.
- Choose what its intensity percentage reads from.
- Open its progression editor only when that exercise needs to depart from the shared scheme.
Use the whole-program preview to check exercise order, week ranges, schemes, sets, reps, and intensity before saving.
Use exceptions deliberately
Section titled “Use exceptions deliberately”The scheme should describe the normal pattern. Use an exercise-specific override for a real exception—for example, fewer sets of Deadlift than the other Primary lifts, or a lower percentage for a technically demanding variation.
Choose the pencil on an exercise to open Progression, select the metric and week, and enter the exception. Overridden values are highlighted in red. Reset removes the exercise’s overrides and reconnects it fully to the scheme.
If many exercises need the same exceptions, that is usually a sign that they should have their own scheme.
For the exact rules behind this calculation, including other-lift and bodyweight bases, RPE-only work, and timed holds, read Intensity targets and timed holds.
Assign the program
Section titled “Assign the program”After saving, choose Assign to athlete from the confirmation or from the program’s menu.
- Select an athlete who is waiting for a program.
- Review the target weights that Cleanpull can seed from their tracked, manual, or estimated maxes.
- Edit a target, clear it for athlete-selected loading, or copy it to repeated slots of the same lift.
- Set the hold-duration targets for timed exercises.
- Set the athlete’s current week and day if they are not starting at week 1, day 1.
- Preview the prescription and choose Assign.
Targets are optional and belong to the assignment. Two athletes can therefore use the same program with different loads. If a weighted slot has no target, the athlete enters the load they work at; a target RPE can provide the effort prescription.
Change, duplicate, or archive a program
Section titled “Change, duplicate, or archive a program”- To move an athlete to a different block, open Roster → athlete → Program → Change program.
- To reuse a block while preserving the original, open its menu and choose Duplicate.
- To remove a program from the active Programs list, choose Archive. Existing assignments keep their program.
Be deliberate when editing a program already in use. A workout that has already started keeps the prescription it began with; later sessions use the current assignment and program state.