Workout Template Examples
Browse example workout templates from simple to complex.
minimal.json
The smallest valid template — just a name and one exercise.
json
{
"name": "Push Day",
"exercises": [
{
"exercise": { "name": "Bench Press" },
"sets": [
{ "targetReps": 5 },
{ "targetReps": 5 },
{ "targetReps": 5 }
]
}
]
}percentage-based.json
A 5/3/1 style template using percentage-based loading.
json
{
"name": "531 Week 1 Squat Day",
"notes": "Wendler 5/3/1 week 1 - 3x5 at 65/75/85%",
"exercises": [
{
"exercise": {
"name": "Barbell Back Squat",
"equipment": "barbell",
"category": "legs"
},
"order": 1,
"sets": [
{ "type": "warmup", "targetReps": 5, "percentage": 40, "percentageOf": "1RM" },
{ "type": "warmup", "targetReps": 5, "percentage": 50, "percentageOf": "1RM" },
{ "type": "warmup", "targetReps": 3, "percentage": 60, "percentageOf": "1RM" },
{ "type": "working", "targetReps": 5, "percentage": 65, "percentageOf": "1RM", "restSeconds": 180 },
{ "type": "working", "targetReps": 5, "percentage": 75, "percentageOf": "1RM", "restSeconds": 180 },
{ "type": "working", "targetReps": 5, "percentage": 85, "percentageOf": "1RM", "notes": "AMRAP on last set", "restSeconds": 180 }
]
},
{
"exercise": {
"name": "Barbell Back Squat",
"equipment": "barbell",
"category": "legs"
},
"order": 2,
"notes": "BBB supplemental - 5x10 at 50%",
"sets": [
{ "targetReps": 10, "percentage": 50, "percentageOf": "1RM", "restSeconds": 90 },
{ "targetReps": 10, "percentage": 50, "percentageOf": "1RM", "restSeconds": 90 },
{ "targetReps": 10, "percentage": 50, "percentageOf": "1RM", "restSeconds": 90 },
{ "targetReps": 10, "percentage": 50, "percentageOf": "1RM", "restSeconds": 90 },
{ "targetReps": 10, "percentage": 50, "percentageOf": "1RM", "restSeconds": 90 }
]
},
{
"exercise": {
"name": "Leg Curl",
"equipment": "machine",
"category": "legs"
},
"order": 3,
"sets": [
{ "targetRepsMin": 10, "targetRepsMax": 15 },
{ "targetRepsMin": 10, "targetRepsMax": 15 },
{ "targetRepsMin": 10, "targetRepsMax": 15 }
]
},
{
"exercise": {
"name": "Ab Wheel Rollout",
"equipment": "bodyweight",
"category": "core"
},
"order": 4,
"sets": [
{ "targetRepsMin": 10, "targetRepsMax": 20 },
{ "targetRepsMin": 10, "targetRepsMax": 20 },
{ "targetRepsMin": 10, "targetRepsMax": 20 }
]
}
]
}Key features shown:
- Percentage-based loading:
percentage+percentageOf(e.g., 85% of 1RM) - Rep ranges:
targetRepsMinandtargetRepsMaxfor hypertrophy accessories - Set types:
warmupvsworkingsets - Rest periods:
restSecondsfor each set - Exercise ordering:
orderfield for explicit sequencing
Rep Ranges
Use rep ranges for flexible programming:
json
{
"name": "Hypertrophy Day",
"exercises": [
{
"exercise": { "name": "Lat Pulldown" },
"sets": [
{ "targetRepsMin": 8, "targetRepsMax": 12, "targetRPE": 8 },
{ "targetRepsMin": 8, "targetRepsMax": 12, "targetRPE": 8 },
{ "targetRepsMin": 8, "targetRepsMax": 12, "targetRPE": 9 }
]
}
]
}Absolute Weights
For fixed-weight templates:
json
{
"name": "Fixed Weight Day",
"exercises": [
{
"exercise": { "name": "Bench Press" },
"sets": [
{ "targetReps": 5, "targetWeight": 100, "unit": "kg" },
{ "targetReps": 5, "targetWeight": 100, "unit": "kg" },
{ "targetReps": 5, "targetWeight": 100, "unit": "kg" }
]
}
]
}More Examples
See all template examples in the GitHub repository.