Building a Program
The program builder is a spreadsheet-like editor for creating structured training programs.
Creating a New Program
- Go to Dashboard > Programs
- Click New Program
- Enter a name and description
Program Structure
Programs are organized into weeks, with training days nested inside each week:
Program
├── Week 1: Base Building
│ ├── Day 1: Upper Body
│ │ ├── Block A (Superset)
│ │ │ ├── A1: Bench Press — 4×8 @ RPE 7
│ │ │ └── A2: Barbell Row — 4×8 @ RPE 7
│ │ ├── Block B (Straight)
│ │ │ └── Overhead Press — 3×10 @ RPE 7
│ │ └── ...
│ ├── Day 2: Lower Body
│ │ ├── Block A (Straight)
│ │ │ └── Squat — 5×5 @ RPE 8 [STR]
│ │ └── ...
│ └── Day 3: ...
├── Week 2: ...
└── Week 3: ...
Existing programs are automatically migrated into “Week 1” — no action needed. Everything carries over exactly as it was.
Managing Weeks
Programs are organized into weeks. You can:
- Add a week — click Add Week at the bottom of the program
- Duplicate a week — copies all days and exercises in that week
- Remove a week — deletes the week and all its days (with confirmation)
- Reorder weeks — drag a week header to move it up or down
Collapsing Weeks
Click the chevron icon on any week header to collapse or expand it. Programs with 4 or more weeks default to collapsed so the builder stays manageable.
Each week has two optional fields you can set from the week header:
- Deload toggle — marks the week as a deload week (shown as a yellow “DELOAD” badge). Visible to athletes in the app and in exports.
- Week notes — a free-text field for focus areas, intensity guidance, or coaching cues (e.g., “Build to a top single”, “Volume accumulation — keep RPE conservative”).
Day Numbering
Day numbers reset within each week (Day 1, Day 2, Day 3 per week), so athletes always know which day of that week they’re on — regardless of total program length.
Dragging Days Between Weeks
You can drag any training day from one week and drop it into another. Use this to restructure a program without recreating days from scratch.
Adding Training Days
Click Add Day to create a new training day. Each day has:
- Name — e.g., “Upper Body A”, “Pull Day”, “Competition Squat”
- Day Number — ordering within the program
Adding Exercises
For each exercise, you can set:
| Field | Description | Example |
|---|
| Name | Exercise name | Barbell Bench Press |
| Sets | Number of sets | 4 |
| Reps | Target reps (or range) | 8 or “6-8” |
| RPE | Rate of perceived exertion (single, range, or per-set) | @8 or @7.5-8 |
| RIR | Reps in reserve (single, range, or per-set) | 3 or 1-2 or 0, 1, 2 |
| Rest | Rest period in seconds | 180 |
| Back-off % | Percentage drop from top set | 10 |
| Notes | Coaching notes | ”Pause at bottom” |
Reps can be a range like “8-12” — this gives athletes flexibility while maintaining the intent.
RPE and RIR Ranges
RPE and RIR fields accept more than a single value:
| Format | Example | Use Case |
|---|
| Single value | @8 / 3 RIR | Fixed intensity target |
| Range | @7.5-8 / 1-2 RIR | Intensity window across sets |
| Per-set values | 7, 8, 9 RPE / 0, 1, 2 RIR | Progressively harder sets |
Per-set RIR values like “2, 1, 0” work well for straight sets where you push closer to failure each set. Ranges like “@7-8” are better for giving athletes a target zone when loads vary.
Exercise Metric Presets
Not every exercise uses sets × reps × weight. Select a metric preset to change the columns for each exercise:
| Preset | Label | Columns |
|---|
| Strength | STR | Sets, Reps, Weight, RIR/RPE |
| Timed | TMD | Sets, Duration, Weight, RIR/RPE |
| Distance | DST | Sets, Distance, Weight, RIR/RPE |
| Cardio | CRD | Duration, Distance, —, RPE |
| Timed Hold | HLD | Sets, Duration, —, RPE |
| AMRAP | AMRAP | Sets, Time Cap, —, RPE |
| EMOM | EMOM | Rounds, Reps, Weight, Interval |
The default is Strength (STR). Change the preset by clicking the metric badge on any exercise row.
Use CRD for conditioning work like rowing or cycling, HLD for planks and carries, and EMOM for interval training.
Exercise Blocks (Supersets, Circuits)
Group exercises into blocks to create supersets, trisets, giant sets, or circuits.
Creating a Block
- Click Add Block on any training day
- Select the block type:
| Type | Description |
|---|
| Straight Sets | Default — exercises performed individually |
| Superset | 2 exercises alternated with no rest between |
| Tri-set | 3 exercises performed back-to-back |
| Giant Set | 4+ exercises performed back-to-back |
| Circuit | Multiple exercises cycled through for rounds |
- Add exercises within the block — they’re automatically labeled A, B, C, etc.
Block Rest Settings
Each block has two rest options:
- Rest Between — seconds of rest between exercises within the block (e.g., 0 for true supersets)
- Rest After — seconds of rest after completing all exercises in the block before moving on
For antagonist supersets (e.g., bench press + barbell row), set Rest Between to 0 and Rest After to 90–120 seconds.
Video Demonstrations
Add a YouTube or video URL to any exercise for athlete reference.
- Click on an exercise row to expand it
- Toggle Video URL on
- Paste the YouTube link (e.g.,
https://youtube.com/watch?v=...)
Athletes see a play button next to the exercise name in their IronLedger app, linking directly to the video.
Optionally set program-level information:
- Goal — e.g., “Hypertrophy”, “Strength”, “Peaking”
- Phase — e.g., “Accumulation”, “Intensification”
- Block Length — e.g., “4 weeks”
- Nutrition — any dietary notes
Templates
Toggle Is Template to save a program as a reusable template. Templates can be duplicated and customized for individual athletes.
Add tags to organize programs (e.g., “beginner”, “powerlifting”, “12-week”).