1,324 exercises, tagged and tiered.
Every exercise Workout Log can assign comes from one shared library — tagged by body part, target muscle, and equipment, so the same record can drive the exercise picker, the muscle map, and equipment-aware plan generation without three separate datasets to keep in sync.
Each exercise carries: a name, the broad body part it trains, a specific muscle group, its precise target muscle, the equipment it needs, and a form-reference animation. A sit-up variation, for example, is filed under body part "waist," muscle group "hip flexors," target "abs," equipment "body weight."
Five tiers, ranked from nothing required to a fully stocked gym. A generated plan only ever reaches into tiers your equipment answer from onboarding covers:
| Tier | Equipment | Example exercises |
|---|---|---|
| 0 | Bodyweight only | Push-ups, bodyweight squats, inverted rows |
| 1 | Resistance bands | Face pulls, banded rows |
| 2 | Dumbbells only | Incline dumbbell press, goblet squat, hammer curl |
| 3 | Home gym (barbell + rack) | Bench press, squat, deadlift, hip thrust |
| 4 | Full gym (cables + machines) | Lat pulldown, leg press, cable fly, T-bar row |
When your equipment doesn't reach an exercise's tier, it isn't just dropped — it's swapped for a bodyweight equivalent that trains the same muscle group:
| Planned exercise | Falls back to |
|---|---|
| Bench press | Push-ups |
| Overhead press | Pike push-ups |
| Barbell row | Inverted row |
| Lat pulldown | Doorway rows |
| Barbell curl | Doorframe curls |
| Squat | Bodyweight squat |
| Romanian deadlift | Single-leg glute bridge |
| Lateral raises | Prone Y-raises |
This is the mechanism behind the "injury awareness" and "equipment fit" filters described in Workout Log — this article is just the table those filters read from.