This tool allows you to quickly build your weightlifting programs, ensure you have proper weekly volume per muscle group , and balance it with the time you spend in a gym . You can build multi-week programs, plan your mesocycles, deload weeks, testing 1RM weeks, and see the weekly undulation of volume and intensity of each exercise on a graph.
Set the program name, create weeks and days, type the list of exercises for each day, putting each exercise on a new line, along with the number of sets and reps after slash (/) character, like this:
Squat / 3x3-5
Romanian Deadlift / 3x8
Autocomplete will help you with the exercise names. You can also create custom exercises if they're missing in the library.
On the right you'll see Weekly Stats , where you can see the number of sets per week per muscle group, whether you're in the recommended range (indicated by color), strength/hypertrophy split, and if you hover a mouse over the numbers - you'll see what exercises contribute to that number, and how much.
The exercise syntax supports RPEs , percentage of 1RM , rest timers, various progressive overload types, etc. Read more about the features in the docs !
When you're done, you can convert this program to Liftosaur program, and run what you planned in the gym, using the Liftosaur app !
To use this program:
Install Liftosaur app Copy the link to this program by clicking on below Import the link in the app, on the Choose Program screen. Week Stats
Total Sets: 96
Strength Sets: 16, 17%
Hypertrophy Sets: 80, 83%
Upper Sets: 60 (8s , 52h ) , 4d
Lower Sets: 28 (8s , 20h ) , 4d
Core Sets: 8 (8h ) , 2d
Push Sets: 36 (8s , 28h ) , 4d
Pull Sets: 32 (4s , 28h ) , 4d
Legs Sets: 20 (4s , 16h ) , 4d
Shoulders: 28↓ (6s , 22h ) , 4d
Triceps: 18↓ (4s , 14h ) , 4d
Back: 22↓ (2s , 20h ) , 4d
Abs: 8↑ (8h ) , 2d
Glutes: 18↓ (6s , 12h ) , 4d
Hamstrings: 18↓ (4s , 14h ) , 4d
Quadriceps: 26↓ (6s , 20h ) , 4d
Chest: 30↓ (6s , 24h ) , 4d
Biceps: 12 (12h ) , 4d
Calves: 12 (4s , 8h ) , 4d
Forearms: 14↓ (14h ) , 4d
{"maxWidth":2400,"url":"/planner","isLoggedIn":false}
{"exportedProgram":{"customExercises":{},"program":{"deletedExercises":[],"planner":{"name":"P-Zero Full Body - Superset T3's","vtype":"planner","weeks":[{"name":"week1","days":[{"name":"day1","exerciseText":"// T1 - Squat\n// Set 1RM before first session. Adjust warmup sets as needed.\nSquat_T1: Squat / warmup: 1x10 45lb, 1x5 95lb, 1x3 135lb / 3x4 72% 180s, 1x4+ 72% 180s / 3x3 72% 180s, 1x3+ 72% 180s / 3x2 72% 180s, 1x2+ 72% 180s / progress: custom(stage1weight: 0lb, increase: 5lb) {~\n if (completedReps[4] >= reps[4] + 1) {\n weights = completedWeights[4] + state.increase\n } else {\n if (setVariationIndex == 1) {\n state.stage1weight = completedWeights[4]\n setVariationIndex = 2\n weights = completedWeights[4] + state.increase\n } else if (setVariationIndex == 2) {\n setVariationIndex = 3\n weights = completedWeights[4] + state.increase\n } else {\n setVariationIndex = 1\n weights = state.stage1weight + state.increase\n }\n }\n~}\n\n// T2 - Overhead Press\n// Set 1RM before first session. Adjust warmup sets as needed.\nOverheadPress_T2: Overhead Press, Barbell / warmup: 1x10 45lb / 4x12 48% 120s / 4x10 48% 120s / 4x8 48% 120s / progress: custom(stage1weight: 0lb, increase: 5lb) {~\n if (completedReps >= reps) {\n weights = completedWeights[1] + state.increase\n } else {\n if (setVariationIndex == 1) {\n state.stage1weight = completedWeights[1]\n setVariationIndex = 2\n weights = completedWeights[1] + state.increase\n } else if (setVariationIndex == 2) {\n setVariationIndex = 3\n weights = completedWeights[1] + state.increase\n } else {\n setVariationIndex = 1\n weights = state.stage1weight + state.increase\n }\n }\n~}\n\n// Uses 3-stage progression:\n// Stage 1: 4x15+ (goal: 60 reps)\n// Stage 2: 4x12+ (goal: 45 reps)\n// Stage 3: 3x10+ (goal: 30 reps)\n// All sets are AMRAP. Advance to next stage if you miss the rep target. Return to Stage 1 with more weight after Stage 3.\nDBKrocRow_T3A: Bent Over One Arm Row, Dumbbell / 4x15+ 60% 90s / 4x12+ 60% 90s / 3x10+ 60% 90s / progress: custom(stage: 1, stage1weight: 0lb, increase: 5lb, savedSet: 1) {~\n if (setVariationIndex == 1) {\n if (completedReps[1] + completedReps[2] + completedReps[3] + completedReps[4] >= 60) {\n weights = completedWeights[4] + state.increase\n } else {\n state.stage = 2\n setVariationIndex = 2\n state.savedSet = 2\n weights = completedWeights[4]\n }\n } else if (setVariationIndex == 2) {\n if (completedReps[1] + completedReps[2] + completedReps[3] + completedReps[4] < 45) {\n state.stage = 3\n setVariationIndex = 3\n state.savedSet = 3\n weights = completedWeights[4]\n } else {\n weights = completedWeights[4] + state.increase\n }\n } else {\n weights = state.stage1weight + state.increase\n state.stage1weight = weights\n setVariationIndex = 1\n state.stage = 1\n state.savedSet = 1\n }\n~}\n\n// Uses 3-stage progression:\n// Stage 1: 4x15+ (goal: 60 reps)\n// Stage 2: 4x12+ (goal: 45 reps)\n// Stage 3: 3x10+ (goal: 30 reps)\n// All sets are AMRAP. Advance to next stage if you miss the rep target. Return to Stage 1 with more weight after Stage 3.\nDBSeatedOHPress_T3B: Shoulder Press, Dumbbell / 4x15+ 60% 90s / 4x12+ 60% 90s / 3x10+ 60% 90s / progress: custom(stage: 1, stage1weight: 0lb, increase: 5lb, savedSet: 1) {~\n if (setVariationIndex == 1) {\n if (completedReps[1] + completedReps[2] + completedReps[3] + completedReps[4] >= 60) {\n weights = completedWeights[4] + state.increase\n } else {\n state.stage = 2\n setVariationIndex = 2\n state.savedSet = 2\n weights = completedWeights[4]\n }\n } else if (setVariationIndex == 2) {\n if (completedReps[1] + completedReps[2] + completedReps[3] + completedReps[4] < 45) {\n state.stage = 3\n setVariationIndex = 3\n state.savedSet = 3\n weights = completedWeights[4]\n } else {\n weights = completedWeights[4] + state.increase\n }\n } else {\n weights = state.stage1weight + state.increase\n state.stage1weight = weights\n setVariationIndex = 1\n state.stage = 1\n state.savedSet = 1\n }\n~}\n\n// Uses 3-stage progression:\n// Stage 1: 4x15+ (goal: 60 reps)\n// Stage 2: 4x12+ (goal: 45 reps)\n// Stage 3: 3x10+ (goal: 30 reps)\n// All sets are AMRAP. Advance to next stage if you miss the rep target. Return to Stage 1 with more weight after Stage 3.\nTricpePushDown_T3C: Triceps Pushdown, Cable / 4x15+ 60% 90s / 4x12+ 60% 90s / 3x10+ 60% 90s / progress: custom(stage: 1, stage1weight: 0lb, increase: 5lb, savedSet: 1) {~\n if (setVariationIndex == 1) {\n if (completedReps[1] + completedReps[2] + completedReps[3] + completedReps[4] >= 60) {\n weights = completedWeights[4] + state.increase\n } else {\n state.stage = 2\n setVariationIndex = 2\n state.savedSet = 2\n weights = completedWeights[4]\n }\n } else if (setVariationIndex == 2) {\n if (completedReps[1] + completedReps[2] + completedReps[3] + completedReps[4] < 45) {\n state.stage = 3\n setVariationIndex = 3\n state.savedSet = 3\n weights = completedWeights[4]\n } else {\n weights = completedWeights[4] + state.increase\n }\n } else {\n weights = state.stage1weight + state.increase\n state.stage1weight = weights\n setVariationIndex = 1\n state.stage = 1\n state.savedSet = 1\n }\n~}\n\n// Uses 3-stage progression:\n// Stage 1: 4x15+ (goal: 60 reps)\n// Stage 2: 4x12+ (goal: 45 reps)\n// Stage 3: 3x10+ (goal: 30 reps)\n// All sets are AMRAP. Advance to next stage if you miss the rep target. Return to Stage 1 with more weight after Stage 3.\nHangingLegRaise_T3D: Hanging Leg Raise, Bodyweight / 4x15+ 60% 90s / 4x12+ 60% 90s / 3x10+ 60% 90s / progress: custom(stage: 1, stage1weight: 0lb, increase: 5lb, savedSet: 1) {~\n if (setVariationIndex == 1) {\n if (completedReps[1] + completedReps[2] + completedReps[3] + completedReps[4] >= 60) {\n weights = completedWeights[4] + state.increase\n } else {\n state.stage = 2\n setVariationIndex = 2\n state.savedSet = 2\n weights = completedWeights[4]\n }\n } else if (setVariationIndex == 2) {\n if (completedReps[1] + completedReps[2] + completedReps[3] + completedReps[4] < 45) {\n state.stage = 3\n setVariationIndex = 3\n state.savedSet = 3\n weights = completedWeights[4]\n } else {\n weights = completedWeights[4] + state.increase\n }\n } else {\n weights = state.stage1weight + state.increase\n state.stage1weight = weights\n setVariationIndex = 1\n state.stage = 1\n state.savedSet = 1\n }\n~}"},{"name":"day2","exerciseText":"// T1 - Deadlift\n// Set 1RM before first session. Adjust warmup sets as needed.\nDeadlift_T1: Deadlift / warmup: 1x5 135lb, 1x5 135lb, 1x3 155lb, 1x1 175lb / 3x4 72% 180s, 1x4+ 72% 180s / 3x3 72% 180s, 1x3+ 72% 180s / 3x2 72% 180s, 1x2+ 72% 180s / progress: custom(stage1weight: 0lb, increase: 5lb) {~\n if (completedReps[4] >= reps[4] + 1) {\n weights = completedWeights[4] + state.increase\n } else {\n if (setVariationIndex == 1) {\n state.stage1weight = completedWeights[4]\n setVariationIndex = 2\n weights = completedWeights[4] + state.increase\n } else if (setVariationIndex == 2) {\n setVariationIndex = 3\n weights = completedWeights[4] + state.increase\n } else {\n setVariationIndex = 1\n weights = state.stage1weight + state.increase\n }\n }\n~}\n\n// T2 - Bench Press\n// Set 1RM before first session. Adjust warmup sets as needed.\nBenchPress_T2: Bench Press, Barbell / warmup: 1x10 45lb, 1x3 90lb / 4x12 48% 120s / 4x10 48% 120s / 4x8 48% 120s / progress: custom(stage1weight: 0lb, increase: 5lb) {~\n if (completedReps >= reps) {\n weights = completedWeights[1] + state.increase\n } else {\n if (setVariationIndex == 1) {\n state.stage1weight = completedWeights[1]\n setVariationIndex = 2\n weights = completedWeights[1] + state.increase\n } else if (setVariationIndex == 2) {\n setVariationIndex = 3\n weights = completedWeights[1] + state.increase\n } else {\n setVariationIndex = 1\n weights = state.stage1weight + state.increase\n }\n }\n~}\n\n// Uses 3-stage progression:\n// Stage 1: 4x15+ (goal: 60 reps)\n// Stage 2: 4x12+ (goal: 45 reps)\n// Stage 3: 3x10+ (goal: 30 reps)\n// All sets are AMRAP. Advance to next stage if you miss the rep target. Return to Stage 1 with more weight after Stage 3.\nDBShrug_T3A: Shrug, Dumbbell / 4x15+ 60% 90s / 4x12+ 60% 90s / 3x10+ 60% 90s / progress: custom(stage: 1, stage1weight: 0lb, increase: 5lb, savedSet: 1) {~\n if (setVariationIndex == 1) {\n if (completedReps[1] + completedReps[2] + completedReps[3] + completedReps[4] >= 60) {\n weights = completedWeights[4] + state.increase\n } else {\n state.stage = 2\n setVariationIndex = 2\n state.savedSet = 2\n weights = completedWeights[4]\n }\n } else if (setVariationIndex == 2) {\n if (completedReps[1] + completedReps[2] + completedReps[3] + completedReps[4] < 45) {\n state.stage = 3\n setVariationIndex = 3\n state.savedSet = 3\n weights = completedWeights[4]\n } else {\n weights = completedWeights[4] + state.increase\n }\n } else {\n weights = state.stage1weight + state.increase\n state.stage1weight = weights\n setVariationIndex = 1\n state.stage = 1\n state.savedSet = 1\n }\n~}\n\n// Uses 3-stage progression:\n// Stage 1: 4x15+ (goal: 60 reps)\n// Stage 2: 4x12+ (goal: 45 reps)\n// Stage 3: 3x10+ (goal: 30 reps)\n// All sets are AMRAP. Advance to next stage if you miss the rep target. Return to Stage 1 with more weight after Stage 3.\nDBInclineBenchPress_T3B: Incline Bench Press, Dumbbell / 4x15+ 60% 90s / 4x12+ 60% 90s / 3x10+ 60% 90s / progress: custom(stage: 1, stage1weight: 0lb, increase: 5lb, savedSet: 1) {~\n if (setVariationIndex == 1) {\n if (completedReps[1] + completedReps[2] + completedReps[3] + completedReps[4] >= 60) {\n weights = completedWeights[4] + state.increase\n } else {\n state.stage = 2\n setVariationIndex = 2\n state.savedSet = 2\n weights = completedWeights[4]\n }\n } else if (setVariationIndex == 2) {\n if (completedReps[1] + completedReps[2] + completedReps[3] + completedReps[4] < 45) {\n state.stage = 3\n setVariationIndex = 3\n state.savedSet = 3\n weights = completedWeights[4]\n } else {\n weights = completedWeights[4] + state.increase\n }\n } else {\n weights = state.stage1weight + state.increase\n state.stage1weight = weights\n setVariationIndex = 1\n state.stage = 1\n state.savedSet = 1\n }\n~}\n\n// Uses 3-stage progression:\n// Stage 1: 4x15+ (goal: 60 reps)\n// Stage 2: 4x12+ (goal: 45 reps)\n// Stage 3: 3x10+ (goal: 30 reps)\n// All sets are AMRAP. Advance to next stage if you miss the rep target. Return to Stage 1 with more weight after Stage 3.\nDBHammerCurl_T3C: Hammer Curl, Dumbbell / 4x15+ 60% 90s / 4x12+ 60% 90s / 3x10+ 60% 90s / progress: custom(stage: 1, stage1weight: 0lb, increase: 5lb, savedSet: 1) {~\n if (setVariationIndex == 1) {\n if (completedReps[1] + completedReps[2] + completedReps[3] + completedReps[4] >= 60) {\n weights = completedWeights[4] + state.increase\n } else {\n state.stage = 2\n setVariationIndex = 2\n state.savedSet = 2\n weights = completedWeights[4]\n }\n } else if (setVariationIndex == 2) {\n if (completedReps[1] + completedReps[2] + completedReps[3] + completedReps[4] < 45) {\n state.stage = 3\n setVariationIndex = 3\n state.savedSet = 3\n weights = completedWeights[4]\n } else {\n weights = completedWeights[4] + state.increase\n }\n } else {\n weights = state.stage1weight + state.increase\n state.stage1weight = weights\n setVariationIndex = 1\n state.stage = 1\n state.savedSet = 1\n }\n~}\n\n// Uses 3-stage progression:\n// Stage 1: 4x15+ (goal: 60 reps)\n// Stage 2: 4x12+ (goal: 45 reps)\n// Stage 3: 3x10+ (goal: 30 reps)\n// All sets are AMRAP. Advance to next stage if you miss the rep target. Return to Stage 1 with more weight after Stage 3.\nSeatedLegCurl_T3D: Seated Leg Curl, Leverage Machine / 4x15+ 60% 90s / 4x12+ 60% 90s / 3x10+ 60% 90s / progress: custom(stage: 1, stage1weight: 0lb, increase: 5lb, savedSet: 1) {~\n if (setVariationIndex == 1) {\n if (completedReps[1] + completedReps[2] + completedReps[3] + completedReps[4] >= 60) {\n weights = completedWeights[4] + state.increase\n } else {\n state.stage = 2\n setVariationIndex = 2\n state.savedSet = 2\n weights = completedWeights[4]\n }\n } else if (setVariationIndex == 2) {\n if (completedReps[1] + completedReps[2] + completedReps[3] + completedReps[4] < 45) {\n state.stage = 3\n setVariationIndex = 3\n state.savedSet = 3\n weights = completedWeights[4]\n } else {\n weights = completedWeights[4] + state.increase\n }\n } else {\n weights = state.stage1weight + state.increase\n state.stage1weight = weights\n setVariationIndex = 1\n state.stage = 1\n state.savedSet = 1\n }\n~}"},{"name":"day3","exerciseText":"// T1 - Overhead Press\n// Set 1RM before first session. Adjust warmup sets as needed.\nOHP_T1: Overhead Press / warmup: 1x10 45lb, 1x5 65lb, 1x3 75lb / 3x4 72% 180s, 1x4+ 72% 180s / 3x3 72% 180s, 1x3+ 72% 180s / 3x2 72% 180s, 1x2+ 72% 180s / progress: custom(stage1weight: 0lb, increase: 5lb) {~\n if (completedReps[4] >= reps[4] + 1) {\n weights = completedWeights[4] + state.increase\n } else {\n if (setVariationIndex == 1) {\n state.stage1weight = completedWeights[4]\n setVariationIndex = 2\n weights = completedWeights[4] + state.increase\n } else if (setVariationIndex == 2) {\n setVariationIndex = 3\n weights = completedWeights[4] + state.increase\n } else {\n setVariationIndex = 1\n weights = state.stage1weight + state.increase\n }\n }\n~}\n\n// T2 - Squat\n// Set 1RM before first session. Adjust warmup sets as needed.\nSquat_T2: Squat, Barbell / warmup: 1x10 45lb, 1x3 95lb, 1x3 95lb / 4x12 48% 120s / 4x10 48% 120s / 4x8 48% 120s / progress: custom(stage1weight: 0lb, increase: 5lb) {~\n if (completedReps >= reps) {\n weights = completedWeights[1] + state.increase\n } else {\n if (setVariationIndex == 1) {\n state.stage1weight = completedWeights[1]\n setVariationIndex = 2\n weights = completedWeights[1] + state.increase\n } else if (setVariationIndex == 2) {\n setVariationIndex = 3\n weights = completedWeights[1] + state.increase\n } else {\n setVariationIndex = 1\n weights = state.stage1weight + state.increase\n }\n }\n~}\n\n// Uses 3-stage progression:\n// Stage 1: 4x15+ (goal: 60 reps)\n// Stage 2: 4x12+ (goal: 45 reps)\n// Stage 3: 3x10+ (goal: 30 reps)\n// All sets are AMRAP. Advance to next stage if you miss the rep target. Return to Stage 1 with more weight after Stage 3.\nChestFlyMachine_T3A: Chest Fly, Leverage Machine / 4x15+ 60% 90s / 4x12+ 60% 90s / 3x10+ 60% 90s / progress: custom(stage: 1, stage1weight: 0lb, increase: 5lb, savedSet: 1) {~\n if (setVariationIndex == 1) {\n if (completedReps[1] + completedReps[2] + completedReps[3] + completedReps[4] >= 60) {\n weights = completedWeights[4] + state.increase\n } else {\n state.stage = 2\n setVariationIndex = 2\n state.savedSet = 2\n weights = completedWeights[4]\n }\n } else if (setVariationIndex == 2) {\n if (completedReps[1] + completedReps[2] + completedReps[3] + completedReps[4] < 45) {\n state.stage = 3\n setVariationIndex = 3\n state.savedSet = 3\n weights = completedWeights[4]\n } else {\n weights = completedWeights[4] + state.increase\n }\n } else {\n weights = state.stage1weight + state.increase\n state.stage1weight = weights\n setVariationIndex = 1\n state.stage = 1\n state.savedSet = 1\n }\n~}\n\n// Uses 3-stage progression:\n// Stage 1: 4x15+ (goal: 60 reps)\n// Stage 2: 4x12+ (goal: 45 reps)\n// Stage 3: 3x10+ (goal: 30 reps)\n// All sets are AMRAP. Advance to next stage if you miss the rep target. Return to Stage 1 with more weight after Stage 3.\nLatPullDown_T3B: Lat Pulldown, Cable / 4x15+ 60% 90s / 4x12+ 60% 90s / 3x10+ 60% 90s / progress: custom(stage: 1, stage1weight: 0lb, increase: 5lb, savedSet: 1) {~\n if (setVariationIndex == 1) {\n if (completedReps[1] + completedReps[2] + completedReps[3] + completedReps[4] >= 60) {\n weights = completedWeights[4] + state.increase\n } else {\n state.stage = 2\n setVariationIndex = 2\n state.savedSet = 2\n weights = completedWeights[4]\n }\n } else if (setVariationIndex == 2) {\n if (completedReps[1] + completedReps[2] + completedReps[3] + completedReps[4] < 45) {\n state.stage = 3\n setVariationIndex = 3\n state.savedSet = 3\n weights = completedWeights[4]\n } else {\n weights = completedWeights[4] + state.increase\n }\n } else {\n weights = state.stage1weight + state.increase\n state.stage1weight = weights\n setVariationIndex = 1\n state.stage = 1\n state.savedSet = 1\n }\n~}\n\n// Uses 3-stage progression:\n// Stage 1: 4x15+ (goal: 60 reps)\n// Stage 2: 4x12+ (goal: 45 reps)\n// Stage 3: 3x10+ (goal: 30 reps)\n// All sets are AMRAP. Advance to next stage if you miss the rep target. Return to Stage 1 with more weight after Stage 3.\nLegExtension_T3C: Leg Extension, Leverage Machine / 4x15+ 60% 90s / 4x12+ 60% 90s / 3x10+ 60% 90s / progress: custom(stage: 1, stage1weight: 0lb, increase: 5lb, savedSet: 1) {~\n if (setVariationIndex == 1) {\n if (completedReps[1] + completedReps[2] + completedReps[3] + completedReps[4] >= 60) {\n weights = completedWeights[4] + state.increase\n } else {\n state.stage = 2\n setVariationIndex = 2\n state.savedSet = 2\n weights = completedWeights[4]\n }\n } else if (setVariationIndex == 2) {\n if (completedReps[1] + completedReps[2] + completedReps[3] + completedReps[4] < 45) {\n state.stage = 3\n setVariationIndex = 3\n state.savedSet = 3\n weights = completedWeights[4]\n } else {\n weights = completedWeights[4] + state.increase\n }\n } else {\n weights = state.stage1weight + state.increase\n state.stage1weight = weights\n setVariationIndex = 1\n state.stage = 1\n state.savedSet = 1\n }\n~}\n\n// Uses 3-stage progression:\n// Stage 1: 4x15+ (goal: 60 reps)\n// Stage 2: 4x12+ (goal: 45 reps)\n// Stage 3: 3x10+ (goal: 30 reps)\n// All sets are AMRAP. Advance to next stage if you miss the rep target. Return to Stage 1 with more weight after Stage 3.\nHangingLegRaise_T3D: Hanging Leg Raise, Bodyweight / 4x15+ 60% 90s / 4x12+ 60% 90s / 3x10+ 60% 90s / progress: custom(stage: 1, stage1weight: 0lb, increase: 5lb, savedSet: 1) {~\n if (setVariationIndex == 1) {\n if (completedReps[1] + completedReps[2] + completedReps[3] + completedReps[4] >= 60) {\n weights = completedWeights[4] + state.increase\n } else {\n state.stage = 2\n setVariationIndex = 2\n state.savedSet = 2\n weights = completedWeights[4]\n }\n } else if (setVariationIndex == 2) {\n if (completedReps[1] + completedReps[2] + completedReps[3] + completedReps[4] < 45) {\n state.stage = 3\n setVariationIndex = 3\n state.savedSet = 3\n weights = completedWeights[4]\n } else {\n weights = completedWeights[4] + state.increase\n }\n } else {\n weights = state.stage1weight + state.increase\n state.stage1weight = weights\n setVariationIndex = 1\n state.stage = 1\n state.savedSet = 1\n }\n~}"},{"name":"day4","exerciseText":"// T1 - Bench Press\n// Set 1RM before first session. Adjust warmup sets as needed.\nBench_T1: Bench Press / warmup: 1x10 45lb, 1x5 95lb, 1x3 115lb, 1x1 135lb / 3x4 72% 180s, 1x4+72% 180s / 3x3 72% 180s, 1x3+ 72% 180s / 3x2 72% 180s, 1x2+ 72% 180s / progress: custom(stage1weight: 140lb, increase: 5lb) {~\n if (completedReps[4] >= reps[4] + 1) {\n weights = completedWeights[4] + state.increase\n } else {\n if (setVariationIndex == 1) {\n state.stage1weight = completedWeights[4]\n setVariationIndex = 2\n weights = completedWeights[4] + state.increase\n } else if (setVariationIndex == 2) {\n setVariationIndex = 3\n weights = completedWeights[4] + state.increase\n } else {\n setVariationIndex = 1\n weights = state.stage1weight + state.increase\n }\n }\n~}\n\n// T2 - Deadlift\n// Set 1RM before first session. Adjust warmup sets as needed.\nDeadlift_T2: Deadlift, Barbell / warmup: 1x3 135lb, 1x3 135lb / 4x12 48% 120s / 4x10 48% 120s / 4x8 48% 120s / progress: custom(stage1weight: 0lb, increase: 5lb) {~\n if (completedReps >= reps) {\n weights = completedWeights[1] + state.increase\n } else {\n if (setVariationIndex == 1) {\n state.stage1weight = completedWeights[1]\n setVariationIndex = 2\n weights = completedWeights[1] + state.increase\n } else if (setVariationIndex == 2) {\n setVariationIndex = 3\n weights = completedWeights[1] + state.increase\n } else {\n setVariationIndex = 1\n weights = state.stage1weight + state.increase\n }\n }\n~}\n\n// Uses 3-stage progression:\n// Stage 1: 4x15+ (goal: 60 reps)\n// Stage 2: 4x12+ (goal: 45 reps)\n// Stage 3: 3x10+ (goal: 30 reps)\n// All sets are AMRAP. Advance to next stage if you miss the rep target. Return to Stage 1 with more weight after Stage 3.\nDBBenchPress_T3A: Bench Press, Dumbbell / 4x15+ 60% 90s / 4x12+ 60% 90s / 3x10+ 60% 90s / progress: custom(stage: 1, stage1weight: 0lb, increase: 5lb, savedSet: 1) {~\n if (setVariationIndex == 1) {\n if (completedReps[1] + completedReps[2] + completedReps[3] + completedReps[4] >= 60) {\n weights = completedWeights[4] + state.increase\n } else {\n state.stage = 2\n setVariationIndex = 2\n state.savedSet = 2\n weights = completedWeights[4]\n }\n } else if (setVariationIndex == 2) {\n if (completedReps[1] + completedReps[2] + completedReps[3] + completedReps[4] < 45) {\n state.stage = 3\n setVariationIndex = 3\n state.savedSet = 3\n weights = completedWeights[4]\n } else {\n weights = completedWeights[4] + state.increase\n }\n } else {\n weights = state.stage1weight + state.increase\n state.stage1weight = weights\n setVariationIndex = 1\n state.stage = 1\n state.savedSet = 1\n }\n~}\n\n// Uses 3-stage progression:\n// Stage 1: 4x15+ (goal: 60 reps)\n// Stage 2: 4x12+ (goal: 45 reps)\n// Stage 3: 3x10+ (goal: 30 reps)\n// All sets are AMRAP. Advance to next stage if you miss the rep target. Return to Stage 1 with more weight after Stage 3.\nSeatedRow_T3B: Seated Row, Leverage Machine / 4x15+ 60% 90s / 4x12+ 60% 90s / 3x10+ 60% 90s / progress: custom(stage: 1, stage1weight: 0lb, increase: 5lb, savedSet: 1) {~\n if (setVariationIndex == 1) {\n if (completedReps[1] + completedReps[2] + completedReps[3] + completedReps[4] >= 60) {\n weights = completedWeights[4] + state.increase\n } else {\n state.stage = 2\n setVariationIndex = 2\n state.savedSet = 2\n weights = completedWeights[4]\n }\n } else if (setVariationIndex == 2) {\n if (completedReps[1] + completedReps[2] + completedReps[3] + completedReps[4] < 45) {\n state.stage = 3\n setVariationIndex = 3\n state.savedSet = 3\n weights = completedWeights[4]\n } else {\n weights = completedWeights[4] + state.increase\n }\n } else {\n weights = state.stage1weight + state.increase\n state.stage1weight = weights\n setVariationIndex = 1\n state.stage = 1\n state.savedSet = 1\n }\n~}\n\n// Uses 3-stage progression:\n// Stage 1: 4x15+ (goal: 60 reps)\n// Stage 2: 4x12+ (goal: 45 reps)\n// Stage 3: 3x10+ (goal: 30 reps)\n// All sets are AMRAP. Advance to next stage if you miss the rep target. Return to Stage 1 with more weight after Stage 3.\nDBWalkingLunge: Lunge, Dumbbell / 4x15+ 60% 90s / 4x12+ 60% 90s / 3x10+ 60% 90s / progress: custom(stage: 1, stage1weight: 0lb, increase: 5lb, savedSet: 1) {~\n if (setVariationIndex == 1) {\n if (completedReps[1] + completedReps[2] + completedReps[3] + completedReps[4] >= 60) {\n weights = completedWeights[4] + state.increase\n } else {\n state.stage = 2\n setVariationIndex = 2\n state.savedSet = 2\n weights = completedWeights[4]\n }\n } else if (setVariationIndex == 2) {\n if (completedReps[1] + completedReps[2] + completedReps[3] + completedReps[4] < 45) {\n state.stage = 3\n setVariationIndex = 3\n state.savedSet = 3\n weights = completedWeights[4]\n } else {\n weights = completedWeights[4] + state.increase\n }\n } else {\n weights = state.stage1weight + state.increase\n state.stage1weight = weights\n setVariationIndex = 1\n state.stage = 1\n state.savedSet = 1\n }\n~}\n\n// Uses 3-stage progression:\n// Stage 1: 4x15+ (goal: 60 reps)\n// Stage 2: 4x12+ (goal: 45 reps)\n// Stage 3: 3x10+ (goal: 30 reps)\n// All sets are AMRAP. Advance to next stage if you miss the rep target. Return to Stage 1 with more weight after Stage 3.\nHammerCurl_T3D: Hammer Curl, Dumbbell / 4x15+ 60% 90s / 4x12+ 60% 90s / 3x10+ 60% 90s / progress: custom(stage: 1, stage1weight: 0lb, increase: 5lb, savedSet: 1) {~\n if (setVariationIndex == 1) {\n if (completedReps[1] + completedReps[2] + completedReps[3] + completedReps[4] >= 60) {\n weights = completedWeights[4] + state.increase\n } else {\n state.stage = 2\n setVariationIndex = 2\n state.savedSet = 2\n weights = completedWeights[4]\n }\n } else if (setVariationIndex == 2) {\n if (completedReps[1] + completedReps[2] + completedReps[3] + completedReps[4] < 45) {\n state.stage = 3\n setVariationIndex = 3\n state.savedSet = 3\n weights = completedWeights[4]\n } else {\n weights = completedWeights[4] + state.increase\n }\n } else {\n weights = state.stage1weight + state.increase\n state.stage1weight = weights\n setVariationIndex = 1\n state.stage = 1\n state.savedSet = 1\n }\n~}"}]}]},"exercises":[],"vtype":"program","days":[],"deletedDays":[],"url":"","isMultiweek":false,"name":"P-Zero Full Body - Superset T3's","weeks":[],"nextDay":1,"shortDescription":"","clonedAt":1754158318363,"description":"","id":"fhcfjtpx","tags":[],"deletedWeeks":[],"author":""},"version":"20260304084247","settings":{"timers":{"warmup":90,"workout":180,"reminder":900},"units":"lb"}},"shouldSyncProgram":false,"isMobile":false,"revisions":[]}