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!
{"exportedProgram":{"program":{"deletedDays":[],"weeks":[],"vtype":"program","author":"/r/fitness","clonedAt":1789318457433,"description":"The go-to starting program from the r/Fitness wiki. Three days per week, two alternating workouts, six barbell movements. Every set scheme is the same: 2 straight sets of 5, then one all-out AMRAP set. Add weight each session, deload 10% when you stall, and move on after 3 months.","shortDescription":"Simple 3-day barbell program to build your first foundation of strength","url":"https://thefitness.wiki/routines/r-fitness-basic-beginner-routine/","tags":[],"deletedWeeks":[],"exercises":[],"name":"Basic Beginner Routine","days":[],"id":"wbxfxgmk","deletedExercises":[],"planner":{"name":"Basic Beginner Routine","vtype":"planner","weeks":[{"name":"Week 1","days":[{"name":"Workout A","exerciseText":"main / used: none / 2x5, 1x5+ \\\n / progress: custom(increase: 2.5lb) {~\n if (completedReps >= reps) {\n for (var.i in completedReps) {\n if (completedReps[ns] > 10) {\n weights[var.i] = completedWeights[var.i] + state.increase * 2\n } else {\n weights[var.i] = completedWeights[var.i] + state.increase\n }\n }\n } else {\n weights *= 0.9\n }\n~}\n\nBent Over Row / ...main / 95lb\nBench Press / ...main / 45lb\nSquat / ...main / 45lb / progress: custom(increase: 5lb) { ...main }"},{"name":"Workout B","exerciseText":"Chin Up / ...main / 0lb\nOverhead Press / ...main / 45lb\nDeadlift / ...main / 95lb / progress: custom(increase: 5lb) { ...main }"}]}]},"nextDay":1,"isMultiweek":true},"customExercises":{"mrovqtjv":{"name":"Swim","types":["pull","upper","lower"],"id":"mrovqtjv","isDeleted":false,"vtype":"custom_exercise","meta":{"synergistMuscles":["Triceps Brachii","Rectus Abdominis","Gluteus Maximus"],"targetMuscles":["Latissimus Dorsi","Deltoid Posterior"],"bodyParts":[],"sortedEquipment":[]}}},"version":"20260702120000","settings":{"isPublicProfile":false,"timers":{"reminder":900,"warmup":90,"workout":180},"currentBodyweight":{"value":171.6,"unit":"lb"},"textSize":16,"deletedGyms":[],"gyms":[{"name":"Main","equipment":{"trapbar":{"bar":{"kg":{"value":20,"unit":"kg"},"lb":{"value":45,"unit":"lb"}},"fixed":[],"plates":[{"weight":{"value":45,"unit":"lb"},"num":8},{"weight":{"value":25,"unit":"lb"},"num":4},{"weight":{"value":10,"unit":"lb"},"num":4},{"weight":{"value":5,"unit":"lb"},"num":4},{"weight":{"value":2.5,"unit":"lb"},"num":4},{"weight":{"value":1.25,"unit":"lb"},"num":2},{"weight":{"value":20,"unit":"kg"},"num":8},{"weight":{"value":10,"unit":"kg"},"num":4},{"weight":{"value":5,"unit":"kg"},"num":4},{"weight":{"value":2.5,"unit":"kg"},"num":4},{"weight":{"value":1.25,"unit":"kg"},"num":4},{"weight":{"value":0.5,"unit":"kg"},"num":2}],"vtype":"equipment_data","isFixed":false,"multiplier":2},"leverageMachine":{"bar":{"kg":{"value":0,"unit":"kg"},"lb":{"value":0,"unit":"lb"}},"fixed":[],"plates":[{"weight":{"value":45,"unit":"lb"},"num":8},{"weight":{"value":25,"unit":"lb"},"num":4},{"weight":{"value":10,"unit":"lb"},"num":4},{"weight":{"value":5,"unit":"lb"},"num":4},{"weight":{"value":2.5,"unit":"lb"},"num":4},{"weight":{"value":1.25,"unit":"lb"},"num":2},{"weight":{"value":20,"unit":"kg"},"num":8},{"weight":{"value":10,"unit":"kg"},"num":4},{"weight":{"value":5,"unit":"kg"},"num":4},{"weight":{"value":2.5,"unit":"kg"},"num":4},{"weight":{"value":1.25,"unit":"kg"},"num":4},{"weight":{"value":0.5,"unit":"kg"},"num":2}],"vtype":"equipment_data","isFixed":false,"multiplier":1},"kettlebell":{"bar":{"kg":{"value":0,"unit":"kg"},"lb":{"value":0,"unit":"lb"}},"fixed":[{"value":10,"unit":"lb"},{"value":15,"unit":"lb"},{"value":20,"unit":"lb"},{"value":25,"unit":"lb"},{"value":30,"unit":"lb"},{"value":35,"unit":"lb"},{"value":40,"unit":"lb"},{"value":4,"unit":"kg"},{"value":8,"unit":"kg"},{"value":12,"unit":"kg"},{"value":16,"unit":"kg"},{"value":24,"unit":"kg"}],"plates":[],"vtype":"equipment_data","isFixed":true,"multiplier":1},"smith":{"bar":{"kg":{"value":20,"unit":"kg"},"lb":{"value":45,"unit":"lb"}},"fixed":[],"plates":[{"weight":{"value":45,"unit":"lb"},"num":8},{"weight":{"value":25,"unit":"lb"},"num":4},{"weight":{"value":10,"unit":"lb"},"num":4},{"weight":{"value":5,"unit":"lb"},"num":4},{"weight":{"value":2.5,"unit":"lb"},"num":4},{"weight":{"value":1.25,"unit":"lb"},"num":2},{"weight":{"value":20,"unit":"kg"},"num":8},{"weight":{"value":10,"unit":"kg"},"num":4},{"weight":{"value":5,"unit":"kg"},"num":4},{"weight":{"value":2.5,"unit":"kg"},"num":4},{"weight":{"value":1.25,"unit":"kg"},"num":4},{"weight":{"value":0.5,"unit":"kg"},"num":2}],"vtype":"equipment_data","isFixed":false,"multiplier":2},"ezbar":{"bar":{"kg":{"value":10,"unit":"kg"},"lb":{"value":20,"unit":"lb"}},"fixed":[],"plates":[{"weight":{"value":45,"unit":"lb"},"num":8},{"weight":{"value":25,"unit":"lb"},"num":4},{"weight":{"value":10,"unit":"lb"},"num":4},{"weight":{"value":5,"unit":"lb"},"num":4},{"weight":{"value":2.5,"unit":"lb"},"num":4},{"weight":{"value":1.25,"unit":"lb"},"num":2},{"weight":{"value":20,"unit":"kg"},"num":8},{"weight":{"value":10,"unit":"kg"},"num":4},{"weight":{"value":5,"unit":"kg"},"num":4},{"weight":{"value":2.5,"unit":"kg"},"num":4},{"weight":{"value":1.25,"unit":"kg"},"num":4},{"weight":{"value":0.5,"unit":"kg"},"num":2}],"vtype":"equipment_data","isFixed":false,"multiplier":2},"dumbbell":{"bar":{"kg":{"value":5,"unit":"kg"},"lb":{"value":10,"unit":"lb"}},"fixed":[{"value":10,"unit":"lb"},{"value":15,"unit":"lb"},{"value":20,"unit":"lb"},{"value":25,"unit":"lb"},{"value":30,"unit":"lb"},{"value":35,"unit":"lb"},{"value":40,"unit":"lb"},{"value":4,"unit":"kg"},{"value":6,"unit":"kg"},{"value":8,"unit":"kg"},{"value":10,"unit":"kg"},{"value":12,"unit":"kg"},{"value":14,"unit":"kg"},{"value":20,"unit":"kg"}],"plates":[{"weight":{"value":10,"unit":"lb"},"num":8},{"weight":{"value":5,"unit":"lb"},"num":4},{"weight":{"value":2.5,"unit":"lb"},"num":4},{"weight":{"value":1.25,"unit":"lb"},"num":2},{"weight":{"value":5,"unit":"kg"},"num":8},{"weight":{"value":2.5,"unit":"kg"},"num":4},{"weight":{"value":1.25,"unit":"kg"},"num":4},{"weight":{"value":0.5,"unit":"kg"},"num":2}],"vtype":"equipment_data","isFixed":false,"multiplier":2},"barbell":{"bar":{"kg":{"value":20,"unit":"kg"},"lb":{"value":45,"unit":"lb"}},"fixed":[],"plates":[{"weight":{"value":45,"unit":"lb"},"num":8},{"weight":{"value":25,"unit":"lb"},"num":4},{"weight":{"value":10,"unit":"lb"},"num":4},{"weight":{"value":5,"unit":"lb"},"num":4},{"weight":{"value":2.5,"unit":"lb"},"num":4},{"weight":{"value":20,"unit":"kg"},"num":8},{"weight":{"value":10,"unit":"kg"},"num":4},{"weight":{"value":5,"unit":"kg"},"num":4},{"weight":{"value":2.5,"unit":"kg"},"num":4},{"weight":{"value":1.25,"unit":"kg"},"num":4},{"weight":{"value":0.5,"unit":"kg"},"num":2}],"vtype":"equipment_data","isFixed":false,"multiplier":2},"cable":{"bar":{"kg":{"value":0,"unit":"kg"},"lb":{"value":0,"unit":"lb"}},"fixed":[],"plates":[{"weight":{"value":10,"unit":"lb"},"num":20},{"weight":{"value":5,"unit":"lb"},"num":10},{"weight":{"value":5,"unit":"kg"},"num":20},{"weight":{"value":2.5,"unit":"kg"},"num":10}],"vtype":"equipment_data","isFixed":false,"multiplier":1}},"id":"default","vtype":"gym"}],"units":"lb","graphsSettings":{"isSameXAxis":false,"isWithOneRm":true,"isWithBodyweight":false},"lengthUnits":"in","vibration":false,"exerciseData":{},"volume":1,"statsEnabled":{"length":{},"weight":{"weight":true},"percentage":{}},"muscleGroups":{"data":{},"vtype":"muscle_groups_settings"},"graphs":{"vtype":"graphs","graphs":[{"type":"exercise","vtype":"graph","id":"hangingKneeRaise_bodyweight"},{"type":"exercise","vtype":"graph","id":"benchPress_barbell"},{"type":"statsWeight","vtype":"graph","id":"weight"}]},"exerciseStatsSettings":{"ascendingSort":false},"exercises":{"mrovqtjv":{"name":"Swim","types":["pull","upper","lower"],"id":"mrovqtjv","isDeleted":false,"vtype":"custom_exercise","meta":{"synergistMuscles":["Triceps Brachii","Rectus Abdominis","Gluteus Maximus"],"targetMuscles":["Latissimus Dorsi","Deltoid Posterior"],"bodyParts":[],"sortedEquipment":[]}}},"workoutSettings":{"targetType":"target"},"planner":{"weeklyRangeSets":{"shoulders":[10,12],"triceps":[10,12],"quadriceps":[10,12],"chest":[10,12],"forearms":[10,12],"abs":[10,12],"hamstrings":[10,12],"back":[10,12],"biceps":[10,12],"glutes":[10,12],"calves":[10,12]},"weeklyFrequency":{"shoulders":2,"triceps":2,"quadriceps":2,"chest":2,"forearms":2,"abs":2,"hamstrings":2,"back":2,"biceps":2,"glutes":2,"calves":2},"strengthSetsPct":30,"hypertrophySetsPct":70,"synergistMultiplier":0.5},"startWeekFromMonday":false,"graphOptions":{"weight":{"movingAverageWindowSize":5}}}},"shouldSyncProgram":true,"isMobile":false,"userAgent":"Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)","account":{"id":"svoiuxzrvmri","email":"nicholas.p.krabbenhoft@gmail.com","numberOfPrograms":3,"isCurrent":true},"storage":{"settings":{"isPublicProfile":false,"timers":{"reminder":900,"warmup":90,"workout":180},"currentBodyweight":{"value":171.6,"unit":"lb"},"textSize":16,"deletedGyms":[],"gyms":[{"name":"Main","equipment":{"trapbar":{"bar":{"kg":{"value":20,"unit":"kg"},"lb":{"value":45,"unit":"lb"}},"fixed":[],"plates":[{"weight":{"value":45,"unit":"lb"},"num":8},{"weight":{"value":25,"unit":"lb"},"num":4},{"weight":{"value":10,"unit":"lb"},"num":4},{"weight":{"value":5,"unit":"lb"},"num":4},{"weight":{"value":2.5,"unit":"lb"},"num":4},{"weight":{"value":1.25,"unit":"lb"},"num":2},{"weight":{"value":20,"unit":"kg"},"num":8},{"weight":{"value":10,"unit":"kg"},"num":4},{"weight":{"value":5,"unit":"kg"},"num":4},{"weight":{"value":2.5,"unit":"kg"},"num":4},{"weight":{"value":1.25,"unit":"kg"},"num":4},{"weight":{"value":0.5,"unit":"kg"},"num":2}],"vtype":"equipment_data","isFixed":false,"multiplier":2},"leverageMachine":{"bar":{"kg":{"value":0,"unit":"kg"},"lb":{"value":0,"unit":"lb"}},"fixed":[],"plates":[{"weight":{"value":45,"unit":"lb"},"num":8},{"weight":{"value":25,"unit":"lb"},"num":4},{"weight":{"value":10,"unit":"lb"},"num":4},{"weight":{"value":5,"unit":"lb"},"num":4},{"weight":{"value":2.5,"unit":"lb"},"num":4},{"weight":{"value":1.25,"unit":"lb"},"num":2},{"weight":{"value":20,"unit":"kg"},"num":8},{"weight":{"value":10,"unit":"kg"},"num":4},{"weight":{"value":5,"unit":"kg"},"num":4},{"weight":{"value":2.5,"unit":"kg"},"num":4},{"weight":{"value":1.25,"unit":"kg"},"num":4},{"weight":{"value":0.5,"unit":"kg"},"num":2}],"vtype":"equipment_data","isFixed":false,"multiplier":1},"kettlebell":{"bar":{"kg":{"value":0,"unit":"kg"},"lb":{"value":0,"unit":"lb"}},"fixed":[{"value":10,"unit":"lb"},{"value":15,"unit":"lb"},{"value":20,"unit":"lb"},{"value":25,"unit":"lb"},{"value":30,"unit":"lb"},{"value":35,"unit":"lb"},{"value":40,"unit":"lb"},{"value":4,"unit":"kg"},{"value":8,"unit":"kg"},{"value":12,"unit":"kg"},{"value":16,"unit":"kg"},{"value":24,"unit":"kg"}],"plates":[],"vtype":"equipment_data","isFixed":true,"multiplier":1},"smith":{"bar":{"kg":{"value":20,"unit":"kg"},"lb":{"value":45,"unit":"lb"}},"fixed":[],"plates":[{"weight":{"value":45,"unit":"lb"},"num":8},{"weight":{"value":25,"unit":"lb"},"num":4},{"weight":{"value":10,"unit":"lb"},"num":4},{"weight":{"value":5,"unit":"lb"},"num":4},{"weight":{"value":2.5,"unit":"lb"},"num":4},{"weight":{"value":1.25,"unit":"lb"},"num":2},{"weight":{"value":20,"unit":"kg"},"num":8},{"weight":{"value":10,"unit":"kg"},"num":4},{"weight":{"value":5,"unit":"kg"},"num":4},{"weight":{"value":2.5,"unit":"kg"},"num":4},{"weight":{"value":1.25,"unit":"kg"},"num":4},{"weight":{"value":0.5,"unit":"kg"},"num":2}],"vtype":"equipment_data","isFixed":false,"multiplier":2},"ezbar":{"bar":{"kg":{"value":10,"unit":"kg"},"lb":{"value":20,"unit":"lb"}},"fixed":[],"plates":[{"weight":{"value":45,"unit":"lb"},"num":8},{"weight":{"value":25,"unit":"lb"},"num":4},{"weight":{"value":10,"unit":"lb"},"num":4},{"weight":{"value":5,"unit":"lb"},"num":4},{"weight":{"value":2.5,"unit":"lb"},"num":4},{"weight":{"value":1.25,"unit":"lb"},"num":2},{"weight":{"value":20,"unit":"kg"},"num":8},{"weight":{"value":10,"unit":"kg"},"num":4},{"weight":{"value":5,"unit":"kg"},"num":4},{"weight":{"value":2.5,"unit":"kg"},"num":4},{"weight":{"value":1.25,"unit":"kg"},"num":4},{"weight":{"value":0.5,"unit":"kg"},"num":2}],"vtype":"equipment_data","isFixed":false,"multiplier":2},"dumbbell":{"bar":{"kg":{"value":5,"unit":"kg"},"lb":{"value":10,"unit":"lb"}},"fixed":[{"value":10,"unit":"lb"},{"value":15,"unit":"lb"},{"value":20,"unit":"lb"},{"value":25,"unit":"lb"},{"value":30,"unit":"lb"},{"value":35,"unit":"lb"},{"value":40,"unit":"lb"},{"value":4,"unit":"kg"},{"value":6,"unit":"kg"},{"value":8,"unit":"kg"},{"value":10,"unit":"kg"},{"value":12,"unit":"kg"},{"value":14,"unit":"kg"},{"value":20,"unit":"kg"}],"plates":[{"weight":{"value":10,"unit":"lb"},"num":8},{"weight":{"value":5,"unit":"lb"},"num":4},{"weight":{"value":2.5,"unit":"lb"},"num":4},{"weight":{"value":1.25,"unit":"lb"},"num":2},{"weight":{"value":5,"unit":"kg"},"num":8},{"weight":{"value":2.5,"unit":"kg"},"num":4},{"weight":{"value":1.25,"unit":"kg"},"num":4},{"weight":{"value":0.5,"unit":"kg"},"num":2}],"vtype":"equipment_data","isFixed":false,"multiplier":2},"barbell":{"bar":{"kg":{"value":20,"unit":"kg"},"lb":{"value":45,"unit":"lb"}},"fixed":[],"plates":[{"weight":{"value":45,"unit":"lb"},"num":8},{"weight":{"value":25,"unit":"lb"},"num":4},{"weight":{"value":10,"unit":"lb"},"num":4},{"weight":{"value":5,"unit":"lb"},"num":4},{"weight":{"value":2.5,"unit":"lb"},"num":4},{"weight":{"value":20,"unit":"kg"},"num":8},{"weight":{"value":10,"unit":"kg"},"num":4},{"weight":{"value":5,"unit":"kg"},"num":4},{"weight":{"value":2.5,"unit":"kg"},"num":4},{"weight":{"value":1.25,"unit":"kg"},"num":4},{"weight":{"value":0.5,"unit":"kg"},"num":2}],"vtype":"equipment_data","isFixed":false,"multiplier":2},"cable":{"bar":{"kg":{"value":0,"unit":"kg"},"lb":{"value":0,"unit":"lb"}},"fixed":[],"plates":[{"weight":{"value":10,"unit":"lb"},"num":20},{"weight":{"value":5,"unit":"lb"},"num":10},{"weight":{"value":5,"unit":"kg"},"num":20},{"weight":{"value":2.5,"unit":"kg"},"num":10}],"vtype":"equipment_data","isFixed":false,"multiplier":1}},"id":"default","vtype":"gym"}],"units":"lb","graphsSettings":{"isSameXAxis":false,"isWithOneRm":true,"isWithBodyweight":false},"lengthUnits":"in","vibration":false,"exerciseData":{},"volume":1,"statsEnabled":{"length":{},"weight":{"weight":true},"percentage":{}},"muscleGroups":{"data":{},"vtype":"muscle_groups_settings"},"graphs":{"vtype":"graphs","graphs":[{"type":"exercise","vtype":"graph","id":"hangingKneeRaise_bodyweight"},{"type":"exercise","vtype":"graph","id":"benchPress_barbell"},{"type":"statsWeight","vtype":"graph","id":"weight"}]},"exerciseStatsSettings":{"ascendingSort":false},"exercises":{"mrovqtjv":{"name":"Swim","types":["pull","upper","lower"],"id":"mrovqtjv","isDeleted":false,"vtype":"custom_exercise","meta":{"synergistMuscles":["Triceps Brachii","Rectus Abdominis","Gluteus Maximus"],"targetMuscles":["Latissimus Dorsi","Deltoid Posterior"],"bodyParts":[],"sortedEquipment":[]}}},"workoutSettings":{"targetType":"target"},"planner":{"weeklyRangeSets":{"shoulders":[10,12],"triceps":[10,12],"quadriceps":[10,12],"chest":[10,12],"forearms":[10,12],"abs":[10,12],"hamstrings":[10,12],"back":[10,12],"biceps":[10,12],"glutes":[10,12],"calves":[10,12]},"weeklyFrequency":{"shoulders":2,"triceps":2,"quadriceps":2,"chest":2,"forearms":2,"abs":2,"hamstrings":2,"back":2,"biceps":2,"glutes":2,"calves":2},"strengthSetsPct":30,"hypertrophySetsPct":70,"synergistMultiplier":0.5},"startWeekFromMonday":false,"graphOptions":{"weight":{"movingAverageWindowSize":5}}},"deletedStats":[],"whatsNew":"20260817","hearAboutUs":{"done":true,"requests":[]},"currentProgramId":"nfikszqj","_versions":{"settings":{"isPublicProfile":{"t":1789331653847,"vc":{"web_jxvwlzwb":4}},"timers":{"reminder":1788569687814,"warmup":1788569687814,"workout":1788569687814},"currentBodyweight":{"value":{"t":1793043017702,"vc":{"web_jxvwlzwb":18}},"unit":{"t":1789319316696,"vc":{"web_jxvwlzwb":1}}},"textSize":{"t":1789331689681,"vc":{"web_jxvwlzwb":2}},"deletedGyms":1788569687814,"gyms":{"items":{"default":{"name":1788569687814,"equipment":1791420688910,"id":{"t":1788569687814,"vc":{},"value":"default"}}},"deleted":{}},"units":1788569687814,"graphsSettings":{"isSameXAxis":1788569687814,"isWithOneRm":1788569687814,"isWithBodyweight":1788569687814},"lengthUnits":1788569687814,"vibration":1788569687814,"exerciseData":{"items":{},"deleted":{}},"volume":1788569687814,"statsEnabled":{"weight":{"weight":1788569687814}},"muscleGroups":1788569687814,"graphs":{"t":1790387409300,"vc":{"web_jxvwlzwb":3}},"exercises":{"items":{"mrovqtjv":1789313641060},"deleted":{}},"exerciseStatsSettings":{"ascendingSort":1788569687814},"workoutSettings":{"targetType":1788569687814},"planner":{"weeklyRangeSets":{"shoulders":1788569687814,"triceps":1788569687814,"quadriceps":1788569687814,"chest":1788569687814,"forearms":1788569687814,"abs":1788569687814,"hamstrings":1788569687814,"back":1788569687814,"biceps":1788569687814,"glutes":1788569687814,"calves":1788569687814},"weeklyFrequency":{"shoulders":1788569687814,"triceps":1788569687814,"quadriceps":1788569687814,"chest":1788569687814,"forearms":1788569687814,"abs":1788569687814,"hamstrings":1788569687814,"back":1788569687814,"biceps":1788569687814,"glutes":1788569687814,"calves":1788569687814},"strengthSetsPct":1788569687814,"hypertrophySetsPct":1788569687814,"synergistMultiplier":1788569687814},"startWeekFromMonday":1788569687814,"graphOptions":{"weight":{"movingAverageWindowSize":{"t":1792958493946,"vc":{"web_jxvwlzwb":6}}}}},"deletedStats":1788569687814,"whatsNew":{"t":1789321780119,"vc":{"web_jxvwlzwb":1}},"hearAboutUs":{"done":{"t":1788569706751,"vc":{"web_jxvwlzwb":1}},"requests":{"t":1788569706751,"vc":{"web_jxvwlzwb":1}}},"currentProgramId":{"t":1789321240215,"vc":{"web_jxvwlzwb":3}},"reviewRequests":1788569687814,"tempUserId":1788569687814,"subscription":{"apple":1788569687814,"google":1788569687814,"key":{"t":1789331567415,"vc":{"web_jxvwlzwb":7}}},"history":{"items":{"1791048786595":1791421347536,"1789325330248":1789333918640,"1791634817982":{"t":1791834676235,"vc":{"web_jxvwlzwb":1}},"1793456928512":{"t":1793467434113,"vc":{"web_jxvwlzwb":1}},"1791834811544":{"t":1791836665163,"vc":{"web_jxvwlzwb":1}},"1793320496817":{"t":1793322179745,"vc":{"web_jxvwlzwb":1}},"1792955008645":{"t":1792963533653,"vc":{"web_jxvwlzwb":1}},"1789372800000":1789417974820,"1789909200000":1790193219935,"1790186400000":1790201473898,"1789891200000":1790193248547,"1793043030114":{"t":1793044856924,"vc":{"web_jxvwlzwb":1}},"1792431619850":{"t":1792431686376,"vc":{"web_jxvwlzwb":1}},"1791228416796":1791420703478,"1793651780134":{"t":1793653716544,"vc":{"web_jxvwlzwb":1}},"1790624854981":1791420702697,"1790430865701":{"t":1790624835866,"vc":{"web_jxvwlzwb":1}},"1792954980574":{"t":1792955005260,"vc":{"web_jxvwlzwb":1}},"1792009452633":{"t":1792011058864,"vc":{"web_jxvwlzwb":1}},"1790013600000":1790193506132,"1791635400000":1791639339566,"1792439029632":{"t":1792440940327,"vc":{"web_jxvwlzwb":1}},"1789545600000":1789590908220,"1789413944315":{"t":1789416282260,"vc":{"web_jxvwlzwb":1}},"1791401580075":1791420704256},"deleted":{}},"version":1788569687814,"deletedHistory":1788569687814,"deletedPrograms":1788569687814,"signupRequests":{"t":1791834678522,"vc":{"web_jxvwlzwb":2}},"stats":{"weight":{"weight":{"items":{"1793043017700":{"t":1793043017700,"vc":{"web_jxvwlzwb":1}},"1789331671721":{"t":1789331671722,"vc":{"web_jxvwlzwb":1}},"1791641728584":{"t":1791641728586,"vc":{"web_jxvwlzwb":1}},"1792958462962":{"t":1792958462962,"vc":{"web_jxvwlzwb":1}},"1789862400000":1790193215300,"1791048758627":{"t":1791048758628,"vc":{"web_jxvwlzwb":1}},"1789313695394":1789313695406,"1790624827403":{"t":1790624827404,"vc":{"web_jxvwlzwb":1}},"1791228406934":{"t":1791228406935,"vc":{"web_jxvwlzwb":1}},"1792438955733":{"t":1792438955733,"vc":{"web_jxvwlzwb":1}},"1790192320237":1790192320252,"1791834882720":{"t":1791834882721,"vc":{"web_jxvwlzwb":1}},"1791401526252":{"t":1791401526252,"vc":{"web_jxvwlzwb":1}},"1792009409414":{"t":1792009409414,"vc":{"web_jxvwlzwb":1}},"1789330330236":1789330645699,"1790186400000":1790201483455,"1789590868428":1789590868448,"1790443128668":{"t":1790443128668,"vc":{"web_jxvwlzwb":1}},"1789417486838":1789417486851},"deleted":{"1792438945790":1792438949361}}}},"progress":{"items":{},"deleted":{"1792431619850":1792431686376,"1791048786595":1791228385706,"1791228416796":1791230490927,"1793651780134":1793653716544,"1789325330248":1789329168884,"1790624854981":1790626747394,"1791634817982":1791834676235,"1790430865701":1790624835866,"1792954980574":1792955005260,"1793456928512":1793467434113,"1792009452633":1792011058864,"1791834811544":1791836665163,"1793320496817":1793322179745,"1792439029632":1792440940327,"1792955008645":1792963533653,"1789413944315":1789416282260,"1791401580075":1791403259237,"1793043030114":1793044856924}},"affiliates":{"items":{},"deleted":{}},"programs":{"items":{"1789318457433":{"name":{"t":1789318457438,"vc":{"web_jxvwlzwb":1}},"planner":{"t":1789318457438,"vc":{"web_jxvwlzwb":1}},"clonedAt":{"t":1789318457438,"vc":{"web_jxvwlzwb":1},"value":"1789318457433"},"nextDay":{"t":1789318457438,"vc":{"web_jxvwlzwb":1}}},"1789313315899":{"name":1789313695299,"planner":{"t":1793653716544,"vc":{"web_jxvwlzwb":8}},"clonedAt":{"t":1789329168886,"vc":{"web_jxvwlzwb":1},"value":"1789313315899"},"nextDay":{"t":1793653716544,"vc":{"web_jxvwlzwb":19}}},"1788569734129":{"name":{"t":1788569734131,"vc":{"web_jxvwlzwb":1}},"planner":{"t":1788569734131,"vc":{"web_jxvwlzwb":1}},"clonedAt":{"t":1788569734131,"vc":{"web_jxvwlzwb":1},"value":"1788569734129"},"nextDay":{"t":1788569734131,"vc":{"web_jxvwlzwb":1}}}},"deleted":{}},"helps":{"t":1789413944731,"vc":{"web_jxvwlzwb":12}},"id":1788569687814,"originalId":1788569687814,"email":{"t":1789331916648,"vc":{"web_jxvwlzwb":2}}},"reviewRequests":[],"tempUserId":"svoiuxzrvmri","subscription":{"apple":[],"google":[],"key":"key-nwfzbj"},"version":"20260702120000","deletedHistory":[],"deletedPrograms":[],"signupRequests":[1790624837537,1791834678522],"progress":[],"affiliates":{},"id":1789312713653,"helps":["program.structure","program.updates","program.text","program.liftoscript","program.editExercise","program.playground","program.addExercise","workout.howItWorks","workout.completingSets","workout.editingProgram","swipeable-set","workout.swipeSets"],"originalId":1793653716354,"email":"nicholas.p.krabbenhoft@gmail.com","programs":[{"deletedDays":[],"weeks":[],"vtype":"program","author":"Mark Rippetoe","clonedAt":1788569734129,"description":"A beginner barbell program and the introductory phase of Starting Strength. Only four exercises: [{Squat}], [{Bench Press}], [{Overhead Press}], and [{Deadlift}]. Every session includes deadlifts while the weight is still light enough to recover from. Run this for 1–3 weeks, then move to Phase 2 when deadlift recovery becomes difficult.","shortDescription":"Beginner barbell program, Phase 1 — squat, press, and deadlift every session","url":"https://startingstrength.com/get-started/programs","tags":[],"deletedWeeks":[],"exercises":[],"name":"Starting Strength Phase 1","days":[{"name":"Day 1","exercises":[],"id":"fevywmpe"}],"id":"fgnpqqmi","deletedExercises":[],"planner":{"name":"Starting Strength Phase 1","vtype":"planner","weeks":[{"name":"Week 1","days":[{"name":"Workout A","exerciseText":"Squat / 3x5 / 45lb / progress: lp(5lb, 1, 0, 10%, 2, 0)\nBench Press / 3x5 / 45lb / progress: lp(5lb, 1, 0, 10%, 2, 0)\nDeadlift / 1x5 / 95lb / progress: lp(5lb, 1, 0, 10%, 2, 0)"},{"name":"Workout B","exerciseText":"Squat / 3x5 / 45lb\nOverhead Press / 3x5 / 45lb / progress: lp(5lb, 1, 0, 10%, 2, 0)\nDeadlift / 1x5 / 95lb"}]}]},"nextDay":1,"isMultiweek":true},{"weeks":[],"vtype":"program","author":"","clonedAt":1789313315899,"description":"","shortDescription":"","url":"","tags":[],"exercises":[],"name":"Full Body + Weekend Swim (3x/Week)","days":[],"id":"nfikszqj","planner":{"name":"Full Body + Weekend Swim (3x/Week)","vtype":"planner","weeks":[{"name":"Week 1","days":[{"name":"Workout A","exerciseText":"main[1-8] / used: none / 2x5, 1x5+ / progress: custom(increase: 5lb) {~\n if (completedReps >= reps) {\n for (var.i in completedReps) {\n if (completedReps[ns] > 10) {\n weights[var.i] = completedWeights[var.i] + state.increase * 2\n } else {\n weights[var.i] = completedWeights[var.i] + state.increase\n }\n }\n } else {\n weights *= 0.9\n }\n~}\n\nBent Over Row[1-8] / ...main / 105lb\nBench Press[1-8] / ...main / 120lb\nSquat[1-8] / ...main / 150lb\nHanging Leg Raise[1-8] / 3x10-15 / 0lb 90s / progress: dp(0lb, 10, 15)"},{"name":"Workout B","exerciseText":"Chin Up[1-8] / ...main / 5lb\nOverhead Press[1-8] / ...main / 65lb\nDeadlift[1-8] / ...main / 140lb\nFace Pull[1-8] / 3x12-15 / 40lb 90s / progress: dp(5lb, 12, 15)"},{"name":"Workout C","exerciseText":"// Swim nonstop for the target time. To keep it from getting boring, change stroke every 4 lengths (free, breast, back). Stop the timer when you finish.\nSwim / 1x1 / 0lb 2100s+|0s / progress: custom(cap: 3600) {~\n if (completedSetTime >= setTime) {\n if (setTime < state.cap) {\n setTime += 300\n }\n }\n~}","description":"**Steady swim.** Nonstop, any stroke. Goes up 5 min each time you finish it, up to 60 min."}],"description":"**COACH NOTES** (updated 2026-10-10)\n* Goal: strength-preserving weight loss, 173 -> 160lb (171.5 on 9/23). Dislikes running; low-impact/swim for cardio. Days run in order A -> B -> C (swim), then repeat; not tied to weekdays.\n* Equipment: smallest plates are 2.5lb, so every barbell jump is 5lb min (main increase 5lb; 1.25s removed from gym 10/7).\n* LEFT ELBOW: recurring pain/twinge on bench + OHP since 9/16 (strain on bench 10/5, twinge on OHP 10/7); right elbow slight on OHP 10/7. Keep tempo slow; back off if it worsens.\n* Lower back strains after final squat set and deadlifts; left knee feels weak in squats; quads sore after squats 10/5.\n* Bench: bar rotates (left down, right up). Rows: posture breaks on final set, cut the AMRAP when it goes.\n* Leg raises: slow/controlled, shoulders+arms active, drive up on the back-swing to kill momentum. Improving.\n* Chin-ups stalling on sets 2-3 (5/3/4 on 10/7); hand pads/grip limiting.\n* Face pulls 10/7: station taken, did seated cable row at 35lb (4/3/3), not a regression; reps reset to 3x12-15.\n* Open: get a phone stand to film sets for form checks.\n* SWIM: swims mostly freestyle + breaststroke, wants to improve backstroke. 8-week swim rotation (one swim per week, A/B unchanged): W1 steady nonstop, W2 free intervals, W3 backstroke skills, W4 pyramid, W5 stroke mix, W6 pace test, W7 speed play, W8 distance. In swim sets, reps = pool lengths per repeat (4 lengths ~ 100), rest timer = rest between repeats. No paddles (elbow); kick on back or side, not on a kickboard (lower back); keep the breaststroke kick narrow and switch to flutter kick if the left knee complains. Next cycle: add 1 repeat to each main set that was finished.\n* Swim log: 9/20 20 min, 10/3 30 min, 10/10 33 min nonstop (target was 35). Pace test (W6): not done yet."},{"name":"Week 2","days":[{"name":"Workout A","exerciseText":""},{"name":"Workout B","exerciseText":""},{"name":"Workout C","exerciseText":"// Warm-up: 8 lengths easy, mix freestyle and breaststroke.\nwarm: Swim / 1x8 / 0lb 60s\n// Backstroke kick, arms at your sides. Hips up, small quick kicks from the hip, not the knee. Fins are fine.\nkick: Swim / 4x1 / 0lb 20s\n// Main set: freestyle, 2 lengths each. Check the clock at each finish and try to hold the same time on all 8.\nmain: Swim / 8x2 / 0lb 20s\n// Easy backstroke. Look straight up, long arms, pinky finger enters the water first.\nback: Swim / 4x1 / 0lb 20s\n// Cool-down: 4 lengths easy, any stroke.\ncool: Swim / 1x4 / 0lb 0s","description":"**Free intervals.** Learn the pace clock: same speed on every repeat. About 900 total."}]},{"name":"Week 3","days":[{"name":"Workout A","exerciseText":""},{"name":"Workout B","exerciseText":""},{"name":"Workout C","exerciseText":"// Warm-up: 8 lengths easy, any stroke.\nwarm: Swim / 1x8 / 0lb 60s\n// Backstroke kick, arms at your sides. Head still, ears in the water, belly button up.\nkick: Swim / 6x1 / 0lb 20s\n// Single-arm backstroke: one arm rests at your side, the other strokes. Switch arms each length. Roll your shoulder out of the water on every stroke.\ndrill: Swim / 4x1 / 0lb 20s\n// Full backstroke, 2 lengths each. Count your strokes per length and try to take 1 fewer by the last repeat.\nmain: Swim / 6x2 / 0lb 30s\n// Easy freestyle to finish the main work.\nfree: Swim / 4x2 / 0lb 20s\n// Cool-down: 4 lengths easy, any stroke.\ncool: Swim / 1x4 / 0lb 0s","description":"**Backstroke skills.** Drills first, then full stroke. About 1100 total."}]},{"name":"Week 4","days":[{"name":"Workout A","exerciseText":""},{"name":"Workout B","exerciseText":""},{"name":"Workout C","exerciseText":"// Warm-up: 8 lengths easy, any stroke.\nwarm: Swim / 1x8 / 0lb 60s\n// Pyramid: 1, 2, 3, 4 lengths freestyle, then 3, 2, 1 lengths breaststroke. Rest after each step, longer at the top.\nmain: Swim / 1x1 20s, 1x2 20s, 1x3 20s, 1x4 40s, 1x3 20s, 1x2 20s, 1x1 20s / 0lb\n// Backstroke, 2 lengths each, relaxed. Keep the kick going the whole way.\nback: Swim / 4x2 / 0lb 20s\n// Cool-down: 4 lengths easy, any stroke.\ncool: Swim / 1x4 / 0lb 0s","description":"**Pyramid.** 1-2-3-4-3-2-1 lengths: up in freestyle, down in breaststroke. About 900 total."}]},{"name":"Week 5","days":[{"name":"Workout A","exerciseText":""},{"name":"Workout B","exerciseText":""},{"name":"Workout C","exerciseText":"// Warm-up: 8 lengths easy, any stroke.\nwarm: Swim / 1x8 / 0lb 60s\n// Mini medley: 3 lengths each, 1 backstroke, 1 breaststroke, 1 freestyle.\nmain: Swim / 4x3 / 0lb 30s\n// Breaststroke: pull, breathe, kick, then glide for a full second. Narrow kick; if the left knee complains, use a flutter kick with breaststroke arms.\nbreast: Swim / 4x2 / 0lb 20s\n// Backstroke: count your strokes per length and compare to week 3.\nback: Swim / 4x2 / 0lb 20s\n// Freestyle build: start easy and get a little faster each length.\nbuild: Swim / 1x4 / 0lb 30s\n// Cool-down: 4 lengths easy, any stroke.\ncool: Swim / 1x4 / 0lb 0s","description":"**Stroke mix.** All three strokes, with a breaststroke and backstroke focus. About 1100 total."}]},{"name":"Week 6","days":[{"name":"Workout A","exerciseText":""},{"name":"Workout B","exerciseText":""},{"name":"Workout C","exerciseText":"// Warm-up: 8 lengths easy, any stroke.\nwarm: Swim / 1x8 / 0lb 60s\n// Builds: each length starts easy and finishes fast.\nbuild: Swim / 4x1 / 0lb 30s\n// TEST 1: 16 lengths (~400) freestyle, as fast as you can hold evenly. Stop the timer when you touch. Then 5 min easy swimming.\ntest400: Swim / 1x16 / 0lb 600s+|300s\n// TEST 2: 8 lengths (~200) freestyle, hard. Stop the timer when you touch.\ntest200: Swim / 1x8 / 0lb 300s+|0s\n// Cool-down: 4 lengths easy backstroke.\ncool: Swim / 1x4 / 0lb 0s","description":"**Pace test.** Gives your pace per 100. Pace = (400 time - 200 time) / 2. Send both times to the coach."}]},{"name":"Week 7","days":[{"name":"Workout A","exerciseText":""},{"name":"Workout B","exerciseText":""},{"name":"Workout C","exerciseText":"// Warm-up: 8 lengths easy, any stroke.\nwarm: Swim / 1x8 / 0lb 60s\n// Freestyle, 3 lengths each: lengths 1-2 easy, length 3 fast.\nmain: Swim / 4x3 / 0lb 30s\n// Backstroke, alternate easy and strong lengths.\nback: Swim / 6x1 / 0lb 20s\n// Fast breaststroke, 1 length each, full rest. Narrow kick.\nbreast: Swim / 4x1 / 0lb 40s\n// Cool-down: 6 lengths easy, any stroke.\ncool: Swim / 1x6 / 0lb 0s","description":"**Speed play.** Easy-easy-fast repeats, plus some quicker backstroke and breaststroke. About 900 total."}]},{"name":"Week 8","days":[{"name":"Workout A","exerciseText":""},{"name":"Workout B","exerciseText":""},{"name":"Workout C","exerciseText":"// Warm-up: 8 lengths easy, any stroke.\nwarm: Swim / 1x8 / 0lb 60s\n// 3 x 8 lengths (~200): #1 freestyle, #2 breaststroke, #3 freestyle. Steady, about your test pace plus 5s per 100.\nmain: Swim / 3x8 / 0lb 45s\n// 4 lengths backstroke nonstop.\nback: Swim / 1x4 / 0lb 30s\n// Cool-down: 4 lengths easy, any stroke.\ncool: Swim / 1x4 / 0lb 0s","description":"**Distance.** Longer repeats at steady effort. About 1000 total."}]}]},"nextDay":14,"isMultiweek":false},{"deletedDays":[],"weeks":[],"vtype":"program","author":"/r/fitness","clonedAt":1789318457433,"description":"The go-to starting program from the r/Fitness wiki. Three days per week, two alternating workouts, six barbell movements. Every set scheme is the same: 2 straight sets of 5, then one all-out AMRAP set. Add weight each session, deload 10% when you stall, and move on after 3 months.","shortDescription":"Simple 3-day barbell program to build your first foundation of strength","url":"https://thefitness.wiki/routines/r-fitness-basic-beginner-routine/","tags":[],"deletedWeeks":[],"exercises":[],"name":"Basic Beginner Routine","days":[{"name":"Day 1","exercises":[],"id":"qvvayrcb"}],"id":"wbxfxgmk","deletedExercises":[],"planner":{"name":"Basic Beginner Routine","vtype":"planner","weeks":[{"name":"Week 1","days":[{"name":"Workout A","exerciseText":"main / used: none / 2x5, 1x5+ \\\n / progress: custom(increase: 2.5lb) {~\n if (completedReps >= reps) {\n for (var.i in completedReps) {\n if (completedReps[ns] > 10) {\n weights[var.i] = completedWeights[var.i] + state.increase * 2\n } else {\n weights[var.i] = completedWeights[var.i] + state.increase\n }\n }\n } else {\n weights *= 0.9\n }\n~}\n\nBent Over Row / ...main / 95lb\nBench Press / ...main / 45lb\nSquat / ...main / 45lb / progress: custom(increase: 5lb) { ...main }"},{"name":"Workout B","exerciseText":"Chin Up / ...main / 0lb\nOverhead Press / ...main / 45lb\nDeadlift / ...main / 95lb / progress: custom(increase: 5lb) { ...main }"}]}]},"nextDay":1,"isMultiweek":true}],"stats":{"weight":{"weight":[{"timestamp":1793043017700,"updatedAt":1793043017700,"value":{"value":173.4,"unit":"lb"},"vtype":"stat"},{"timestamp":1792958462962,"updatedAt":1792958462962,"value":{"value":169.3,"unit":"lb"},"vtype":"stat"},{"timestamp":1792438955733,"updatedAt":1792438955733,"value":{"value":172.5,"unit":"lb"},"vtype":"stat"},{"timestamp":1792009409414,"updatedAt":1792009409414,"value":{"value":173.3,"unit":"lb"},"vtype":"stat"},{"timestamp":1791834882720,"updatedAt":1791834882720,"value":{"value":169.5,"unit":"lb"},"vtype":"stat"},{"timestamp":1791641728584,"updatedAt":1791641728584,"value":{"value":170,"unit":"lb"},"vtype":"stat"},{"timestamp":1791401526252,"updatedAt":1791401526252,"value":{"value":171.2,"unit":"lb"},"vtype":"stat"},{"timestamp":1791228406934,"updatedAt":1791228406934,"value":{"value":171.1,"unit":"lb"},"vtype":"stat"},{"timestamp":1791048758627,"updatedAt":1791048758627,"value":{"value":172.4,"unit":"lb"},"vtype":"stat"},{"timestamp":1790624827403,"updatedAt":1790624827403,"value":{"value":169.7,"unit":"lb"},"vtype":"stat"}]},"length":{},"percentage":{},"health":{}},"history":[]},"revisions":[]}