Documentation Index
Fetch the complete documentation index at: https://docs.ironcoaching.app/docs/llms.txt
Use this file to discover all available pages before exploring further.
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 — see Reordering below
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.
Reordering: weeks, days, blocks, exercises
The builder uses grip handles (the ⋮⋮ icon) for every drag-to-reorder gesture. Each grip moves a different unit, so dragging is always predictable — you’ll never accidentally merge or delete something while reordering.
| Grip | What it moves | Where it is |
|---|
| Week grip | The whole week (and all its days) | Next to the week title |
| Day grip | A training day (and all its blocks/exercises) | Next to the D1 / D2 label inside each day card |
| Block grip | A multi-exercise block / superset (and all its exercises) | Next to the block label A / B / C on multi-exercise blocks |
| Exercise grip | A single exercise within its block, or — when the exercise is alone in its block — the whole single-exercise block | At the very left of every exercise row |
Days between weeks
Drag a day’s grip handle from one week into another to move the entire day across. Day numbers re-sequence automatically in both weeks.
Empty weeks
A newly-created week starts with a single empty Day 1. If you drag the only day out, the empty week shows a dashed drop zone reading “Drop a day here, or click + Add Training Day below” — drag any day from another week onto it, or click Add Training Day to create a fresh one.
Single-exercise vs multi-exercise drag
When every block has a single exercise — the most common shape for non-superset programs — dragging an exercise grip moves the whole block. So if your day reads Bear Crawl / Bench Dips / Cable Front Raise (each in its own block), dragging Cable’s grip to the top reorders to Cable / Bear Crawl / Bench Dips. No supersets are created.
When a block has 2+ exercises (a superset, triset, etc.), the exercise grip is constrained to within that block. Use the block grip on the block label to move the whole superset around. To pull an exercise out of a superset, delete it from the block and add it elsewhere.
If you want to merge two single exercises into a superset, don’t drag — use + Superset with… under the exercise (see Exercise Blocks). Drag is always for moving things, never for grouping them.
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.
Intensity (RPE or RIR — auto-detected)
The intensity column accepts both RPE and RIR — type either format on any row and it routes to the right field automatically:
@8, @7.5-8, @9 — stored as RPE
2 RIR, 1-2 RIR, 0, 1, 2 RIR — stored as RIR
- Bare numbers
≤ 4 are interpreted as RIR; everything else as RPE
You can mix units within the same program — coaches commonly prescribe RPE for the main lifts and RIR for accessories on the same day. There’s no per-program toggle — the parser handles both cases.
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.
Converting a single exercise into a superset
The fastest way to make a superset is to start from a single-exercise block and add a second exercise to it:
- Find the exercise you want to pair
- Click + Superset with… below the exercise row
- Pick the second exercise from the picker that opens
The block automatically gains the superset chrome — block label A / B, type selector (“Straight Sets” by default — change to Superset, Tri-set, etc.), and rest fields. Add more exercises with + Add exercise to A.
Creating a Block
- Click Add Exercise at the bottom of any training day to create a new single-exercise block
- Or use + Superset with… above to convert an existing exercise into a multi-exercise block
- 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”).
Grid view (snapshot)
Click the Grid button at the top of the weeks section to switch from the default List editor into a read-only week × day matrix. Each cell shows the day name, exercise count, and the first three exercise names. Useful for scanning a long block at a glance — switch back to List to keep editing.
Folders
Group programs in your library into folders for easier scanning across blocks, athletes, or specialties.
- Go to Dashboard > Programs
- Click New Folder in the top right and name it (e.g. “Powerlifting templates”, “Block 1 — Hypertrophy”)
- On any program card, open the ⋮ menu and pick a folder under Move to folder
Programs without a folder show under an Unfiled section. Deleting a folder is non-destructive — programs inside flow back to Unfiled.