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: 89
Strength Sets: 18, 20%
Hypertrophy Sets: 71, 80%
Upper Sets: 59 (13s , 46h ) , 3d
Lower Sets: 24 (5s , 19h ) , 3d
Core Sets: 6 (6h ) , 1d
Push Sets: 39 (8s , 31h ) , 3d
Pull Sets: 20 (5s , 15h ) , 3d
Legs Sets: 24 (5s , 19h ) , 3d
Shoulders: 29↓ (9s , 20h ) , 3d
Triceps: 19↓ (6s , 14h ) , 3d
Back: 19↓ (7s , 13h ) , 3d
Abs: 6↑ (6h ) , 1d
Glutes: 6↑ (3s , 4h ) , 3d
Hamstrings: 12 (3s , 10h ) , 3d
Quadriceps: 20↓ (5s , 15h ) , 3d
Chest: 30↓ (9s , 21h ) , 3d
Biceps: 12 (3s , 10h ) , 3d
Calves: 11 (3s , 8h ) , 3d
Forearms: 12 (3s , 10h ) , 3d
{"maxWidth":2400,"url":"/planner","isLoggedIn":false}
{"exportedProgram":{"customExercises":{},"program":{"id":"fvtyptww","name":"My Program","description":"Generated from a Workout Planner","url":"","author":"","nextDay":1,"exercises":[{"descriptions":[""],"exerciseType":{"id":"squat","equipment":"barbell"},"name":"Squat","id":"aocupdfs","state":{},"variations":[{"sets":[{"repsExpr":"5","weightExpr":"86.53%","isAmrap":false},{"repsExpr":"5","weightExpr":"86.53%","isAmrap":false},{"repsExpr":"5","weightExpr":"86.53%","isAmrap":false},{"repsExpr":"5","weightExpr":"86.53%","isAmrap":false},{"repsExpr":"5","weightExpr":"86.53%","isAmrap":false}]}],"variationExpr":"day == 1 ? 1 : 1","descriptionExpr":"1","finishDayExpr":"// progress: dp(5kg, 5, 9)\nif (completedReps >= reps && completedRPE <= RPE) {\n if (reps[ns] < 9) {\n reps += 1\n } else {\n reps = 5\n weights += 5kg\n }\n}","enableRpe":false,"quickAddSets":false,"enableRepRanges":false,"diffPaths":[]},{"descriptions":[""],"exerciseType":{"id":"benchPress","equipment":"barbell"},"name":"Bench Press","id":"hsjrvykm","state":{"successes":0,"failures":0},"variations":[{"sets":[{"repsExpr":"12","weightExpr":"68.03%","isAmrap":false},{"repsExpr":"12","weightExpr":"68.03%","isAmrap":false},{"repsExpr":"12","weightExpr":"68.03%","isAmrap":false},{"repsExpr":"12","weightExpr":"68.03%","isAmrap":false}]},{"sets":[{"repsExpr":"5","weightExpr":"86.53%","isAmrap":false},{"repsExpr":"5","weightExpr":"86.53%","isAmrap":false},{"repsExpr":"5","weightExpr":"86.53%","isAmrap":false},{"repsExpr":"5","weightExpr":"86.53%","isAmrap":false},{"repsExpr":"5","weightExpr":"86.53%","isAmrap":false}]}],"variationExpr":"day == 1 ? 1 : day == 3 ? 2 : 1","descriptionExpr":"1","finishDayExpr":"// progress: lp(5kg, 2, 0, 5kg, 0, 0)\nif (completedReps >= reps && completedRPE <= RPE) {\n state.successes += 1;\n if (state.successes >= 2) {\n weights += 5kg\n state.successes = 0\n state.failures = 0\n }\n}","enableRpe":false,"quickAddSets":false,"enableRepRanges":false,"diffPaths":[]},{"descriptions":[""],"exerciseType":{"id":"legExtension","equipment":"leverageMachine"},"name":"Leg Extension","id":"btavbcxj","state":{"successes":0,"failures":0},"variations":[{"sets":[{"repsExpr":"12","weightExpr":"68.03%","isAmrap":false},{"repsExpr":"12","weightExpr":"68.03%","isAmrap":false},{"repsExpr":"12","weightExpr":"68.03%","isAmrap":false}]},{"sets":[{"repsExpr":"10","weightExpr":"73.31%","isAmrap":false},{"repsExpr":"10","weightExpr":"73.31%","isAmrap":false},{"repsExpr":"10","weightExpr":"73.31%","isAmrap":false}]}],"variationExpr":"day == 1 ? 1 : day == 3 ? 2 : 1","descriptionExpr":"1","finishDayExpr":"// progress: lp(5kg, 2, 0, 5kg, 0, 0)\nif (completedReps >= reps && completedRPE <= RPE) {\n state.successes += 1;\n if (state.successes >= 2) {\n weights += 5kg\n state.successes = 0\n state.failures = 0\n }\n}","enableRpe":false,"quickAddSets":false,"enableRepRanges":false,"diffPaths":[]},{"descriptions":[""],"exerciseType":{"id":"inclineBenchPress","equipment":"barbell"},"name":"Incline Bench Press","id":"afxzqtkq","state":{"successes":0,"failures":0},"variations":[{"sets":[{"repsExpr":"10","weightExpr":"73.31%","isAmrap":false},{"repsExpr":"10","weightExpr":"73.31%","isAmrap":false},{"repsExpr":"10","weightExpr":"73.31%","isAmrap":false},{"repsExpr":"10","weightExpr":"73.31%","isAmrap":false}]},{"sets":[{"repsExpr":"12","weightExpr":"68.03%","isAmrap":false},{"repsExpr":"12","weightExpr":"68.03%","isAmrap":false},{"repsExpr":"12","weightExpr":"68.03%","isAmrap":false}]}],"variationExpr":"day == 1 ? 1 : day == 3 ? 2 : 1","descriptionExpr":"1","finishDayExpr":"// progress: lp(5kg, 2, 0, 5kg, 0, 0)\nif (completedReps >= reps && completedRPE <= RPE) {\n state.successes += 1;\n if (state.successes >= 2) {\n weights += 5kg\n state.successes = 0\n state.failures = 0\n }\n}","enableRpe":false,"quickAddSets":false,"enableRepRanges":false,"diffPaths":[]},{"descriptions":[""],"exerciseType":{"id":"latPulldown","equipment":"cable"},"name":"Lat Pulldown","id":"rskjklly","state":{"successes":0,"failures":0},"variations":[{"sets":[{"repsExpr":"12","weightExpr":"68.03%","isAmrap":false},{"repsExpr":"12","weightExpr":"68.03%","isAmrap":false},{"repsExpr":"12","weightExpr":"68.03%","isAmrap":false},{"repsExpr":"12","weightExpr":"68.03%","isAmrap":false}]}],"variationExpr":"day == 1 ? 1 : 1","descriptionExpr":"1","finishDayExpr":"// progress: lp(5kg, 2, 0, 5kg, 0, 0)\nif (completedReps >= reps && completedRPE <= RPE) {\n state.successes += 1;\n if (state.successes >= 2) {\n weights += 5kg\n state.successes = 0\n state.failures = 0\n }\n}","enableRpe":false,"quickAddSets":false,"enableRepRanges":false,"diffPaths":[]},{"descriptions":[""],"exerciseType":{"id":"bicepCurl","equipment":"dumbbell"},"name":"Bicep Curl","id":"vhaqmrlc","state":{"successes":0,"failures":0},"variations":[{"sets":[{"repsExpr":"12","weightExpr":"68.03%","isAmrap":false},{"repsExpr":"12","weightExpr":"68.03%","isAmrap":false},{"repsExpr":"12","weightExpr":"68.03%","isAmrap":false},{"repsExpr":"12","weightExpr":"68.03%","isAmrap":false}]}],"variationExpr":"day == 1 ? 1 : 1","descriptionExpr":"1","finishDayExpr":"// progress: lp(5kg, 2, 0, 5kg, 0, 0)\nif (completedReps >= reps && completedRPE <= RPE) {\n state.successes += 1;\n if (state.successes >= 2) {\n weights += 5kg\n state.successes = 0\n state.failures = 0\n }\n}","enableRpe":false,"quickAddSets":false,"enableRepRanges":false,"diffPaths":[]},{"descriptions":[""],"exerciseType":{"id":"lateralRaise","equipment":"dumbbell"},"name":"Lateral Raise","id":"nbeovwjq","state":{"successes":0,"failures":0},"variations":[{"sets":[{"repsExpr":"8","weightExpr":"78.6%","isAmrap":false},{"repsExpr":"8","weightExpr":"78.6%","isAmrap":false},{"repsExpr":"8","weightExpr":"78.6%","isAmrap":false},{"repsExpr":"8","weightExpr":"78.6%","isAmrap":false}]},{"sets":[{"repsExpr":"15","weightExpr":"60.1%","isAmrap":false},{"repsExpr":"15","weightExpr":"60.1%","isAmrap":false},{"repsExpr":"15","weightExpr":"60.1%","isAmrap":false}]}],"variationExpr":"day == 1 ? 1 : day == 2 ? 2 : 1","descriptionExpr":"1","finishDayExpr":"// progress: lp(2kg, 2, 0, 5kg, 0, 0)\nif (completedReps >= reps && completedRPE <= RPE) {\n state.successes += 1;\n if (state.successes >= 2) {\n weights += 2kg\n state.successes = 0\n state.failures = 0\n }\n}","enableRpe":false,"quickAddSets":false,"enableRepRanges":false,"diffPaths":[]},{"descriptions":[""],"exerciseType":{"id":"standingCalfRaise","equipment":"dumbbell"},"name":"Standing Calf Raise","id":"xyjullza","state":{},"variations":[{"sets":[{"repsExpr":"15","weightExpr":"60.1%","isAmrap":false},{"repsExpr":"15","weightExpr":"60.1%","isAmrap":false},{"repsExpr":"15","weightExpr":"60.1%","isAmrap":false}]}],"variationExpr":"day == 1 ? 1 : 1","descriptionExpr":"1","finishDayExpr":"","enableRpe":false,"quickAddSets":false,"enableRepRanges":false,"diffPaths":[]},{"descriptions":[""],"exerciseType":{"id":"pendlayRow","equipment":"barbell"},"name":"Pendlay Row","id":"vyrgjtol","state":{},"variations":[{"sets":[{"repsExpr":"5","weightExpr":"86.53%","isAmrap":false},{"repsExpr":"5","weightExpr":"86.53%","isAmrap":false},{"repsExpr":"5","weightExpr":"86.53%","isAmrap":false},{"repsExpr":"5","weightExpr":"86.53%","isAmrap":false},{"repsExpr":"5","weightExpr":"86.53%","isAmrap":false}]}],"variationExpr":"day == 2 ? 1 : 1","descriptionExpr":"1","finishDayExpr":"// progress: dp(5kg, 5, 9)\nif (completedReps >= reps && completedRPE <= RPE) {\n if (reps[ns] < 9) {\n reps += 1\n } else {\n reps = 5\n weights += 5kg\n }\n}","enableRpe":false,"quickAddSets":false,"enableRepRanges":false,"diffPaths":[]},{"descriptions":[""],"exerciseType":{"id":"overheadPress","equipment":"barbell"},"name":"Overhead Press","id":"qqiajopa","state":{"successes":0,"failures":0},"variations":[{"sets":[{"repsExpr":"8","weightExpr":"78.6%","isAmrap":false},{"repsExpr":"8","weightExpr":"78.6%","isAmrap":false},{"repsExpr":"8","weightExpr":"78.6%","isAmrap":false},{"repsExpr":"8","weightExpr":"78.6%","isAmrap":false}]}],"variationExpr":"day == 2 ? 1 : 1","descriptionExpr":"1","finishDayExpr":"// progress: lp(5kg, 3, 0, 5kg, 0, 0)\nif (completedReps >= reps && completedRPE <= RPE) {\n state.successes += 1;\n if (state.successes >= 3) {\n weights += 5kg\n state.successes = 0\n state.failures = 0\n }\n}","enableRpe":false,"quickAddSets":false,"enableRepRanges":false,"diffPaths":[]},{"descriptions":[""],"exerciseType":{"id":"seatedRow","equipment":"cable"},"name":"Seated Row","id":"hyhydilo","state":{},"variations":[{"sets":[{"repsExpr":"12","weightExpr":"68.03%","isAmrap":false},{"repsExpr":"12","weightExpr":"68.03%","isAmrap":false},{"repsExpr":"12","weightExpr":"68.03%","isAmrap":false}]}],"variationExpr":"day == 2 ? 1 : 1","descriptionExpr":"1","finishDayExpr":"// progress: dp(5kg, 12, 15)\nif (completedReps >= reps && completedRPE <= RPE) {\n if (reps[ns] < 15) {\n reps += 1\n } else {\n reps = 12\n weights += 5kg\n }\n}","enableRpe":false,"quickAddSets":false,"enableRepRanges":false,"diffPaths":[]},{"descriptions":[""],"exerciseType":{"id":"seatedLegCurl","equipment":"leverageMachine"},"name":"Seated Leg Curl","id":"ugehlydp","state":{"successes":0,"failures":0},"variations":[{"sets":[{"repsExpr":"15","weightExpr":"60.1%","isAmrap":false},{"repsExpr":"15","weightExpr":"60.1%","isAmrap":false},{"repsExpr":"15","weightExpr":"60.1%","isAmrap":false}]}],"variationExpr":"day == 2 ? 1 : 1","descriptionExpr":"1","finishDayExpr":"// progress: lp(5kg, 2, 0, 5kg, 0, 0)\nif (completedReps >= reps && completedRPE <= RPE) {\n state.successes += 1;\n if (state.successes >= 2) {\n weights += 5kg\n state.successes = 0\n state.failures = 0\n }\n}","enableRpe":false,"quickAddSets":false,"enableRepRanges":false,"diffPaths":[]},{"descriptions":[""],"exerciseType":{"id":"tricepsPushdown","equipment":"cable"},"name":"Triceps Pushdown","id":"xczzhmix","state":{"successes":0,"failures":0},"variations":[{"sets":[{"repsExpr":"15","weightExpr":"60.1%","isAmrap":false},{"repsExpr":"15","weightExpr":"60.1%","isAmrap":false},{"repsExpr":"15","weightExpr":"60.1%","isAmrap":false}]}],"variationExpr":"day == 2 ? 1 : 1","descriptionExpr":"1","finishDayExpr":"// progress: lp(5kg, 3, 0, 5kg, 0, 0)\nif (completedReps >= reps && completedRPE <= RPE) {\n state.successes += 1;\n if (state.successes >= 3) {\n weights += 5kg\n state.successes = 0\n state.failures = 0\n }\n}","enableRpe":false,"quickAddSets":false,"enableRepRanges":false,"diffPaths":[]},{"descriptions":[""],"exerciseType":{"id":"hangingLegRaise","equipment":"bodyweight"},"name":"Hanging Leg Raise","id":"rzrgqyvv","state":{},"variations":[{"sets":[{"repsExpr":"15","weightExpr":"60.1%","isAmrap":false},{"repsExpr":"15","weightExpr":"60.1%","isAmrap":false},{"repsExpr":"15","weightExpr":"60.1%","isAmrap":false}]}],"variationExpr":"day == 2 ? 1 : 1","descriptionExpr":"1","finishDayExpr":"","enableRpe":false,"quickAddSets":false,"enableRepRanges":false,"diffPaths":[]},{"descriptions":[""],"exerciseType":{"id":"crunch","equipment":"bodyweight"},"name":"Crunch","id":"mgnhoknm","state":{},"variations":[{"sets":[{"repsExpr":"15","weightExpr":"60.1%","isAmrap":false},{"repsExpr":"15","weightExpr":"60.1%","isAmrap":false},{"repsExpr":"15","weightExpr":"60.1%","isAmrap":false}]}],"variationExpr":"day == 2 ? 1 : 1","descriptionExpr":"1","finishDayExpr":"","enableRpe":false,"quickAddSets":false,"enableRepRanges":false,"diffPaths":[]},{"descriptions":[""],"exerciseType":{"id":"frontSquat","equipment":"barbell"},"name":"Front Squat","id":"vzprffhw","state":{"successes":0,"failures":0},"variations":[{"sets":[{"repsExpr":"12","weightExpr":"68.03%","isAmrap":false},{"repsExpr":"12","weightExpr":"68.03%","isAmrap":false},{"repsExpr":"12","weightExpr":"68.03%","isAmrap":false},{"repsExpr":"12","weightExpr":"68.03%","isAmrap":false}]}],"variationExpr":"day == 3 ? 1 : 1","descriptionExpr":"1","finishDayExpr":"// progress: lp(5kg, 2, 0, 5kg, 0, 0)\nif (completedReps >= reps && completedRPE <= RPE) {\n state.successes += 1;\n if (state.successes >= 2) {\n weights += 5kg\n state.successes = 0\n state.failures = 0\n }\n}","enableRpe":false,"quickAddSets":false,"enableRepRanges":false,"diffPaths":[]},{"descriptions":[""],"exerciseType":{"id":"lyingLegCurl","equipment":"leverageMachine"},"name":"Lying Leg Curl","id":"zfnxrvfs","state":{},"variations":[{"sets":[{"repsExpr":"15","weightExpr":"60.1%","isAmrap":false},{"repsExpr":"15","weightExpr":"60.1%","isAmrap":false},{"repsExpr":"15","weightExpr":"60.1%","isAmrap":false}]}],"variationExpr":"day == 3 ? 1 : 1","descriptionExpr":"1","finishDayExpr":"","enableRpe":false,"quickAddSets":false,"enableRepRanges":false,"diffPaths":[]},{"descriptions":[""],"exerciseType":{"id":"pecDeck","equipment":"leverageMachine"},"name":"Pec Deck","id":"vwsveidd","state":{"successes":0,"failures":0},"variations":[{"sets":[{"repsExpr":"15","weightExpr":"60.1%","isAmrap":false},{"repsExpr":"15","weightExpr":"60.1%","isAmrap":false},{"repsExpr":"15","weightExpr":"60.1%","isAmrap":false}]}],"variationExpr":"day == 3 ? 1 : 1","descriptionExpr":"1","finishDayExpr":"// progress: lp(5kg, 2, 0, 5kg, 0, 0)\nif (completedReps >= reps && completedRPE <= RPE) {\n state.successes += 1;\n if (state.successes >= 2) {\n weights += 5kg\n state.successes = 0\n state.failures = 0\n }\n}","enableRpe":false,"quickAddSets":false,"enableRepRanges":false,"diffPaths":[]},{"descriptions":[""],"exerciseType":{"id":"tricepsExtension","equipment":"dumbbell"},"name":"Triceps Extension","id":"rnwdfnga","state":{},"variations":[{"sets":[{"repsExpr":"15","weightExpr":"60.1%","isAmrap":false},{"repsExpr":"15","weightExpr":"60.1%","isAmrap":false},{"repsExpr":"15","weightExpr":"60.1%","isAmrap":false}]}],"variationExpr":"day == 3 ? 1 : 1","descriptionExpr":"1","finishDayExpr":"","enableRpe":false,"quickAddSets":false,"enableRepRanges":false,"diffPaths":[]},{"descriptions":[""],"exerciseType":{"id":"hammerCurl","equipment":"dumbbell"},"name":"Hammer Curl","id":"migvtkwl","state":{"successes":0,"failures":0},"variations":[{"sets":[{"repsExpr":"10","weightExpr":"73.31%","isAmrap":false},{"repsExpr":"10","weightExpr":"73.31%","isAmrap":false},{"repsExpr":"10","weightExpr":"73.31%","isAmrap":false},{"repsExpr":"10","weightExpr":"73.31%","isAmrap":false}]}],"variationExpr":"day == 3 ? 1 : 1","descriptionExpr":"1","finishDayExpr":"// progress: lp(2kg, 2, 0, 5kg, 0, 0)\nif (completedReps >= reps && completedRPE <= RPE) {\n state.successes += 1;\n if (state.successes >= 2) {\n weights += 2kg\n state.successes = 0\n state.failures = 0\n }\n}","enableRpe":false,"quickAddSets":false,"enableRepRanges":false,"diffPaths":[]},{"descriptions":[""],"exerciseType":{"id":"tricepsDip","equipment":"bodyweight"},"name":"Triceps Dip","id":"nnnkdtal","state":{},"variations":[{"sets":[{"repsExpr":"5","weightExpr":"86.53%","isAmrap":false},{"repsExpr":"5","weightExpr":"86.53%","isAmrap":false},{"repsExpr":"5","weightExpr":"86.53%","isAmrap":false}]}],"variationExpr":"day == 3 ? 1 : 1","descriptionExpr":"1","finishDayExpr":"// progress: dp(5kg, 5, 10)\nif (completedReps >= reps && completedRPE <= RPE) {\n if (reps[ns] < 10) {\n reps += 1\n } else {\n reps = 5\n weights += 5kg\n }\n}","enableRpe":false,"quickAddSets":false,"enableRepRanges":false,"diffPaths":[]}],"days":[{"id":"hnztgsui","name":"Day 1","exercises":[{"id":"aocupdfs"},{"id":"hsjrvykm"},{"id":"btavbcxj"},{"id":"afxzqtkq"},{"id":"rskjklly"},{"id":"vhaqmrlc"},{"id":"nbeovwjq"},{"id":"xyjullza"}]},{"id":"plsqitbe","name":"Day 2","exercises":[{"id":"vyrgjtol"},{"id":"qqiajopa"},{"id":"hyhydilo"},{"id":"nbeovwjq"},{"id":"ugehlydp"},{"id":"xczzhmix"},{"id":"rzrgqyvv"},{"id":"mgnhoknm"}]},{"id":"kuubhqqe","name":"Day 3","exercises":[{"id":"hsjrvykm"},{"id":"vzprffhw"},{"id":"afxzqtkq"},{"id":"zfnxrvfs"},{"id":"btavbcxj"},{"id":"vwsveidd"},{"id":"rnwdfnga"},{"id":"migvtkwl"},{"id":"nnnkdtal"}]}],"weeks":[{"id":"neiwssnn","name":"Week 1","days":[{"id":"hnztgsui"},{"id":"plsqitbe"},{"id":"kuubhqqe"}]}],"isMultiweek":true,"tags":[],"planner":{"name":"My Program","weeks":[{"name":"Week 1","days":[{"name":"Day 1","exerciseText":"Squat / 5x5 / progress: dp(5kg, 5, 9)\nBench Press / 4x12 / progress: lp(5kg, 2)\nLeg Extension / 3x12 / progress: lp(5kg, 2)\nIncline Bench Press / 4x10 / progress: lp(5kg, 2)\nLat Pulldown / 4x12 / progress: lp(5kg, 2)\nBicep Curl / 4x12 / progress: lp(5kg, 2)\nLateral Raise / 4x8 / progress: lp(2kg, 2)\nStanding Calf Raise / 3x15 / ","id":"prkdhpme"},{"name":"Day 2","exerciseText":"Pendlay Row / 5x5 / progress: dp(5kg, 5, 9)\nOverhead Press / 4x8 / progress: lp(5kg, 3)\nSeated Row / 3x12 / progress: dp(5kg, 12, 15)\nLateral Raise / 3x15\nSeated Leg Curl / 3x15 / progress: lp (5kg, 2)\nTriceps Pushdown / 3x15 / progress: lp(5kg, 3)\nHanging Leg Raise /3x15 \nCrunch / 3x15","id":"tachheqe"},{"name":"Day 3","exerciseText":"Bench Press / 5x5/ \nFront Squat / 4x12 / progress: lp(5kg, 2)\nIncline Bench Press / 3x12\nLying Leg Curl / 3x15 /\nLeg Extension / 3x10 /\nPec Deck / 3x15 / progress: lp(5kg,2)\nTriceps Extension / 3x15\nHammer Curl / 4x10 / progress: lp (2kg, 2)\nTriceps Dip / 3x5 / progress: dp(5kg, 5, 10)","id":"ejwfbisg"}],"id":"blkpsqhy"}],"vtype":"planner"},"version":1707326769095,"vtype":"program","clonedAt":1787770027975},"version":"20260702120000","settings":{"timers":{"warmup":90,"workout":70,"reminder":900},"units":"kg"}},"shouldSyncProgram":false,"isMobile":false,"userAgent":"Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)","revisions":[]}