I hereby acknowledgement that I may become unbelievably swolenormous and accept all risks of becoming the local mass montrosity, afflicted with severe body dismorphia, unable to fit through doors.
99 |
100 |
101 |
102 | )
103 | }
104 |
--------------------------------------------------------------------------------
/src/utils/functions.js:
--------------------------------------------------------------------------------
1 | import { EXERCISES, SCHEMES, TEMPOS, WORKOUTS } from "./swoldier"
2 | const exercises = exercisesFlattener(EXERCISES)
3 |
4 | export function generateWorkout(args) {
5 | const { muscles, poison: workout, goal } = args
6 | let exer = Object.keys(exercises);
7 | exer = exer.filter((key) => exercises[key].meta.environment !== "home");
8 | let includedTracker = [];
9 | let numSets = 5;
10 | let listOfMuscles;
11 |
12 | if (workout === "individual") {
13 | listOfMuscles = muscles;
14 | } else {
15 | listOfMuscles = WORKOUTS[workout][muscles[0]];
16 | }
17 |
18 | listOfMuscles = new Set(shuffleArray(listOfMuscles));
19 | let arrOfMuscles = Array.from(listOfMuscles);
20 | let scheme = goal
21 | let sets = SCHEMES[scheme].ratio
22 | .reduce((acc, curr, index) => {
23 | //make this compound and exercise muscle -> array of objects and destructure in loop
24 | return [
25 | ...acc,
26 | ...[...Array(parseInt(curr)).keys()].map((val) =>
27 | index === 0 ? "compound" : "accessory"
28 | ),
29 | ];
30 | }, [])
31 | .reduce((acc, curr, index) => {
32 | const muscleGroupToUse =
33 | index < arrOfMuscles.length
34 | ? arrOfMuscles[index]
35 | : arrOfMuscles[index % arrOfMuscles.length];
36 | return [
37 | ...acc,
38 | {
39 | setType: curr,
40 | muscleGroup: muscleGroupToUse,
41 | },
42 | ];
43 | }, []);
44 |
45 | const { compound: compoundExercises, accessory: accessoryExercises } =
46 | exer.reduce(
47 | (acc, curr) => {
48 | let exerciseHasRequiredMuscle = false;
49 | for (const musc of exercises[curr].muscles) {
50 | if (listOfMuscles.has(musc)) {
51 | exerciseHasRequiredMuscle = true;
52 | }
53 | }
54 | return exerciseHasRequiredMuscle
55 | ? {
56 | ...acc,
57 | [exercises[curr].type]: {
58 | ...acc[exercises[curr].type],
59 | [curr]: exercises[curr],
60 | },
61 | }
62 | : acc;
63 | },
64 | { compound: {}, accessory: {} }
65 | );
66 |
67 | const genWOD = sets.map(({ setType, muscleGroup }) => {
68 | const data =
69 | setType === "compound" ? compoundExercises : accessoryExercises;
70 | const filteredObj = Object.keys(data).reduce((acc, curr) => {
71 | if (
72 | includedTracker.includes(curr) ||
73 | !data[curr].muscles.includes(muscleGroup)
74 | ) {
75 | // if (includedTracker.includes(curr)) { console.log('banana', curr) }
76 | return acc;
77 | }
78 | return { ...acc, [curr]: exercises[curr] };
79 | }, {});
80 | const filteredDataList = Object.keys(filteredObj);
81 | const filteredOppList = Object.keys(
82 | setType === "compound" ? accessoryExercises : compoundExercises
83 | ).filter((val) => !includedTracker.includes(val));
84 |
85 | let randomExercise =
86 | filteredDataList[
87 | Math.floor(Math.random() * filteredDataList.length)
88 | ] ||
89 | filteredOppList[
90 | Math.floor(Math.random() * filteredOppList.length)
91 | ];
92 |
93 | // console.log(randomExercise)
94 |
95 | if (!randomExercise) {
96 | return {};
97 | }
98 |
99 | let repsOrDuraction =
100 | exercises[randomExercise].unit === "reps"
101 | ? Math.min(...SCHEMES[scheme].repRanges) +
102 | Math.floor(
103 | Math.random() *
104 | (Math.max(...SCHEMES[scheme].repRanges) -
105 | Math.min(...SCHEMES[scheme].repRanges))
106 | ) +
107 | (setType === "accessory" ? 4 : 0)
108 | : Math.floor(Math.random() * 40) + 20;
109 | const tempo = TEMPOS[Math.floor(Math.random() * TEMPOS.length)];
110 |
111 | if (exercises[randomExercise].unit === "reps") {
112 | const tempoSum = tempo
113 | .split(" ")
114 | .reduce((acc, curr) => acc + parseInt(curr), 0);
115 | if (tempoSum * parseInt(repsOrDuraction) > 85) {
116 | repsOrDuraction = Math.floor(85 / tempoSum);
117 | }
118 | } else {
119 | //set to nearest 5 seconds
120 | repsOrDuraction = Math.ceil(parseInt(repsOrDuraction) / 5) * 5;
121 | }
122 | includedTracker.push(randomExercise);
123 |
124 | return {
125 | name: randomExercise,
126 | tempo,
127 | rest: SCHEMES[scheme]["rest"][setType === "compound" ? 0 : 1],
128 | reps: repsOrDuraction,
129 | ...exercises[randomExercise],
130 | };
131 | });
132 |
133 | return genWOD.filter(
134 | (element) => Object.keys(element).length > 0
135 | );
136 | }
137 |
138 | function shuffleArray(array) {
139 | for (let i = array.length - 1; i > 0; i--) {
140 | let j = Math.floor(Math.random() * (i + 1))
141 | let temp = array[i]
142 | array[i] = array[j]
143 | array[j] = temp
144 | }
145 | return array
146 | }
147 |
148 | function exercisesFlattener(exercisesObj) {
149 | const flattenedObj = {}
150 |
151 | for (const [key, val] of Object.entries(exercisesObj)) {
152 | if (!("variants" in val)) {
153 | flattenedObj[key] = val
154 | } else {
155 | for (const variant in val.variants) {
156 | let variantName = variant + "_" + key
157 | let variantSubstitutes = Object.keys(val.variants).map((element) => {
158 | return element + ' ' + key
159 | }).filter(element => element.replaceAll(' ', '_') !== variantName)
160 |
161 | flattenedObj[variantName] = {
162 | ...val,
163 | description: val.description + '___' + val.variants[variant],
164 | substitutes: [
165 | ...val.substitutes, variantSubstitutes
166 | ].slice(0, 5)
167 | }
168 | }
169 | }
170 | }
171 | return flattenedObj
172 | }
--------------------------------------------------------------------------------
/src/utils/swoldier.js:
--------------------------------------------------------------------------------
1 | export const TEMPOS = ['3 0 2', '2 2 2', '4 1 1', '5 3 1', '1 0 1', '3 2 1', '2 1 1']
2 |
3 | export const SCHEMES = {
4 | strength_power: {
5 | repRanges: [3, 8],
6 | ratio: [3, 2],
7 | rest: [120, 60]
8 | },
9 | growth_hypertrophy: {
10 | repRanges: [8, 15],
11 | ratio: [2, 3],
12 | rest: [90, 60]
13 | },
14 | cardiovascular_endurance: {
15 | repRanges: [12, 30],
16 | ratio: [2, 4],
17 | rest: [60, 45]
18 | }
19 | }
20 |
21 | export const WORKOUTS = {
22 | individual: ['biceps', 'triceps', 'chest', 'back', 'shoulders', 'quads', 'hamstrings', 'glutes', 'calves', 'abs'],
23 | bro_split: {
24 | push: ['triceps', 'chest', 'shoulders'],
25 | pull: ['back', 'shoulders', 'biceps'],
26 | legs: ['glutes', 'calves', 'hamstrings', 'quads']
27 | },
28 | bodybuilder_split: {
29 | chest: ['chest'],
30 | back: ['back'],
31 | shoulders: ['shoulders'],
32 | legs: ['glutes', 'quads', 'hamstrings', 'calves'],
33 | arms: ['biceps', 'triceps'],
34 | abs: ['abs']
35 | },
36 | upper_lower: {
37 | upper: ['triceps', 'biceps', 'shoulders', 'chest', 'back'],
38 | lower: ['quads', 'calves', 'hamstrings', 'glutes']
39 | }
40 | }
41 |
42 | //write a function that flattens this thing with all the variants
43 | //if athome, then have to specify equipment (if required otherwise bodyweight)
44 | //add instructions for substitutions (at home substitutions) for weights etc
45 | //variant is just going to be gym (forget about home stuff as long as one of the variants is
46 | //make it so that you can't get the same varient in a single workout (maybe)
47 | //add all the other variants to the subsubstitute list
48 | //pick a random exercise
49 | //for non-members, exclude all the at home specific exercises (anything particularly pussy like a lot of the bodyweight stuff)
50 |
51 | const bw_exercises = {
52 |
53 | }
54 |
55 | export const EXERCISES = {
56 | barbell_bench_press: {
57 | type: 'compound',
58 | meta: {
59 | environment: 'gym',
60 | level: [0, 1, 2],
61 | equipment: ['barbell']
62 | },
63 | variants: {
64 | incline: 'With a bench inclined between 30 and 45 degrees, hold the bar directly above your chest.',
65 | flat: 'Perform this exercise on a horizontal bench.',
66 | decline: 'Perform this exercise on a bench inclined at a -15 degree angle, your head at the lower end of the bench. Try to hook your legs over the end of the higher end of the bench, so to prevent yourself from slipping.',
67 | underhand: 'Lying on a flat bench, grab the bar with a reversed underhand grip, so that you are now holding the barbell thumbs pointing outwards. Be sure to reduce the weight when performing this variation of the exercise.'
68 | },
69 | unit: 'reps', //vs duration
70 | muscles: ['chest'],
71 | description: 'Ensure your scapula are retracted when performing the bench press, arms 2 palm widths wider than shoulder width. Lower the bar with your elbows flared at a 45 degree angle from your torso, touching the bar down to your chest at your nipple line.',
72 | substitutes: ['pushups', 'dumbbell bench press', 'floor press']
73 | //have general description first and specific one second
74 | },
75 | prayer_press: {
76 | type: 'accessory',
77 | meta: {
78 | environment: 'gymhome',
79 | level: [0, 1, 2],
80 | equipment: []
81 | },
82 | variants: {
83 | incline: 'Press your hands away from you at a 45 degree angle above horizontal.',
84 | horizontal: 'Press your hands away from you at a 45 degree angle from horizontal.',
85 | decline: 'Press your hands away from you at a -30 degree angle below horizontal.'
86 | },
87 | unit: 'reps', //vs duration
88 | muscles: ['chest'],
89 | description: 'Place a light, weighted plate between the palms of your hands (as if your were praying), and while keeping your scapula retracted, press your hands together while pushing the plate away from you.',
90 | substitutes: ['palm prayer press']
91 | },
92 | pec_dec: {
93 | type: 'accessory',
94 | meta: {
95 | environment: 'gym', //if it has home, have to specify equipment
96 | level: [0, 1, 2],
97 | equipment: []
98 | },
99 | variants: {
100 | high: 'Place the seat height so that your hands meet in the same horizontal plane as your mouth/chin.',
101 | standard: 'Place the seat height so that your hands meet in the same horizontal plane as your nipple height',
102 | decline: 'Place the seat height as high as possible so that the hand holds are below nipple height while sitting.'
103 | },
104 | unit: 'reps', //vs duration muscles: ['chest'],
105 | muscles: ['chest'],
106 | description: 'Ensure your scapula is retracted and try to puff our your chest while performing this exercise. Make sure you bring the handles together so they touch, and the range of motion should be no more than 90 degrees either side.',
107 | substitutes: ['cable chest fly']
108 | },
109 | standing_dumbbell_incline_fly: {
110 | type: 'accessory',
111 | meta: {
112 | environment: 'gymhome',
113 | level: [0, 1, 2],
114 | equipment: ['dumbbells', 'bands']
115 | },
116 | unit: 'reps', //vs duration
117 | muscles: ['chest', 'shoulders'],
118 | description: 'Standing with a dumbbell in either hand, palms facing forwards and chest puffed out, raise one dumbbell up and across your body until your palm is facing the ceiling and your hand has crossed your body. Lower slowing and repeat on the other side.',
119 | substitutes: ['inclined cable fly']
120 | },
121 | standing_plate_raises: {
122 | type: 'accessory',
123 | meta: {
124 | environment: 'gymhome',
125 | level: [0, 1, 2],
126 | equipment: ['dumbbells']
127 | },
128 | unit: 'reps', //vs duration
129 | muscles: ['chest', 'shoulders'],
130 | description: 'Standing with a weighted plate gripped eitherside, start with the plate down infront of your hips, and then raise the plate up infront of you to shoulder height, pausing at that height for a moment, before lowering the weight back down. Puff your chest up towards the ceiling while performing this exercise.',
131 | substitutes: ['standing dumbbell inline fly']
132 | },
133 | cable_fly: {
134 | type: 'accessory',
135 | meta: {
136 | environment: 'gymhome',
137 | level: [0, 1, 2],
138 | equipment: ['bands']
139 | },
140 | variants: {
141 | incline: 'To target your upper chest, ensure the cable fixing is low, close to the ground. Your hands will move from low at your sides, to high, up infront of your face.',
142 | horizontal: 'Ensure the cabling fixing is at approximately chest height while performing this exercise.',
143 | decline: 'Set the cable fixing to the highest setting, so your hands move from high to low (as they come together infront of you) throughout the motion.'
144 | },
145 | unit: 'reps', //vs duration
146 | muscles: ['chest'],
147 | description: 'This exercise can be performed from high to low, or low to high. Using the handles and with your arms mostly straight, bring the two handles together in front of you, and then slowly release backwards.',
148 | substitutes: ['Inclined dumbbell fly']
149 | },
150 | pushup: {
151 | type: 'accessory',
152 | meta: {
153 | environment: 'gymhome',
154 | level: [0, 1, 2],
155 | equipment: []
156 | },
157 | variants: {
158 | incline: 'To perform the inline pushup, ensure your feet are atop of a slightly elevated surface, while your hands are on the ground.',
159 | military: 'Ensure your hands are in the same vertical plane as your chest and shoulders',
160 | decline: 'To perform a decline pushup, place your hands slightly further underneath you, so that you are leaning over your hands and they are closer towards the line of your waist, that your shoulders.'
161 | },
162 | unit: 'reps', //vs duration
163 | muscles: ['chest'],
164 | description: 'In a plank position, with hands slightly further than shoulder width apart (and thumbs around nipple height), slowly lower your chest to the ground, keeping elbows flared to a 45 degree angle. Then press back up.',
165 | substitutes: ['pushups', 'dumbbell bench press', 'floor press']
166 | },
167 | dips: {
168 | type: 'compound',
169 | meta: {
170 | environment: 'gymhome',
171 | level: [0, 1, 2],
172 | equipment: []
173 | },
174 | unit: 'reps', //vs duration
175 | muscles: ['chest', 'triceps'],
176 | description: 'When in the dip position, ensure you are leaning forward over your hands and slowly lower your body until your elbows are parallel with the ground. Then press back up. Keep your elbow flare to a maximum of 45 degrees.',
177 | substitutes: ['Chair dip']
178 | },
179 | // incline_barbell_bench: {
180 | // type: 'compound',
181 | // meta: {
182 | // environment: 'gymhome',
183 | // level: [0, 1, 2],
184 | // equipment: []
185 | // },
186 | // variants: {
187 | // incline: 'Press your hands away from you at a 45 degree angle above horizontal.',
188 | // horizontal: 'Press your hands away from you at a 45 degree angle from horizontal.',
189 | // decline: 'Press your hands away from you at a -30 degree angle below horizontal.'
190 | // },
191 | // unit: 'reps', //vs duration
192 | // muscles: ['chest'],
193 | // description: 'With a bench inclined between 30 and 45 degrees, hold the bar directly above your chest. With your scapula retracted, lower the bar keeping elbows to a maximum 45 degree flare, until the bar touches your chest. Then press back up.',
194 | // substitutes: ['inclined dumbbell press', 'inclined pushup']
195 | // },
196 | // incline_dumbbell_bench: {
197 | // type: 'compound',
198 | // meta: {
199 | // environment: 'gymhome',
200 | // level: [0, 1, 2],
201 | // equipment: []
202 | // },
203 | // variants: {
204 | // incline: 'Press your hands away from you at a 45 degree angle above horizontal.',
205 | // horizontal: 'Press your hands away from you at a 45 degree angle from horizontal.',
206 | // decline: 'Press your hands away from you at a -30 degree angle below horizontal.'
207 | // },
208 | // unit: 'reps', //vs duration
209 | // muscles: ['chest'],
210 | // description: 'With a bench inclined between 30 and 45 degrees, hold the dumbbells directly above your chest. With your scapula retracted, lower the dumbells keeping elbows to a maximum 45 degree flare, until your thumbs touch your nipples. Then press back up.',
211 | // substitutes: ['inclined dumbbell press', 'inclined pushup']
212 | // },
213 | dumbbell_bench_press: {
214 | type: 'compound',
215 | meta: {
216 | environment: 'gym',
217 | level: [0, 1, 2],
218 | equipment: ['dumbbell']
219 | },
220 | variants: {
221 | incline: 'Perform this exercise on a bench inclined to 30 degrees.',
222 | horizontal: 'Perform this exercise on a flat bench.',
223 | decline: 'Perform this exercise on a bench declined by around 15 degrees, with your head resting at the lower end.',
224 | neutral_grip_incline: 'Perform this exercise on a bench inclined to 30 degrees. Align the dumbbells so that they are parallel to one another, your thumbs able to point along the length of your body.',
225 | neutral_grip_horizontal: 'Perform this exercise on a flat bench. Align the dumbbells so that they are parallel to one another, your thumbs able to point along the length of your body.',
226 | neutral_grip_decline: 'Perform this exercise on a bench declined by around 15 degrees, with your head resting at the lower end. Align the dumbbells so that they are parallel to one another, your thumbs able to point along the length of your body.',
227 | rotating_incline: 'Perform this exercise on a bench inclined to 30 degrees. Begin the movement with the dumbbells up above your chest, thumbs pointing towards eachother, and as you lower them either side of your chest, rotate the dumbbells so that your thumbs rotate to point up your body in the direction of your head, making the dumbbells parallel to each other. As you press back up, rotate them back to the original position.',
228 | rotating_horizontal: 'Perform this exercise on a flat bench. Begin the movement with the dumbbells up above your chest, thumbs pointing towards eachother, and as you lower them either side of your chest, rotate the dumbbells so that your thumbs rotate to point up your body in the direction of your head, making the dumbbells parallel to each other. As you press back up, rotate them back to the original position.',
229 | rotating_decline: 'Perform this exercise on a bench declined by around 15 degrees, with your head resting at the lower end. Begin the movement with the dumbbells up above your chest, thumbs pointing towards eachother, and as you lower them either side of your chest, rotate the dumbbells so that your thumbs rotate to point up your body in the direction of your head, making the dumbbells parallel to each other. As you press back up, rotate them back to the original position.',
230 | },
231 | unit: 'reps', //vs duration
232 | muscles: ['chest'],
233 | description: 'With your scapula retracted, hold the dumbbells directly above your chest with your hands slightly wider than shoulder width apart. Lower the dumbbells, keeping elbows to a maximum 45 degree flare, until the your thumbs can touch your nipples/or are at the same height as your nipples, keeping your elbows flared at 45 degrees from your torso. Then press back up.',
234 | substitutes: ['pushup', 'bench press']
235 | },
236 | // decline_pushup: {
237 | // type: 'accessory',
238 | // meta: {
239 | // environment: 'gymhome',
240 | // level: [0, 1, 2],
241 | // equipment: []
242 | // },
243 | // variants: {
244 | // incline: 'Press your hands away from you at a 45 degree angle above horizontal.',
245 | // horizontal: 'Press your hands away from you at a 45 degree angle from horizontal.',
246 | // decline: 'Press your hands away from you at a -30 degree angle below horizontal.'
247 | // },
248 | // unit: 'reps', //vs duration
249 | // muscles: ['chest'],
250 | // description: 'With your feet elevated by 1ft or 30cm, begin in a plank position with hands slightly wider than shoulder width inline with your nipples. Lower until your thumbs touch your nipples and then press back up.',
251 | // substitutes: ['pushup', 'dips']
252 | // },
253 | landmine_press: {
254 | type: 'accessory',
255 | meta: {
256 | environment: 'gym',
257 | level: [0, 1, 2],
258 | equipment: []
259 | },
260 | variants: {
261 | unilateral: 'Stand with the end of a tbar in one hand with your thumb near to your shoulder and your body at a 45 degree to the plane of the bar. Press the bar up and across your chest until your arm is extended and lower back down.',
262 | two_handed: 'Hold the end of the barbell with both hands, the barbell pointing directly away from your body, and press the barbell forwards and up until your hands are straight, then slowly lower it back towards your body.',
263 | },
264 | unit: 'reps', //vs duration
265 | muscles: ['chest'],
266 | description: 'Pin the end of a barbell into a ball-joint restraint or corner in the ground. Load any weight on the opposite end of the barbell. Standing behind the loaded end of the barbell, lift the one end so it starts off at chest height.',
267 | substitutes: ['prayer press']
268 | },
269 | chest_press: {
270 | type: 'accessory',
271 | meta: {
272 | environment: 'gym',
273 | level: [0, 1, 2],
274 | equipment: []
275 | },
276 | variants: {
277 | high: 'Place the seat height so that your hands move in the same horizontal plane as your mouth/chin.',
278 | standard: 'Place the seat height so that your hands move in the same horizontal plane as your nipple height',
279 | decline: 'Place the seat height as high as possible so that the hand holds are below nipple height while sitting.',
280 | unilateral: 'Adjust the seat so the handles are approximately mid-chest level. Turn your torso 30 to 45 degrees towards the side you are about to press with. Press the handle across your body. Repeat on both sides.'
281 | },
282 | unit: 'reps', //vs duration
283 | muscles: ['chest'],
284 | description: 'Begin with your chest puffed and your scapula down and retracted. Press the handles out until your arms are straight. Then slow release backwards.',
285 | substitutes: ['bench press', 'pushup']
286 | },
287 | // smith_machine_incline_press: {
288 | // type: 'compound',
289 | // meta: {
290 | // environment: 'gymhome',
291 | // level: [0, 1, 2],
292 | // equipment: []
293 | // },
294 | // variants: {
295 | // incline: 'Press your hands away from you at a 45 degree angle above horizontal.',
296 | // horizontal: 'Press your hands away from you at a 45 degree angle from horizontal.',
297 | // decline: 'Press your hands away from you at a -30 degree angle below horizontal.'
298 | // },
299 | // unit: 'reps', //vs duration
300 | // muscles: ['chest'],
301 | // description: 'Lying under a smith machine, bench at a 30 to 45 degree angle, ensure that the bar is aligned with your nipple height when it contacts your body. Keep elbows flared to a maximum of 45 degrees from your torso, hands slightly wider than shoulder width.',
302 | // substitutes: ['inclined dumbbell press', 'inclined pushup']
303 | // },
304 | smith_machine_press: {
305 | type: 'compound',
306 | meta: {
307 | environment: 'gym',
308 | level: [0, 1, 2],
309 | equipment: []
310 | },
311 | variants: {
312 | incline: 'With a bench inclined between 30 and 45 degrees, hold the bar directly above your chest.',
313 | flat: 'Perform this exercise on a horizontal bench.',
314 | decline: 'Perform this exercise on a bench inclined at a -15 degree angle, your head at the lower end of the bench. Try to hook your legs over the end of the higher end of the bench, so to prevent yourself from slipping.',
315 | underhand: 'Lying on a flat bench, grab the bar with a reversed underhand grip, so that you are now holding the barbell thumbs pointing outwards. Be sure to reduce the weight when performing this variation of the exercise.'
316 | },
317 | unit: 'reps', //vs duration
318 | muscles: ['chest'],
319 | description: 'Lying under a smith machine, ensure that the bar is aligned with your nipple height when it contacts your body. Keep elbows flared to a maximum of 45 degrees from your torso, hands slightly wider than shoulder width.',
320 | substitutes: ['bench press', 'pushup', 'dumbbell press']
321 | },
322 | // unilateral_chest_press: {
323 | // type: 'accessory',
324 | // meta: {
325 | // environment: 'gym',
326 | // level: [0, 1, 2],
327 | // equipment: []
328 | // },
329 | // variants: {
330 | // incline: 'Press your hands away from you at a 45 degree angle above horizontal.',
331 | // horizontal: 'Press your hands away from you at a 45 degree angle from horizontal.',
332 | // decline: 'Press your hands away from you at a -30 degree angle below horizontal.'
333 | // },
334 | // unit: 'reps', //vs duration
335 | // muscles: ['chest'],
336 | // description: 'Adjust the seat so the handles are approximately mid-chest level. Turn your torse 30 to 45 degrees the side you are about to press with. Press the handle across your body until your arm is straight and then release backwards. Repeat on both sides.',
337 | // substitutes: ['prayer press', 'cable fly']
338 | // },
339 | unilateral_cable_press: {
340 | type: 'accessory',
341 | meta: {
342 | environment: 'gymhome',
343 | level: [0, 1, 2],
344 | equipment: ['bands']
345 | },
346 | variants: {
347 | incline: 'To target your upper chest, ensure the cable fixing is low, close to the ground. Your hand will move from low at your side, to high, up infront of your face. Use an underhand grip for this movement.',
348 | horizontal: 'Ensure the cabling fixing is at approximately chest height while performing this exercise. Hold the cable in a neutral or overhand grip.',
349 | decline: 'Set the cable fixing to the highest setting, so your hand moves from high to low throughout the motion.'
350 | },
351 | unit: 'reps', //vs duration
352 | muscles: ['chest'],
353 | description: 'Align your body at a 30 to 45 degree plane to the cable. Press the cable handle across your body until your elbow is straight and slowly release backwards. Ensure elbows are tucked during the exercise.',
354 | substitutes: ['unilateral chest press']
355 | },
356 | cable_crossover_press: {
357 | type: 'accessory',
358 | meta: {
359 | environment: 'gymhome',
360 | level: [0, 1, 2],
361 | equipment: ['bands']
362 | },
363 | variants: {
364 | incline: 'To target your upper chest, ensure the cable fixing is low, close to the ground. Your hands will move from low at your sides, to high, up infront of your face.',
365 | horizontal: 'Ensure the cabling fixing is at approximately chest height while performing this exercise.',
366 | decline: 'Set the cable fixing to the highest setting, so your hands move from high to low (as they come together infront of you) throughout the motion.'
367 | },
368 | unit: 'reps', //vs duration
369 | muscles: ['chest'],
370 | description: 'As if you were doing a pushup or bench press, press the handles together and then crossed over in front of you, alternating the crossover of your hands with each rep.',
371 | substitutes: ['cable fly', 'unilateral chest press']
372 | },
373 | scapula_pushup: {
374 | type: 'accessory',
375 | meta: {
376 | environment: 'gymhome',
377 | level: [0, 1, 2],
378 | equipment: []
379 | },
380 | unit: 'reps', //vs duration
381 | muscles: ['chest'],
382 | description: 'While in a plank or kneeling plank position, with your hands aligned at approximately eye height on the ground, press yourself away from the ground. Then allow your body to come back down to the ground, keeping your elbows straight and the inside of your elbow facing forward at all times.',
383 | substitutes: ['pushup']
384 | },
385 | dumbbell_chest_fly: {
386 | type: 'accessory',
387 | meta: {
388 | environment: 'gymhome',
389 | level: [0, 1, 2],
390 | equipment: ['dumbbells']
391 | },
392 | variants: {
393 | incline: 'With a bench inclined between 30 and 45 degrees, hold the dumbbells directly above your chest.',
394 | flat: 'Perform this exercise on a horizontal bench.',
395 | decline: 'Perform this exercise on a bench inclined at a -15 degree angle, your head at the lower end of the bench. Try to hook your legs over the end of the higher end of the bench, so to prevent yourself from slipping.',
396 | },
397 | unit: 'reps', //vs duration
398 | muscles: ['chest'],
399 | description: 'Holding a dumbbell in each hand directly above your chest, slowly lower the dumbbells to either side of your body while keeping your arms mostly straight, palms to the ceiling. Ensure the weights do not drop lowering than the height of your body.',
400 | substitutes: ['cable fly']
401 | },
402 | dumbbell_floor_press: {
403 | type: 'compound',
404 | meta: {
405 | environment: 'gymhome',
406 | level: [0, 1, 2],
407 | equipment: ['dumbbells']
408 | },
409 | unit: 'reps', //vs duration
410 | muscles: ['chest'],
411 | description: 'Lying on your back with your scapula retracted, and the dumbbells starting over your chest, lower each side back down with elbows flared to a 45 degree angle until your elbows touch the ground. Then press back up.',
412 | substitutes: ['dumbbell bench press']
413 | },
414 | barbell_floor_press: {
415 | type: 'compound',
416 | meta: {
417 | environment: 'gymhome',
418 | level: [0, 1, 2],
419 | equipment: ['barbell']
420 | },
421 | unit: 'reps', //vs duration
422 | muscles: ['chest'],
423 | description: 'Lying with your scapula retracted, and the barbell starting over your chest, lower the barbell down towards nipple level, elbows flared to a 45 degree angle until your elbows touch the ground. Then press back up.',
424 | substitutes: ['barbell bench press']
425 | },
426 | dumbbell_pullover: {
427 | type: 'accessory',
428 | meta: {
429 | environment: 'gymhome',
430 | level: [0, 1, 2],
431 | equipment: ['dumbbells']
432 | },
433 | unit: 'reps', //vs duration
434 | muscles: ['chest', 'back'],
435 | description: 'Lying holding a single dumbbell as if it were a goblet directly above your chest, slowly track the dumbbell back over your head, keeping your elbows tucked. Track back as far as comfortable behind your head, and then return to the starting position.',
436 | substitutes: ['Inclined dumbbell fly']
437 | },
438 | pullup: {
439 | type: 'compound',
440 | meta: {
441 | environment: 'gymhome',
442 | level: [0, 1, 2],
443 | equipment: []
444 | },
445 | variants: {
446 | underhand: 'Perform this movement with a supinated grip, palms facing towards you.',
447 | neutral_grip: 'Perform this movement with a neutral grip, palms facing each other.',
448 | overhand: 'Perform this movement with a pronated grip, palms facing away from you.'
449 | },
450 | unit: 'reps', //vs duration
451 | muscles: ['back'],
452 | description: 'Hands approximately shoulder width or slightly wider apart, start by retracting your scapula down and back, and then pull your body up until your chin is above bar height. Then return to a dead hang. Use an assisted pullup machine if required.',
453 | substitutes: ['lat pulldown']
454 | },
455 | lat_pulldown: {
456 | type: 'compound',
457 | meta: {
458 | environment: 'gym',
459 | level: [0, 1, 2],
460 | equipment: []
461 | },
462 | variants: {
463 | underhand: 'Perform this movement with a supinated grip, palms facing towards you.',
464 | neutral_grip: 'Perform this movement with a neutral grip, palms facing each other.',
465 | overhand: 'Perform this movement with a pronated grip, palms facing away from you.'
466 | },
467 | unit: 'reps', //vs duration
468 | muscles: ['back'],
469 | description: 'Hands approximately shoulder width or slightly wider apart, start by retracting your scapula down and back, and then pull the bar down until it touches your chest. Then return to a dead hang position.',
470 | substitutes: ['pullup', 'kneeling lat pushdown']
471 | },
472 | straight_arm_pushdown: {
473 | type: 'accessory',
474 | meta: {
475 | environment: 'gymhome',
476 | level: [0, 1, 2],
477 | equipment: ['bands']
478 | },
479 | unit: 'reps', //vs duration
480 | muscles: ['back'],
481 | description: 'Begin with the bar approximately eye level and your arms extended mostly straight out in front of you, press the bar down (maintaining straight arms) until your hands or the bar touches your lower mid-section. Press your chest out and bring your hips through/between your arms (thrust). Release back to origin.',
482 | substitutes: ['pullup', 'kneeling lat pulldown']
483 | },
484 | kneeling_lat_pulldown: {
485 | type: 'accessory',
486 | meta: {
487 | environment: 'gymhome',
488 | level: [0, 1, 2],
489 | equipment: ['bands']
490 | },
491 | variants: {
492 | underhand: 'Perform this movement with a supinated grip, palms facing towards you.',
493 | neutral_grip: 'Perform this movement with a neutral grip, palms facing each other.',
494 | overhand: 'Perform this movement with a pronated grip, palms facing away from you.',
495 | },
496 | unit: 'reps', //vs duration
497 | muscles: ['back'],
498 | description: 'Hands approximately shoulder width or slightly wider apart, start by retracting your scapula down and back, and then pull the bar down until it touches your chest. Ensure your look at the ceiling throughout the duration of the movement. Then return to a dead hang position.',
499 | substitutes: ['pullup', 'kneeling lat pushdown']
500 | },
501 | one_arm_pulldown: {
502 | type: 'accessory',
503 | meta: {
504 | environment: 'gymhome',
505 | level: [0, 1, 2],
506 | equipment: ['bands']
507 | },
508 | unit: 'reps', //vs duration
509 | muscles: ['back'],
510 | description: 'Seated in the lat pulldown machine, begin by retracting your shoulder and scapula down and backwards. Then pull the handle down until your thumb can touch your shoulder. Repeat on both sides.',
511 | substitutes: ['pullup', 'kneeling lat pushdown']
512 | },
513 | barbell_bentover_row: {
514 | type: 'compound',
515 | meta: {
516 | environment: 'gymhome',
517 | level: [0, 1, 2],
518 | equipment: ['barbell']
519 | },
520 | variants: {
521 | underhand: 'Perform this movement with a supinated grip, palms facing away from your feet.',
522 | overhand: 'Perform this movement with a pronated grip, palms facing towards your feet.',
523 | },
524 | unit: 'reps', //vs duration
525 | muscles: ['back'],
526 | description: 'Begin standing, with your hands slightly wider than shoulder width apart holding the bar. With a slight bend in your knees, hinge at your hips until your torso is angled 45 degrees forward. Imagine pulling your elbows back behind you to complete the row.',
527 | substitutes: ['seated row', 'dumbbell row']
528 | },
529 | dumbbell_bentover_row: {
530 | type: 'compound',
531 | meta: {
532 | environment: 'gymhome',
533 | level: [0, 1, 2],
534 | equipment: ['dumbbell']
535 | },
536 | variants: {
537 | underhand: 'Perform this movement with a supinated grip, palms facing away from your feet.',
538 | neutral_grip: 'Perform this movement with a neutral grip, palms facing each other.',
539 | overhand: 'Perform this movement with a pronated grip, palms facing towards your feet.',
540 | },
541 | unit: 'reps', //vs duration
542 | muscles: ['back'],
543 | description: 'Begin standing, with your hands either side of your body holding the dumbbells. With a slight bend in your knees, hinge at your hips until your torso is angled 45 degrees forward. Imagine pulling your elbows back behind you to complete the row.',
544 | substitutes: ['seated row', 'dumbbell row']
545 | },
546 | pendlay_row: {
547 | type: 'accessory',
548 | meta: {
549 | environment: 'gymhome',
550 | level: [0, 1, 2],
551 | equipment: ['barbells']
552 | },
553 | variants: {
554 | underhand: 'Perform this movement with a supinated grip, palms facing away from your feet.',
555 | overhand: 'Perform this movement with a pronated grip, palms facing towards your feet.',
556 | },
557 | unit: 'reps', //vs duration
558 | muscles: ['back'],
559 | description: 'Begin with the bar on the ground, with your hands slightly wider than shoulder width apart. Hold your core tight, and pull your elbows back behind you until the bar touches your mid-chest. Slowly release back down to the ground and then repeat.',
560 | substitutes: ['seated row', 'barbell row']
561 | },
562 | bodyweight_row: {
563 | type: 'accessory',
564 | meta: {
565 | environment: 'gymhome',
566 | level: [0, 1, 2],
567 | equipment: []
568 | },
569 | variants: {
570 | underhand: 'Perform this movement with a supinated grip, palms facing away from your feet.',
571 | overhand: 'Perform this movement with a pronated grip, palms facing towards your feet.',
572 | },
573 | unit: 'reps', //vs duration
574 | muscles: ['back'],
575 | description: 'Find a bar or table at approximately chest to weight height, and hang underneath it with your legs extending out underneath the support. Row your chest to the bar, and slowly lower yourself back down. It\'s preferable that your body remain rigid and straight during the execution of the exercise.',
576 | substitutes: ['seated row', 'barbell row']
577 | },
578 | tbar_row: {
579 | type: 'compound',
580 | meta: {
581 | environment: 'gymhome',
582 | level: [0, 1, 2],
583 | equipment: ['barbell']
584 | },
585 | unit: 'reps', //vs duration
586 | muscles: ['back'],
587 | description: 'With the bar between your legs, your legs slightly bent, and with your torso hinged forward at the hips by approximately 45 degrees, row your elbows backwards until the weights touch your chest. Sit your bum back a bit to counter-balance the weight during this exercise.',
588 | substitutes: ['seated row', 'dumbbell row']
589 | },
590 | seated_row: {
591 | type: 'accessory',
592 | meta: {
593 | environment: 'gym',
594 | level: [0, 1, 2],
595 | equipment: []
596 | },
597 | variants: {
598 | underhand: 'Perform this movement with a supinated grip, palms facing towards the ceiling.',
599 | overhand: 'Perform this movement with a pronated grip, palms facing towards the ground.',
600 | },
601 | unit: 'reps', //vs duration
602 | muscles: ['back'],
603 | description: 'With your back vertical, row your elbows back and imagine pulling your hands to your hips on either side of your body. Ensure to minimise torso and hip hinging during the movement. Row low to grow.',
604 | substitutes: ['barbell row', 'dumbbell row']
605 | },
606 | unilateral_seated_row: {
607 | type: 'accessory',
608 | meta: {
609 | environment: 'gym',
610 | level: [0, 1, 2],
611 | equipment: []
612 | },
613 | variants: {
614 | underhand: 'Perform this movement with a supinated grip, palms facing the ceiling.',
615 | neutral_grip: 'Perform this movement with a neutral grip, palms facing towards your body.',
616 | overhand: 'Perform this movement with a pronated grip, palms facing towards the ground.',
617 | },
618 | unit: 'reps', //vs duration
619 | muscles: ['back'],
620 | description: 'With the handle attachment, row your elbow back and pull your hand and the handle to your hip, and then release forwards.',
621 | substitutes: ['seated row', 'dumbbell row']
622 | },
623 | cable_row: {
624 | type: 'accessory',
625 | meta: {
626 | environment: 'gymhome',
627 | level: [0, 1, 2],
628 | equipment: ['bands']
629 | },
630 | variants: {
631 | underhand: 'Perform this movement with a supinated grip, palms facing towards the ceiling.',
632 | overhand: 'Perform this movement with a pronated grip, palms facing towards the ground.',
633 | },
634 | unit: 'reps', //vs duration
635 | muscles: ['back'],
636 | description: 'With the cable at any height, bend your knees and lean back against the weights. Maintain your body in a stationary position, and row your elbows back, keeping your forearms neutral to the movement. Hold your core strong and tight.',
637 | substitutes: ['seated row', 'tbar row']
638 | },
639 | unilaterial_dumbbell_row: {
640 | type: 'compound',
641 | meta: {
642 | environment: 'gymhome',
643 | level: [0, 1, 2],
644 | equipment: ['dumbbells']
645 | },
646 | unit: 'reps', //vs duration
647 | muscles: ['back'],
648 | description: 'Leaning forward at a 45 degree angle, with your weight supported through one arm pressing on a study surface, hang the dumbbell from your other arm. Ensure the leg on the same side as your supporting arm is forward. Row your elbow back and your hand to your hip. Repeat on both sides.',
649 | substitutes: ['unilateral seated row', 'dumbbell row']
650 | },
651 | chest_supported_dumbbell_row: {
652 | type: 'accessory',
653 | meta: {
654 | environment: 'gym',
655 | level: [0, 1, 2],
656 | equipment: []
657 | },
658 | unit: 'reps', //vs duration
659 | muscles: ['back'],
660 | description: 'With your chest supported on a bench angled to a 30 to 45 degree incline, hand your arms either side with dumbbells in each. Row your elbows back with your hands on a trajectory towards your lower waist. Slowly release the weights back forward.',
661 | substitutes: ['seated row', 'barbell row']
662 | },
663 | machine_row: {
664 | type: 'accessory',
665 | meta: {
666 | environment: 'gym',
667 | level: [0, 1, 2],
668 | equipment: []
669 | },
670 | variants: {
671 | underhand: 'Perform this movement with a supinated grip, palms facing the ceiling.',
672 | neutral_grip: 'Perform this movement with a neutral grip, palms facing towards your body.',
673 | overhand: 'Perform this movement with a pronated grip, palms facing towards the ground.',
674 | },
675 | unit: 'reps', //vs duration
676 | muscles: ['back'],
677 | description: 'Adjust the seat height so your hands retract back to a lower torso height. Row your elbows back.',
678 | substitutes: ['seated row', 'dumbbell row']
679 | },
680 | machine_lat_pulldown: {
681 | type: 'compound',
682 | meta: {
683 | environment: 'gym',
684 | level: [0, 1, 2],
685 | equipment: []
686 | },
687 | variants: {
688 | underhand: 'Perform this movement with a supinated grip, palms facing towards you.',
689 | neutral_grip: 'Perform this movement with a neutral grip, palms facing each other.',
690 | overhand: 'Perform this movement with a pronated grip, palms facing away from you.'
691 | },
692 | unit: 'reps', //vs duration
693 | muscles: ['back'],
694 | description: 'Ensure you look at the ceiling while performing this exercise. Begin by retracting your scapula down and back, and then pull the machine bar down until your thumbs can touch your chest.',
695 | substitutes: ['lat pulldown', 'pullup']
696 | },
697 | smith_machine_row: {
698 | type: 'compound',
699 | meta: {
700 | environment: 'gym',
701 | level: [0, 1, 2],
702 | equipment: []
703 | },
704 | variants: {
705 | underhand: 'Perform this movement with a supinated grip, palms facing towards forwards.',
706 | overhand: 'Perform this movement with a pronated grip, palms facing backwards.',
707 | },
708 | unit: 'reps', //vs duration
709 | muscles: ['back'],
710 | description: 'Begin standing, with your hands slightly wider than shoulder width apart holding the bar. With a slight bend in your knees, hinge at your hips until your torso is angled 45 degrees forward. Imagine pulling your elbows back behind you to complete the row.',
711 | substitutes: ['seated row', 'dumbbell row']
712 | },
713 | seated_dumbbell_overhead_press: {
714 | type: 'compound',
715 | meta: {
716 | environment: 'gymhome',
717 | level: [0, 1, 2],
718 | equipment: ['dumbbells']
719 | },
720 | unit: 'reps', //vs duration
721 | muscles: ['shoulders'],
722 | description: 'With dumbbells in each hand, begin with the weights in-line with your ears and press them directly up above your head. Lower down until until your thumbs can touch your ears. Puff your chest out during this exercise.',
723 | substitutes: ['barbell overhead press', 'arnold press']
724 | },
725 | barbell_overhead_press: {
726 | type: 'compound',
727 | meta: {
728 | environment: 'gymhome',
729 | level: [0, 1, 2],
730 | equipment: ['barbell']
731 | },
732 | unit: 'reps', //vs duration
733 | muscles: ['shoulders'],
734 | description: 'Standing with the bar starting at chin height and hands slightly wider than shoulder width, press the bar up and as it moves above head height, press your head forward between your arms. Squeeze your bum throughout the duration of the exercise.',
735 | substitutes: ['barbell overhead press', 'arnold press']
736 | },
737 | dumbbell_lateral_raise: {
738 | type: 'accessory',
739 | meta: {
740 | environment: 'gymhome',
741 | level: [0, 1, 2],
742 | equipment: ['dumbbells']
743 | },
744 | unit: 'reps', //vs duration
745 | muscles: ['shoulders'],
746 | description: 'With dumbbells in each hand, pretend your a bird trying to flap your arms, and raise the weights up either side of your body. Ensure your elbows are always at a higher height than the weights and your wrists. Slowly lower down to each side.',
747 | substitutes: ['unilateral cable raise', 'face pulls']
748 | },
749 | dumbbell_front_raise: {
750 | type: 'accessory',
751 | meta: {
752 | environment: 'gymhome',
753 | level: [0, 1, 2],
754 | equipment: ['dumbbells']
755 | },
756 | unit: 'reps', //vs duration
757 | muscles: ['shoulders'],
758 | description: 'With dumbbells in each hand down by your side, one at a time, raise the dumbbell out infront of you until it is at eye height, keeping your arm straight. Then slowly lower back down and repeat on the other side.',
759 | substitutes: ['unilateral cable raise', 'face pulls', 'cable_rope_front_raise']
760 | },
761 | cable_rope_front_raise: {
762 | type: 'accessory',
763 | meta: {
764 | environment: 'gymhome',
765 | level: [0, 1, 2],
766 | equipment: ['bands']
767 | },
768 | unit: 'reps', //vs duration
769 | muscles: ['shoulders'],
770 | description: 'With a rope handle in each hand (the cable pinned as low as possible and the cable itself, between your legs), raise the rope handles out infront of you until it is at eye height, keeping your arms straight. Then slowly lower back down.',
771 | substitutes: ['dumbbell front raise', 'face pulls']
772 | },
773 | unilateral_cable_raise: {
774 | type: 'accessory',
775 | meta: {
776 | environment: 'gymhome',
777 | level: [0, 1, 2],
778 | equipment: ['bands']
779 | },
780 | unit: 'reps', //vs duration
781 | muscles: ['shoulders'],
782 | description: 'With the cable on the lowest adjustment, hold the vertical bar with one hand and lean out from the cable machine by approximately 30 degrees. Hold the handle in the other hand, and raise the handle (leading with your elbow) up to shoulder height.',
783 | substitutes: ['dumbbell lateral raise', 'face pulls']
784 | },
785 | cable_rope_face_pulls: {
786 | type: 'accessory',
787 | meta: {
788 | environment: 'gymhome',
789 | level: [0, 1, 2],
790 | equipment: ['bands']
791 | },
792 | unit: 'reps', //vs duration
793 | muscles: ['shoulders'],
794 | description: 'Using the rope cable attachment, adjust the cable height so the pulley is just above head height. Hold the handles with your thumbs at the end of the rope, pointing towards you. Pull the rope towards your forehead, with your hands approximately ear height and your thumbs pointing behind you.',
795 | substitutes: ['unilateral cable raise', 'cable push aparts']
796 | },
797 | cable_push_aparts: {
798 | type: 'accessory',
799 | meta: {
800 | environment: 'gymhome',
801 | level: [0, 1, 2],
802 | equipment: ['bands']
803 | },
804 | unit: 'reps', //vs duration
805 | muscles: ['shoulders'],
806 | description: 'For this exercise, grip the carribena/handles so that your pinky fingers are facing backwards. Then imagine you\'re walking through a forest full of vines and spread those bad boys apart. The cable should be pinned just above head height.',
807 | substitutes: ['unilateral cable raise', 'cable rope face pulls']
808 | },
809 | bentover_dumbbell_push_aparts: {
810 | type: 'accessory',
811 | meta: {
812 | environment: 'gymhome',
813 | level: [0, 1, 2],
814 | equipment: ['dumbbells']
815 | },
816 | unit: 'reps', //vs duration
817 | muscles: ['shoulders'],
818 | description: 'Sitting bent forwards, head to knees, holding light dumbbells in either hand dead hanging down either side of your legs, raise them out to either side, pinkies leading the movement until they are in the same vertical plane as your shoulders and your thumbs are pointing straight downwards.',
819 | substitutes: ['unilateral cable raise', 'cable rope face pulls']
820 | },
821 | chest_supported_dumbbell_face_pulls: {
822 | type: 'accessory',
823 | meta: {
824 | environment: 'gymhome',
825 | level: [0, 1, 2],
826 | equipment: ['dumbbells']
827 | },
828 | unit: 'reps', //vs duration
829 | muscles: ['shoulders'],
830 | description: 'Lying on a 30 to 45 degree inclined bench with dumbbells in either hand, pull the dumbbells to either side of your ears, leading the motion with your elbows.',
831 | substitutes: ['unilateral cable raise', 'cable push aparts']
832 | },
833 | chest_supported_barbell_face_pulls: {
834 | type: 'accessory',
835 | meta: {
836 | environment: 'gymhome',
837 | level: [0, 1, 2],
838 | equipment: ['barbell']
839 | },
840 | unit: 'reps', //vs duration
841 | muscles: ['shoulders'],
842 | description: 'Lying on a 30 to 45 degree inclined bench with a barbell gripped twice shoulder width, pull your thumbs back until they are in-line with your ears, leading the motion with your elbows.',
843 | substitutes: ['dumbbell face pulls', 'cable push aparts']
844 | },
845 | arnold_dumbbell_press: {
846 | type: 'accessory',
847 | meta: {
848 | environment: 'gymhome',
849 | level: [0, 1, 2],
850 | equipment: ['dumbbells']
851 | },
852 | unit: 'reps', //vs duration
853 | muscles: ['shoulders'],
854 | description: 'Seated on a bench with a back rest, hold the dumbbells in-front of you at eye height, palms facing your face. Keeping the dumbbells at their current height, open your shoulders and move your elbows to either side until the dumbbells are next to your ears, your palms facing forwards, and then press them up overhead.',
855 | substitutes: ['barbell overhead press', 'dumbbell overhead press']
856 | },
857 | lyings_ys: {
858 | type: 'accessory',
859 | meta: {
860 | environment: 'home',
861 | level: [0, 1, 2],
862 | equipment: []
863 | },
864 | unit: 'reps', //vs duration
865 | muscles: ['shoulders'],
866 | description: 'Lying face down on the ground, extend your arms up above your head so your elbows are tucked up against your ears, and your thumbs pointing to the ceiling and your palms to each other. Now try to raise your hands and arms off the ground, pulling your thumbs back as far as you can and your scapula together while maintaining the same shape.',
867 | substitutes: ['face pulls']
868 | },
869 | lying_ts: {
870 | type: 'accessory',
871 | meta: {
872 | environment: 'home',
873 | level: [0, 1, 2],
874 | equipment: []
875 | },
876 | unit: 'reps', //vs duration
877 | muscles: ['shoulders'],
878 | description: 'Lying face down on the ground, extend your arms out to either side of your body, pointing directly away from yourself so your elbows and hands are in plane/level with your shoulders. Now while keeping your elbows and hands in the same location, rotate your hands so that your palms point upwards/above your head and your thumbs point to the ceiling. Now try to raise your hands and arms off the ground, pulling your thumbs back as far as you can and your scapula together while maintaining the same shape.',
879 | substitutes: ['supermans']
880 | },
881 | lying_ws: {
882 | type: 'accessory',
883 | meta: {
884 | environment: 'home',
885 | level: [0, 1, 2],
886 | equipment: []
887 | },
888 | unit: 'reps', //vs duration
889 | muscles: ['shoulders'],
890 | description: 'Lying face down on the ground, extend your arms out to either side of your body, pointing directly away from yourself so your elbows and hands are in plane/level with your shoulders. Now while keeping your elbows in the same location, bend them so that your fingers point directly upwards and so your elbow makes a 90 degree bend. Now position your hands so that your palms face your head, your fingers forwards/above your head, and your thumbs to the ceiling behind you. Now try to raise your hands and arms off the ground, pulling your thumbs back as far as you can and your scapula together while maintaining the same shape.',
891 | substitutes: ['plank side stars']
892 | },
893 | plank_side_stars: {
894 | type: 'accessory',
895 | meta: {
896 | environment: 'home',
897 | level: [0, 1, 2],
898 | equipment: []
899 | },
900 | unit: 'reps', //vs duration
901 | muscles: ['shoulders'],
902 | description: 'Seated on a bench with a back rest, hold the dumbbells in-front of you at eye height, palms facing your face. Keeping the dumbbells at their current height, open your shoulders and move your elbows to either side until the dumbbells are next to your ears, your palms facing forwards, and then press them up overhead.',
903 | substitutes: ['lying ts']
904 | },
905 | back_squats: {
906 | type: 'compound',
907 | meta: {
908 | environment: 'gymhome',
909 | level: [0, 1, 2],
910 | equipment: ['barbell']
911 | },
912 | unit: 'reps', //vs duration
913 | muscles: ['quads'],
914 | description: 'Stand with your feet slightly wider than shoulder width, toes facing 15 degrees out from forward, slowly lower your body down until your thighs are parallel with the ground. Ensure your core is tight and your knees track in the direction of your toes. Rest the bar on the backs of your shoulders, behind your head.',
915 | substitutes: ['front squats', 'legpress']
916 | },
917 | bodyweight_squat: {
918 | type: 'accessory',
919 | meta: {
920 | environment: 'gymhome',
921 | level: [0, 1, 2],
922 | equipment: []
923 | },
924 | unit: 'reps', //vs duration
925 | muscles: ['quads'],
926 | description: 'Stand with your feet slightly wider than shoulder width, toes facing 15 degrees out from forward, slowly lower your body down until your thighs are parallel with the ground. Ensure your core is tight and your knees track in the direction of your toes.',
927 | substitutes: ['front squats', 'legpress']
928 | },
929 | front_squats: {
930 | type: 'compound',
931 | meta: {
932 | environment: 'gymhome',
933 | level: [0, 1, 2],
934 | equipment: ['barbell']
935 | },
936 | unit: 'reps', //vs duration
937 | muscles: ['quads'],
938 | description: 'Stand with your feet slightly wider than shoulder width, toes facing 15 degrees out from forward, slowly lower your body down until your thighs are parallel with the ground. Ensure your core is tight and your knees track in the direction of your toes. Hold the bar on your shoulders, crossing your arms in-front of you (elbows above the bar).',
939 | substitutes: ['back squats', 'legpress']
940 | },
941 | goblet_squats: {
942 | type: 'accessory',
943 | meta: {
944 | environment: 'gymhome',
945 | level: [0, 1, 2],
946 | equipment: ['dumbbells']
947 | },
948 | unit: 'reps', //vs duration
949 | muscles: ['quads'],
950 | description: 'Elevate the heels of your feet on a plate approximate 2in or 5cm above thick. Keep your feet slightly narrower than shoulder width, and holding the dumbbell like a goblet at shoulder height, squat down, keeping your back as erect as possible.',
951 | substitutes: ['front squats', 'legpress']
952 | },
953 | box_squats: {
954 | type: 'accessory',
955 | meta: {
956 | environment: 'gymhome',
957 | level: [0, 1, 2],
958 | equipment: []
959 | },
960 | unit: 'reps', //vs duration
961 | muscles: ['quads'],
962 | description: 'With a barbell on your shoulders, bodyweight, or holding a dumbbell, situate yourself standing infront of, and facing away from, a box or chair or simular elevated surface. Position your feet shoulder width apart, and slow squat down, as if sitting back to sit down on the chair. Only lightly let your bum touch the chair, before standing back up.',
963 | substitutes: ['front squats', 'legpress']
964 | },
965 | bulgarian_split_squats: {
966 | type: 'accessory',
967 | meta: {
968 | environment: 'gymhome',
969 | level: [0, 1, 2],
970 | equipment: []
971 | },
972 | unit: 'reps', //vs duration
973 | muscles: ['quads', 'glutes'],
974 | description: 'Body weight or with dumbbells in each hand, lunge forward, elevating your rear leg up approximately 20 to 30cm, 1ft, above the ground. Keep your weight over your front leg, and lunge your body down until your front thigh is parallel with the ground.',
975 | substitutes: ['lunges', 'legpress']
976 | },
977 | lunges: {
978 | type: 'accessory',
979 | meta: {
980 | environment: 'gymhome',
981 | level: [0, 1, 2],
982 | equipment: []
983 | },
984 | unit: 'reps', //vs duration
985 | muscles: ['quads', 'glutes'],
986 | description: 'Continuously lunge forward, slowly dropping your rear knee to touch the ground with each subsequent lunge. Ensure your body weight stays predominantly over your front leg.',
987 | substitutes: ['front squats', 'bulgarian split squats']
988 | },
989 | legpress: {
990 | type: 'compound',
991 | meta: {
992 | environment: 'gym',
993 | level: [0, 1, 2],
994 | equipment: []
995 | },
996 | variants: {
997 | wide_stance: 'Place your feet a fair bit wider than shoulder width apart and vertically/centrally on the face of feet placement area.',
998 | neutral_stance: 'Place your feet shoulder width apart and vertically/centrally on the face of feet placement area.',
999 | narrow_stance: 'Place your feet 10cm/3in apart and vertically/centrally on the face of feet placement area.'
1000 | },
1001 | unit: 'reps', //vs duration
1002 | muscles: ['quads'],
1003 | description: 'Slowly lower the weight down until your knees are at a 90 degree angle. Then push the weight back up, ensuring not to lock-out your legs at the top.',
1004 | substitutes: ['front squats', 'back squats']
1005 | },
1006 | quad_extension: {
1007 | type: 'accessory',
1008 | meta: {
1009 | environment: 'gym',
1010 | level: [0, 1, 2],
1011 | equipment: []
1012 | },
1013 | unit: 'reps', //vs duration
1014 | muscles: ['quads'],
1015 | description: 'On a quad extension machine, straighten your legs against the resistance of the machine. Face your toes in different directions to preferencially engage different parts of your quad muscles.',
1016 | substitutes: ['goblet squats', 'legpress']
1017 | },
1018 | step_ups: {
1019 | type: 'accessory',
1020 | meta: {
1021 | environment: 'gymhome',
1022 | level: [0, 1, 2],
1023 | equipment: []
1024 | },
1025 | unit: 'reps', //vs duration
1026 | muscles: ['quads', 'glutes'],
1027 | description: 'Without jumping, step up onto an evelated surface. They key is to slowly lower yourself back down on one leg without falling.',
1028 | substitutes: ['lunges', 'front squats']
1029 | },
1030 | wall_sits: {
1031 | type: 'accessory',
1032 | meta: {
1033 | environment: 'gymhome',
1034 | level: [0, 1, 2],
1035 | equipment: []
1036 | },
1037 | unit: 'reps', //vs duration
1038 | muscles: ['quads'],
1039 | description: 'With your back against a wall, and your knees making an angle of approximately 90 degrees, hold the wall sit as long as possible, without sinking down to the ground or holding yourself with your arms.',
1040 | substitutes: ['front squats', 'goblet squats']
1041 | },
1042 | romanian_deadlifts: {
1043 | type: 'compound',
1044 | meta: {
1045 | environment: 'gymhome',
1046 | level: [0, 1, 2],
1047 | equipment: []
1048 | },
1049 | variants: {
1050 | wide_stance: 'Place your feet one and half times as wide as shoulder width.',
1051 | neutral_stance: 'Place your feet shoulderwidth distance apart.',
1052 | narrow_stance: 'Place your feet right besides eachother so that they are touching.'
1053 | },
1054 | unit: 'reps', //vs duration
1055 | muscles: ['hamstrings'],
1056 | description: 'Stand holding a bar or dumbbells hanging at your waist, hands shoulder width apart. With a slight bend in your knees, you want to hinge at your hips, slightly sitting back whilst tilting your torso forward. Keeping your back straight, run the barbell/dumbbells back down the length of your legs (as if touching).',
1057 | substitutes: ['dumbbell rdls']
1058 | },
1059 | hamstring_back_extensions: {
1060 | type: 'accessory',
1061 | meta: {
1062 | environment: 'gym',
1063 | level: [0, 1, 2],
1064 | equipment: []
1065 | },
1066 | unit: 'reps', //vs duration
1067 | muscles: ['hamstrings', 'glutes'],
1068 | description: 'On the back extension machine, lock your feet in place and while lowering your torso down over the front of the machine, resist the motion by trying to curl your heels backwards to your bum, against the foot stop.',
1069 | substitutes: ['dumbbell rdls', 'seated hamstring curl']
1070 | },
1071 | unilateral_dumbbell_rdls: {
1072 | type: 'accessory',
1073 | meta: {
1074 | environment: 'gymhome',
1075 | level: [0, 1, 2],
1076 | equipment: []
1077 | },
1078 | unit: 'reps', //vs duration
1079 | muscles: ['hamstrings', 'glutes'],
1080 | description: 'Placing on foot forward of the other, lean your weight onto the front foot and track the dumbbells up and down said forward leg. Ensure you are maintain a straight back while performing this exercise.',
1081 | substitutes: ['barbell rdls', 'hamstring back extensions']
1082 | },
1083 | seated_hamstring_curl: {
1084 | type: 'accessory',
1085 | meta: {
1086 | environment: 'gym',
1087 | level: [0, 1, 2],
1088 | equipment: []
1089 | },
1090 | unit: 'reps', //vs duration
1091 | muscles: ['hamstrings'],
1092 | description: 'With you knees locked into place, try to pull your heels back as far as you can towards your bum.',
1093 | substitutes: ['dumbbell rdls', 'seated hamstring curl']
1094 | },
1095 | tbar_rdls: {
1096 | type: 'accessory',
1097 | meta: {
1098 | environment: 'gymhome',
1099 | level: [0, 1, 2],
1100 | equipment: ['barbell']
1101 | },
1102 | unit: 'reps', //vs duration
1103 | muscles: ['hamstrings'],
1104 | description: 'With the bar between your legs, and your feet place slightly in-front of your center of gravity, slowly sit back keep your legs mostly straight, until the weight touches the ground. Maintain a straight back during the execution of this exercise.',
1105 | substitutes: ['dumbbell rdls', 'unilateral dumbbell rdls']
1106 | },
1107 | lying_machine_hamstring_curls: {
1108 | type: 'accessory',
1109 | meta: {
1110 | environment: 'gym',
1111 | level: [0, 1, 2],
1112 | equipment: []
1113 | },
1114 | unit: 'reps', //vs duration
1115 | muscles: ['hamstrings'],
1116 | description: 'Lying on the machine, curl your heels back to your bum, and then slowly release.',
1117 | substitutes: ['tbar rdls', 'seated hamstring curl']
1118 | },
1119 | lying_dumbbell_hamstring_curls: {
1120 | type: 'accessory',
1121 | meta: {
1122 | environment: 'gymhome',
1123 | level: [0, 1, 2],
1124 | equipment: ['dumbbell']
1125 | },
1126 | unit: 'reps', //vs duration
1127 | muscles: ['hamstrings'],
1128 | description: 'Lying face down on the ground, hold a dumbbell up in the air between your feet, knees bent. Slowly lower the dumbbell down towards the ground, and after touching the ground, curl the dumbbell back up, heels pulling back towards up bum and up towards the ceiling.',
1129 | substitutes: ['tbar rdls', 'seated hamstring curl']
1130 | },
1131 | cable_leg_adduction: {
1132 | type: 'accessory',
1133 | meta: {
1134 | environment: 'gymhome',
1135 | level: [0, 1, 2],
1136 | equipment: ['bands']
1137 | },
1138 | unit: 'reps', //vs duration
1139 | muscles: ['glutes'],
1140 | description: 'Standing adjacent to the cable machine, with the cable at the lowest placement, place the handle around your outer foot and adduct that foot out horizontally, away from the cable machine.',
1141 | substitutes: ['cable kickbacks']
1142 | },
1143 | cable_kickbacks: {
1144 | type: 'accessory',
1145 | meta: {
1146 | environment: 'gymhome',
1147 | level: [0, 1, 2],
1148 | equipment: ['bands']
1149 | },
1150 | unit: 'reps', //vs duration
1151 | muscles: ['glutes'],
1152 | description: 'Facing the cable machine, place the cable machine at the lowest placement, and with the handle wrapped around your ankle, kick your heel backwards as far as you can.',
1153 | substitutes: ['cable leg adduction']
1154 | },
1155 | hip_thrusts: {
1156 | type: 'compound',
1157 | meta: {
1158 | environment: 'gymhome',
1159 | level: [0, 1, 2],
1160 | equipment: []
1161 | },
1162 | unit: 'reps', //vs duration
1163 | muscles: ['glutes'],
1164 | description: 'With your back rest on an elevated surface, or on the ground, and your knees bent to appoximately 90 degrees, thrust your hips forward and tuck your chin. Without moving your heels, try to pull them back towards your bum throughout the motion.',
1165 | substitutes: ['unilateral hip thrusts']
1166 | },
1167 | unilateral_hip_thrusts: {
1168 | type: 'accessory',
1169 | meta: {
1170 | environment: 'gymhome',
1171 | level: [0, 1, 2],
1172 | equipment: []
1173 | },
1174 | unit: 'reps', //vs duration
1175 | muscles: ['glutes'],
1176 | description: 'With your back rest on an elevated surface, or on the ground, and one knee bent to appoximately 90 degrees (the ohter leg extended), thrust your hips forward and tuck your chin. Without moving your heel, try to pull them back towards your bum throughout the motion.',
1177 | substitutes: ['cable kickbacks']
1178 | },
1179 | deadlift: {
1180 | type: 'compound',
1181 | meta: {
1182 | environment: 'gymhome',
1183 | level: [0, 1, 2],
1184 | equipment: []
1185 | },
1186 | unit: 'reps', //vs duration
1187 | muscles: ['back', 'hamstrings'],
1188 | description: 'Standing with the bar over your feet, grip it overhand shoulder width apart, while ensuring you back remains straight throughout the entire exercise. Begin the lift by straightening your legs, dragging the bar up your shins, and as soon as the bar is above knee height, straighten your torso and lean back to heavy the bar off the ground. In reverse, you start standing tall, and with a micro bend in your knees, you hinge at the hips (maintaining a straight) back until the bar is over you knees, at which point your hips stop hinging and your knees start bending until the bar touches the ground. This exercise may also be done with a sumo stance.',
1189 | substitutes: ['romanian deadlifts']
1190 | },
1191 | donkey_kicks: {
1192 | type: 'accessory',
1193 | meta: {
1194 | environment: 'gymhome',
1195 | level: [0, 1, 2],
1196 | equipment: []
1197 | },
1198 | unit: 'reps', //vs duration
1199 | muscles: ['glutes'],
1200 | description: 'You\'re a donkey, on your four limbs. Your owner is particularly annoying, standing directly behind you. With one leg, kick backwards and up as much as you can to teach them a lesson.',
1201 | substitutes: ['cable kickbacks']
1202 | },
1203 | good_girls: {
1204 | type: 'accessory',
1205 | meta: {
1206 | environment: 'gym',
1207 | level: [0, 1, 2],
1208 | equipment: []
1209 | },
1210 | unit: 'reps', //vs duration
1211 | muscles: ['glutes'],
1212 | description: 'On the good girls machine we learn to keep our legs closed. Seated, you want to bring your knees together.',
1213 | substitutes: ['cable kickbacks']
1214 | },
1215 | fire_hydrants: {
1216 | type: 'accessory',
1217 | meta: {
1218 | environment: 'gym',
1219 | level: [0, 1, 2],
1220 | equipment: []
1221 | },
1222 | unit: 'reps', //vs duration
1223 | muscles: ['glutes'],
1224 | description: 'As if your weren\'t already a dog, hop down on all fours, with your hands underneath your pectorals. Now let your natural instincts take control, raising one leg out to the side as if to take care of business on the neighborhood firehydrant. Keep all other three points of contact station throughout this movement.',
1225 | substitutes: ['froggy pumps']
1226 | },
1227 | froggy_pumps: {
1228 | type: 'accessory',
1229 | meta: {
1230 | environment: 'gym',
1231 | level: [0, 1, 2],
1232 | equipment: []
1233 | },
1234 | unit: 'reps', //vs duration
1235 | muscles: ['glutes'],
1236 | description: 'Lying flat on your back, drag your feet back towards your bum until your knees are bent at a 90 degree angle. With your feet still firm on the ground and touching, drop your knees to either side of your body. Now that you are in position, push down through the outsides of your feet so your bum and lower back lift off the ground. Pause while elevated, and then lower back down.',
1237 | substitutes: ['cable kickbacks', 'fire hydrants']
1238 | },
1239 | bad_girls: {
1240 | type: 'accessory',
1241 | meta: {
1242 | environment: 'gymhome',
1243 | level: [0, 1, 2],
1244 | equipment: ['bands']
1245 | },
1246 | unit: 'reps', //vs duration
1247 | muscles: ['glutes'],
1248 | description: 'On the bad girls machine, or with a band around your knees while sitting on a chair, we reject conservatism by strengthening our abduction muscles, pushing our knees apart.',
1249 | substitutes: ['cable kickbacks']
1250 | },
1251 | seated_calf_raises: {
1252 | type: 'accessory',
1253 | meta: {
1254 | environment: 'gymhome',
1255 | level: [0, 1, 2],
1256 | equipment: []
1257 | },
1258 | variants: {
1259 | toes_in: 'Face your toes 30 degrees inwards from forwards while completing this movement.',
1260 | standard: 'Ensure your feet are directioned forward and shoulder width apart.',
1261 | toes_out: 'Face your toes 30 degrees outwards from forwards while completing this movement.'
1262 | },
1263 | unit: 'reps', //vs duration
1264 | muscles: ['calves'],
1265 | description: 'Seated with a restaint above your knees, you want to plantar flex your toes, pushing your knees away from the ground.',
1266 | substitutes: ['standing calf raises']
1267 | },
1268 | standing_calf_raises: {
1269 | type: 'accessory',
1270 | meta: {
1271 | environment: 'gymhome',
1272 | level: [0, 1, 2],
1273 | equipment: []
1274 | },
1275 | variants: {
1276 | toes_in: 'Face your toes 30 degrees inwards from forwards while completing this movement.',
1277 | standard: 'Ensure your feet are directioned forward and shoulder width apart.',
1278 | toes_out: 'Face your toes 30 degrees outwards from forwards while completing this movement.'
1279 | },
1280 | unit: 'reps', //vs duration
1281 | muscles: ['calves'],
1282 | description: 'Standing with weight loaded either in your hands or on your shoulders, you want to plantar flex your toes.',
1283 | substitutes: ['seated calf raises']
1284 | },
1285 | walking_calf_raises: {
1286 | type: 'accessory',
1287 | meta: {
1288 | environment: 'gymhome',
1289 | level: [0, 1, 2],
1290 | equipment: []
1291 | },
1292 | unit: 'reps', //vs duration
1293 | muscles: ['calves'],
1294 | description: 'With weights in each hand, walk 50 paces where on each step you want to step up on your tippy toes to the maximal extreme.',
1295 | substitutes: ['standing calf raises']
1296 | },
1297 | unilateral_calf_raises: {
1298 | type: 'accessory',
1299 | meta: {
1300 | environment: 'gymhome',
1301 | level: [0, 1, 2],
1302 | equipment: []
1303 | },
1304 | variants: {
1305 | toes_in: 'Face your toes 30 degrees inwards from forwards while completing this movement.',
1306 | standard: 'Ensure your feet are directioned forward.',
1307 | toes_out: 'Face your toes 30 degrees outwards from forwards while completing this movement.'
1308 | },
1309 | unit: 'reps', //vs duration
1310 | muscles: ['calves'],
1311 | description: 'Weight supported on the ball of one foot, calf raise.',
1312 | substitutes: ['seated calf raises']
1313 | },
1314 | monster_walks: {
1315 | type: 'accessory',
1316 | meta: {
1317 | environment: 'gymhome',
1318 | level: [0, 1, 2],
1319 | equipment: ['band']
1320 | },
1321 | unit: 'reps', //vs duration
1322 | muscles: ['glutes'],
1323 | description: 'With a band around your knees, squat to a 60 degree knee bend, and crab walk side to side, then dinosaur walk front to back.',
1324 | substitutes: ['bad girls']
1325 | },
1326 | //arms lol
1327 | dumbbell_curls: {
1328 | type: 'compound',
1329 | meta: {
1330 | environment: 'gymhome',
1331 | level: [0, 1, 2],
1332 | equipment: ['dumbbells', 'bands']
1333 | },
1334 | variants: {
1335 | hammer: 'Perform this exercise with a neutral grip, palms facing your body throughout the movement.',
1336 | supinated: 'Maintain a supinated grip on the dumbbell throughout the motion - palms facing forwards through to upwards.',
1337 | alternating: 'Begin the curl with dumbbells in a neutral grip, finishing with you palm supinated and facing the ceiling.'
1338 | },
1339 | unit: 'reps', //vs duration
1340 | muscles: ['biceps'],
1341 | description: 'Perform this exercise seated or standing with dumbbells in either hand by your sides. You can perform both hands at the same time or alternating. Curl each dumbbell upwards from your side until your elbows are fully bent, and the dumbbell is raised. Minimise swinging or shoulder usage throughout the movement.',
1342 | substitutes: ['hammer curls']
1343 | },
1344 | // dumbbell_curls: {
1345 | // type: 'compound',
1346 | // meta: {
1347 | // environment: 'gymhome',
1348 | // level: [0, 1, 2],
1349 | // equipment: []
1350 | // },
1351 | // variants: {
1352 | // incline: 'Press your hands away from you at a 45 degree angle above horizontal.',
1353 | // horizontal: 'Press your hands away from you at a 45 degree angle from horizontal.',
1354 | // decline: 'Press your hands away from you at a -30 degree angle below horizontal.'
1355 | // },
1356 | // unit: 'reps', //vs duration
1357 | // muscles: ['biceps'],
1358 | // description: 'Seated or standing with dumbbells in either hand by your side, begin the curl with dumbbells in a neutral grip, finishing with you palm supinated and facing the ceiling.',
1359 | // substitutes: ['dumbell supinated curls']
1360 | // },
1361 | // dumbbell_hammer_curls: {
1362 | // type: 'compound',
1363 | // meta: {
1364 | // environment: 'gymhome',
1365 | // level: [0, 1, 2],
1366 | // equipment: []
1367 | // },
1368 | // variants: {
1369 | // incline: 'Press your hands away from you at a 45 degree angle above horizontal.',
1370 | // horizontal: 'Press your hands away from you at a 45 degree angle from horizontal.',
1371 | // decline: 'Press your hands away from you at a -30 degree angle below horizontal.'
1372 | // },
1373 | // unit: 'reps', //vs duration
1374 | // muscles: ['biceps'],
1375 | // description: 'Maintaining a neutral grip, curl the dumbbells in an alternating fashion.',
1376 | // substitutes: ['dumbbell_curls']
1377 | // },
1378 | rope_curls: {
1379 | type: 'accessory',
1380 | meta: {
1381 | environment: 'gymhome',
1382 | level: [0, 1, 2],
1383 | equipment: ['bands']
1384 | },
1385 | unit: 'reps', //vs duration
1386 | muscles: ['biceps'],
1387 | description: 'Using the rope cable attachment at the lowest elevation, hold the ends of the rope attachment with a neutral grip and curl them inwards and upwards',
1388 | substitutes: ['dumbbell hammer curls']
1389 | },
1390 | spider_curl: {
1391 | type: 'accessory',
1392 | meta: {
1393 | environment: 'gymhome',
1394 | level: [0, 1, 2],
1395 | equipment: ['dumbbells']
1396 | },
1397 | variants: {
1398 | hammer: 'Perform this exercise with a neutral grip, palms facing your body throughout the movement.',
1399 | supinated: 'Maintain a supinated grip on the dumbbell throughout the motion - palms facing forwards through to upwards.',
1400 | alternating: 'Begin the curl with dumbbells in a neutral grip, finishing with you palm supinated and facing the ceiling.'
1401 | },
1402 | unit: 'reps', //vs duration
1403 | muscles: ['biceps'],
1404 | description: 'With you chest support on an inclined bench and with dumbbells in either hand, perform an alternating curl with a supinated wrist at the peak of the motion. Curl the dumbbells slightly inwards and under the bench.',
1405 | substitutes: ['barbell curls']
1406 | },
1407 | barbell_curls: {
1408 | type: 'compound',
1409 | meta: {
1410 | environment: 'gymhome',
1411 | level: [0, 1, 2],
1412 | equipment: ['barbell']
1413 | },
1414 | variants: {
1415 | wide_grip: 'Perform this exercise with hands space one and a half times shoulder width apart.',
1416 | narrow_grip: 'Perform this exercise with hands only a palms width apart.',
1417 | standard: 'Perform this exercise with hands spaced shoulder width apart.'
1418 | },
1419 | unit: 'reps', //vs duration
1420 | muscles: ['biceps'],
1421 | description: 'Hold the barbell with a supinated grip and reduce shoulder engagement and swinging throughout the curl.',
1422 | substitutes: ['dumbbell curls']
1423 | },
1424 | drag_curls: {
1425 | type: 'accessory',
1426 | meta: {
1427 | environment: 'gymhome',
1428 | level: [0, 1, 2],
1429 | equipment: ['barbell', 'dumbbells']
1430 | },
1431 | variants: {
1432 | dumbbell: 'Perform this exercise with dumbbells.',
1433 | barbell: 'Perform this exercise with a barbell, and space your hands slightly wider than shoulder width apart.',
1434 | },
1435 | unit: 'reps', //vs duration
1436 | muscles: ['biceps'],
1437 | description: 'Holding the weight with a supinated grip, drag the weights up an imaginary line in the same plane as your torso. It is a similar movement to a row with the major difference that you are standing mostly upright, only very slightly bent fowards at the hips.',
1438 | substitutes: ['dumbbell curls']
1439 | },
1440 | unilateral_hammer_cable_curl: {
1441 | type: 'accessory',
1442 | meta: {
1443 | environment: 'gymhome',
1444 | level: [0, 1, 2],
1445 | equipment: ['bands']
1446 | },
1447 | unit: 'reps', //vs duration
1448 | muscles: ['biceps'],
1449 | description: 'Holding the carribena, of the cable machine on the lowest elevation, in one hand, curl upwards and inwards so your hand finishes in the middle of your chest.',
1450 | substitutes: ['hammer curl']
1451 | },
1452 | preacher_curls: {
1453 | type: 'compound',
1454 | meta: {
1455 | environment: 'gymhome',
1456 | level: [0, 1, 2],
1457 | equipment: ['dumbbells', 'barbell']
1458 | },
1459 | variants: {
1460 | underhand: 'Hold a barbell or easy-curl bar with an underhand grip, palms facing the ceiling.',
1461 | neutral_grip: 'Perform this exercise with dumbbells in each hand, with a neutral grip, palms facing the horizontal.',
1462 | overhand: 'Hold a barbell or easy-curl bar with an overhand grip, palms facing the ground.'
1463 | },
1464 | unit: 'reps', //vs duration
1465 | muscles: ['biceps'],
1466 | description: 'Perform this curl with your elbows supported on a surface angled 45 degrees down and away from you, or on the preacher curl machine. It is good practice to micro-pause at the bottom of the eccentric portion of the movement.',
1467 | substitutes: ['barbell curl']
1468 | },
1469 | cable_bar_curls: {
1470 | type: 'accessory',
1471 | meta: {
1472 | environment: 'gymhome',
1473 | level: [0, 1, 2],
1474 | equipment: ['bands']
1475 | },
1476 | unit: 'reps', //vs duration
1477 | muscles: ['biceps'],
1478 | description: 'Using the bar cable attachment at the lowest elevation, hold each end of the bar with a supinated grip (palms to the ceiling) and curl the weight up, minimizing shoulder engagement and swinging.',
1479 | substitutes: ['dumbbell hammer curls']
1480 | },
1481 | tricep_rope_pushdown: {
1482 | type: 'accessory',
1483 | meta: {
1484 | environment: 'gymhome',
1485 | level: [0, 1, 2],
1486 | equipment: ['bands']
1487 | },
1488 | unit: 'reps', //vs duration
1489 | muscles: ['triceps'],
1490 | description: 'Adjust the cable to maximum elevation. Keeping your elbows just in-front of your sides, straighten your arms, pushing the weight down. Try to keep you elbows stationary in space throughout the motion. At the bottom of the pushing movement, twist the ropes handles down so that your palms face downwards as opposed to eachother.',
1491 | substitutes: ['bar cable pushdown']
1492 | },
1493 | tricep_bar_pushdown: {
1494 | type: 'accessory',
1495 | meta: {
1496 | environment: 'gymhome',
1497 | level: [0, 1, 2],
1498 | equipment: ['bands']
1499 | },
1500 | unit: 'reps', //vs duration
1501 | muscles: ['triceps'],
1502 | description: 'Adjust the cable to maximum elevation. Keeping your elbows just in-front of your sides, straighten your arms, pushing the weight down. Try to keep you elbows stationary in space throughout the motion.',
1503 | substitutes: ['rope cable pushdown']
1504 | },
1505 | unilateral_cable_pushdown: {
1506 | type: 'accessory',
1507 | meta: {
1508 | environment: 'gymhome',
1509 | level: [0, 1, 2],
1510 | equipment: ['bands']
1511 | },
1512 | variants: {
1513 | overhand: 'Use a handle attachment and press the weight down with your palm facing the ground.',
1514 | neutral: 'Hold the cable attachment with a neutral hammer grip.',
1515 | underhand: 'Use a handle attachment with a supinated grip, palm facing the ceiling, press/pulling the weight down.'
1516 | },
1517 | unit: 'reps', //vs duration
1518 | muscles: ['triceps'],
1519 | description: 'Adjust the cable to maximum elevation. Keeping your elbow just in-front of your hip, straighten your arms, pushing the weight down. Try to keep you elbows stationary in space throughout the motion.',
1520 | substitutes: ['rope cable pushdown']
1521 | },
1522 | skull_crushers: {
1523 | type: 'compound',
1524 | meta: {
1525 | environment: 'gymhome',
1526 | level: [0, 1, 2],
1527 | equipment: ['barbell']
1528 | },
1529 | unit: 'reps', //vs duration
1530 | muscles: ['triceps'],
1531 | description: 'Lie either on a flat or on a slighty inclined surface with a barbell directly above your skull. Starting with your arms straight, lower the weight down either to your forehead, or down behind your head and then press it back up. Vary your grip width to whatever is most comfortable for you and keep your elbows tucked throughout the movement.',
1532 | substitutes: ['face press']
1533 | },
1534 | face_press: {
1535 | type: 'compound',
1536 | meta: {
1537 | environment: 'gymhome',
1538 | level: [0, 1, 2],
1539 | equipment: []
1540 | },
1541 | unit: 'reps', //vs duration
1542 | muscles: ['triceps'],
1543 | description: 'In an incline plank position with your hands pressing on something mid-chest height (hands closer than shoulder width), keep your elbows tucked and slowly lower your body/face towards the surface. Then press back up. Your elbows should track directly downwards, not flaring to either side.',
1544 | substitutes: ['overhead_skull_crushers']
1545 | },
1546 | overhead_skull_crusher: {
1547 | type: 'compound',
1548 | meta: {
1549 | environment: 'gymhome',
1550 | level: [0, 1, 2],
1551 | equipment: ['barbell', 'dumbbell', 'bands']
1552 | },
1553 | unit: 'reps', //vs duration
1554 | muscles: ['triceps'],
1555 | description: 'Performed with either a barbell, dumbbell or cable attachment, start with the weight down behind your head while sitting vertically (elbows overhead). Straighten your arms overhead, extending the weight up above your head.',
1556 | substitutes: ['rope cable pushdown']
1557 | },
1558 | tricep_dip: {
1559 | type: 'compound',
1560 | meta: {
1561 | environment: 'gymhome',
1562 | level: [0, 1, 2],
1563 | equipment: []
1564 | },
1565 | unit: 'reps', //vs duration
1566 | muscles: ['triceps'],
1567 | description: 'Perform with a bench behind you and your legs out in-front of you, your body supported by your hands on the bench. Slowly lower your bum down in-front of the bench, elbows tucked and tracking back behind you, and then press back up.',
1568 | substitutes: ['rope cable pushdown']
1569 | },
1570 | dumbbell_skull_crushers: {
1571 | type: 'compound',
1572 | meta: {
1573 | environment: 'gymhome',
1574 | level: [0, 1, 2],
1575 | equipment: ['dumbbells']
1576 | },
1577 | unit: 'reps', //vs duration
1578 | muscles: ['triceps'],
1579 | description: 'Lie either flat or on a slight incline with heavy dumbbells in each hand directly above your skull. Starting with your arms straight, lower the weight down either either side of your forehead and then press it back up. Begin with palms facing the ceiling to neutral grip besides your ears.',
1580 | substitutes: ['face press']
1581 | },
1582 | diamond_pushups: {
1583 | type: 'accessory',
1584 | meta: {
1585 | environment: 'home',
1586 | level: [0, 1, 2],
1587 | equipment: []
1588 | },
1589 | unit: 'reps', //vs duration
1590 | muscles: ['triceps'],
1591 | description: 'Position yourself in a pushup position, but adjust your hands, bringing them inwards, so that your fingers point inwards, the tips of your fingers are touching, and so that you can form a diamond, completing the shape by connecting your thumbs at the bottom of the diamond. Perform the pushup, keeping your elbows tucked in beside your body.',
1592 | substitutes: ['face press']
1593 | },
1594 | unilateral_cable_push_aways: {
1595 | type: 'accessory',
1596 | meta: {
1597 | environment: 'gymhome',
1598 | level: [0, 1, 2],
1599 | equipment: ['bands']
1600 | },
1601 | unit: 'reps', //vs duration
1602 | muscles: ['triceps'],
1603 | description: 'Lie either flat or on a slight incline with heavy dumbbells in each hand directly above your skull. Starting with your arms straight, lower the weight down either either side of your forehead and then press it back up. Begin with palms facing the ceiling to neutral grip besides your ears.',
1604 | substitutes: ['face press']
1605 | },
1606 | jack_knives: {
1607 | type: 'accessory',
1608 | meta: {
1609 | environment: 'gymhome',
1610 | level: [0, 1, 2],
1611 | equipment: []
1612 | },
1613 | unit: 'reps', //vs duration
1614 | muscles: ['abs'],
1615 | description: 'Sitting on your heiny in a V shape with your knees bent and feet elevated, your hands stabilizing your body either side and slightly behind your bum, extend your legs our keeping them elevated and lean back slightly. Then bring your knees back in to your chest. Maintain a tucked core throughout this movement.',
1616 | substitutes: ['crunches']
1617 | },
1618 | crunches: {
1619 | type: 'accessory',
1620 | meta: {
1621 | environment: 'gymhome',
1622 | level: [0, 1, 2],
1623 | equipment: []
1624 | },
1625 | unit: 'reps', //vs duration
1626 | muscles: ['abs'],
1627 | description: 'Lying flat on the ground with your knees bent at right angles, crunch your abs and imagine you\'re trying to squash a bug under your lower back deep into the ground.',
1628 | substitutes: ['dead_bugs', 'bicycle_crunches']
1629 | },
1630 | l_sits: {
1631 | type: 'accessory',
1632 | meta: {
1633 | environment: 'gymhome',
1634 | level: [0, 1, 2],
1635 | equipment: []
1636 | },
1637 | unit: 'reps', //vs duration
1638 | muscles: ['abs'],
1639 | description: 'Sitting (with your legs straight out in front of you), or hanging, hold your legs up and your core tucked in an isometric hold. Legs should be at minimum parallel to the ground.',
1640 | substitutes: ['banana_hold', "plank"]
1641 | },
1642 | russian_twists: {
1643 | type: 'accessory',
1644 | meta: {
1645 | environment: 'gymhome',
1646 | level: [0, 1, 2],
1647 | equipment: []
1648 | },
1649 | unit: 'reps', //vs duration
1650 | muscles: ['abs'],
1651 | description: 'Sitting on your dump-truck booty with your legs bent at 90 degrees in front of your and your feet on the ground, lean back about 30 degrees and twist your torso and shoulders, touching the ground on either side of your bum with both hands, and then repeat, both hands to the other side.',
1652 | substitutes: ['jack_knives']
1653 | },
1654 | plank: {
1655 | type: 'accessory',
1656 | meta: {
1657 | environment: 'gymhome',
1658 | level: [0, 1, 2],
1659 | equipment: []
1660 | },
1661 | unit: 'reps', //vs duration
1662 | muscles: ['abs'],
1663 | description: 'Be the plank. Make sure your hips are tucked, your bum squeeze, your core tight, flat as a pancake.',
1664 | substitutes: ['banana_hold, side_plank']
1665 | },
1666 | side_plank: {
1667 | type: 'accessory',
1668 | meta: {
1669 | environment: 'gymhome',
1670 | level: [0, 1, 2],
1671 | equipment: []
1672 | },
1673 | unit: 'reps', //vs duration
1674 | muscles: ['abs'],
1675 | description: 'Similar to the traditional plank, you want to support your weight between your feet and one elbow as you hold your body looking perpendicular to the ground. Straight as a plank.',
1676 | substitutes: ['banana_hold', 'plank']
1677 | },
1678 | crunch_toes_touches: {
1679 | type: 'accessory',
1680 | meta: {
1681 | environment: 'gymhome',
1682 | level: [0, 1, 2],
1683 | equipment: []
1684 | },
1685 | unit: 'reps', //vs duration
1686 | muscles: ['abs'],
1687 | description: 'Lying flat on the ground with your knees bent 90 degrees and feet flat on the ground, crunch your body up, and proceed to touch your left hand to your left foot and then your right hand to your right foot. Keep your head at the same level, just crunching your obliques on either side.',
1688 | substitutes: ['russian_twists']
1689 | },
1690 | dead_bugs: {
1691 | type: 'accessory',
1692 | meta: {
1693 | environment: 'gymhome',
1694 | level: [0, 1, 2],
1695 | equipment: []
1696 | },
1697 |
1698 | unit: 'reps', //vs duration
1699 | muscles: ['abs'],
1700 | description: 'Did you see that deadly bird flying overhead? Quickly, play dead, lie flat on your back and point your arms and legs directly up towards the sky. Now slowly lower one arm and the opposite leg down to the ground, keeping a tucked and tight core. Then raise them up, and repeat on with the remaining opposite limbs.',
1701 | substitutes: ['crunches', 'lying_leg_lifts']
1702 | },
1703 | lying_leg_lifts: {
1704 | type: 'accessory',
1705 | meta: {
1706 | environment: 'gymhome',
1707 | level: [0, 1, 2],
1708 | equipment: []
1709 | },
1710 | unit: 'reps', //vs duration
1711 | muscles: ['abs'],
1712 | description: 'Recline, relax, lie flat on your back, ready for a res... to raise your legs up to the sky and then back down to the ground. Legs straight, core tucked, if you can fit your hands under your lower back at any part of the movement then bend your knees a bit more.',
1713 | substitutes: ['jack_knives', 'hanging_knee_raises']
1714 | },
1715 | hanging_knee_raises: {
1716 | type: 'accessory',
1717 | meta: {
1718 | environment: 'gymhome',
1719 | level: [0, 1, 2],
1720 | equipment: []
1721 | },
1722 | unit: 'reps', //vs duration
1723 | muscles: ['abs'],
1724 | description: 'Like the monkey you are, hang from the bar, you hairy gorilla. Now raise your knees up, tuck your core, and hopefully you can touch your forehead to your knees. Release slowly down and try to reduce swinging momentum.',
1725 | substitutes: ['lying_leg_lifts', 'v_crunches']
1726 | },
1727 | mountain_climbers: {
1728 | type: 'accessory',
1729 | meta: {
1730 | environment: 'gymhome',
1731 | level: [0, 1, 2],
1732 | equipment: []
1733 | },
1734 | unit: 'reps', //vs duration
1735 | muscles: ['abs'],
1736 | description: 'In a push-up position, bring one knee up to touch one elbow, and then resume push-up position. Repeat on the other side. Avoid letting your lower back and bum sag during the motion.',
1737 | substitutes: ['plank', 'kneeling_cable_crunch']
1738 | },
1739 | kneeling_cable_crunch: {
1740 | type: 'accessory',
1741 | meta: {
1742 | environment: 'gymhome',
1743 | level: [0, 1, 2],
1744 | equipment: ['bands']
1745 | },
1746 | unit: 'reps', //vs duration
1747 | muscles: ['abs'],
1748 | description: 'You have sinned and now you must beg for forgiveness. On your knees, hold the cable rope extension behind your head with both hands (ensure it is at it\'s maximum height). Crunch your face down and kiss the ground, then slowly release back up.',
1749 | substitutes: ['jack_knives', 'dead_bug']
1750 | },
1751 | bicycle_crunches: {
1752 | type: 'accessory',
1753 | meta: {
1754 | environment: 'gymhome',
1755 | level: [0, 1, 2],
1756 | equipment: []
1757 | },
1758 | unit: 'reps', //vs duration
1759 | muscles: ['abs'],
1760 | description: 'Lying flat on your back, bend your knees at 90 degrees and raise your bent legs above your body so your knees point the ceiling. Now crunch one elbow up to touch the opposite knee, while extending your other leg out straight. Return to the initial position, and then repeat on the other side.',
1761 | substitutes: ['dead_bugs', 'hanging_knee_raises']
1762 | },
1763 | banana_hold: {
1764 | type: 'accessory',
1765 | meta: {
1766 | environment: 'gymhome',
1767 | level: [0, 1, 2],
1768 | equipment: []
1769 | },
1770 | unit: 'duration', //vs duration
1771 | muscles: ['abs'],
1772 | description: 'Lying flat on your back, pretend that your are a ripe and firm banana. Curve your whole body, crunching your core and lower back flat and firm down into the ground below you, and raise your pointed arms off the ground, pointing out behind your head, and your legs off the ground at a 30 degree angle. Shiver and quiver as your acknowledge your failing core muscles.',
1773 | substitutes: ['plank', 'leg_lifts']
1774 | }
1775 | }
1776 |
1777 |
1778 |
1779 |
1780 | // module.exports = { tempos, workouts, exercises, schemes }
1781 | //info page
1782 | //tempos
1783 | //rep ranges
1784 | //warmup
--------------------------------------------------------------------------------