Files
proof-of-work/proof-of-work/prisma/exercises.seed.json
T
Keysat 55c17614b8 v1.0.0:7 — exercise library cleanup, photo-import removal, AI-section honesty
Library JSON cleanup (proof-of-work/prisma/exercises.seed.json)
  19 exercises corrected:
  - Cycling/Jump Rope/Rowing/Running: type=cardio with proper
    inputFields (duration/distance/calories — no more reps/weight).
  - Walking Lunge/Wall Sit/Headstand/Hip Extension: reclassified
    out of cardio into bodyweight.
  - Plank/Mace warmup/Hollow Body Landmine/Soccer: inputFields
    fixed.
  - Descriptions added for ~10 cryptic exercises (Core, Resistance
    Band, Stir the pot, Slide Board, Neck Circuit, TGU, Captains
    of Crush, etc.).

Reconcile-on-boot (ensureExerciseLibrary.cjs)
  Changed from INSERT-OR-IGNORE to INSERT-OR-UPDATE keyed on
  (userId, name). Existing rows where isCustom = 0 get
  description/type/muscleGroups/inputFields/defaultWeightUnit
  refreshed from the curated JSON. Rows where isCustom = 1 are
  skipped — user customizations always win.

  Verified end-to-end: applied patches propagate to a copy of the
  user's snapshot DB; manually-tampered isCustom=1 rows survive a
  second reconcile pass untouched.

PATCH /api/exercises/[id] flips isCustom -> true on user edits
  Once you edit a library exercise via the in-app UI, the row's
  isCustom flag becomes 1 and the boot-time reconcile leaves it
  alone forever. Closes the only failure mode where a maintainer
  curated-library refresh could overwrite user edits.

Photo-import (Claude vision) removed
  - app/api/workouts/import/route.ts deleted.
  - components/import/WorkoutImportClient.tsx deleted (orphan
    component — wasn't referenced anywhere by the live UI).
  - CSV import (app/main/import → page-csv.tsx →
    /api/workouts/import/save) is unchanged. The save endpoint
    stays — it's used by the CSV flow too.

Settings UI: "Claude AI Integration" section removed
  The toggle + API key input promised "personalized workout
  recommendations" that the codebase never delivered (the only
  actually-wired use was the photo-import we just removed).
  Schema columns User.enableClaudeAI / User.claudeApiKey stay
  as harmless dead fields — they'll get cleaned up or repurposed
  when the model-agnostic AI work lands. The preferences API
  no longer accepts or returns those fields.

No data migration. /data on existing installs is untouched.
v1.0.0:7 promoted to current; :1-:6 in other.
2026-05-09 21:24:00 -05:00

2286 lines
41 KiB
JSON

[
{
"name": "Assault Bike",
"description": null,
"type": "assault bike",
"muscleGroups": [
"cardio",
"legs",
"back",
"shoulders"
],
"inputFields": [
"sets",
"calories",
"duration",
"notes",
"distance",
"watts"
],
"defaultWeightUnit": null
},
{
"name": "BB Reverse Curl",
"description": null,
"type": "barbell",
"muscleGroups": [
"forearms",
"biceps"
],
"inputFields": [
"sets",
"reps",
"weight"
],
"defaultWeightUnit": null
},
{
"name": "Barbell Curl",
"description": "Barbell curl for bicep strength",
"type": "barbell",
"muscleGroups": [
"biceps"
],
"inputFields": [
"sets",
"reps",
"weight"
],
"defaultWeightUnit": null
},
{
"name": "Barbell Press Hold",
"description": null,
"type": "barbell",
"muscleGroups": [
"shoulders",
"traps"
],
"inputFields": [
"sets",
"weight",
"duration"
],
"defaultWeightUnit": null
},
{
"name": "Barbell Row",
"description": "Barbell bent-over row for back strength",
"type": "barbell",
"muscleGroups": [
"back",
"biceps"
],
"inputFields": [
"sets",
"reps",
"weight"
],
"defaultWeightUnit": null
},
{
"name": "Barbell step back lunge",
"description": null,
"type": "barbell",
"muscleGroups": [
"quads",
"hamstrings",
"glutes"
],
"inputFields": [
"sets",
"reps",
"weight"
],
"defaultWeightUnit": null
},
{
"name": "Bench Press",
"description": "Barbell bench press for chest development",
"type": "barbell",
"muscleGroups": [
"chest",
"triceps",
"shoulders"
],
"inputFields": [
"sets",
"reps",
"weight"
],
"defaultWeightUnit": null
},
{
"name": "Deadlift",
"description": "Compound barbell deadlift for full posterior chain",
"type": "barbell",
"muscleGroups": [
"back",
"legs",
"glutes"
],
"inputFields": [
"sets",
"reps",
"weight"
],
"defaultWeightUnit": null
},
{
"name": "Decline Bench Press",
"description": "Decline barbell bench press for lower chest emphasis",
"type": "barbell",
"muscleGroups": [
"chest",
"triceps"
],
"inputFields": [
"sets",
"reps",
"weight"
],
"defaultWeightUnit": null
},
{
"name": "Front Squat",
"description": "Front squat with emphasis on quadriceps",
"type": "barbell",
"muscleGroups": [
"quads",
"glutes"
],
"inputFields": [
"sets",
"reps",
"weight"
],
"defaultWeightUnit": null
},
{
"name": "Hip Thrust",
"description": "Barbell hip thrust for glute development",
"type": "barbell",
"muscleGroups": [
"glutes"
],
"inputFields": [
"sets",
"reps",
"weight"
],
"defaultWeightUnit": null
},
{
"name": "Incline Bench Press",
"description": "Incline barbell bench press targeting upper chest",
"type": "barbell",
"muscleGroups": [
"chest",
"shoulders",
"triceps"
],
"inputFields": [
"sets",
"reps",
"weight"
],
"defaultWeightUnit": null
},
{
"name": "Landmine Pull and Press",
"description": null,
"type": "barbell",
"muscleGroups": [
"shoulders",
"back"
],
"inputFields": [
"sets",
"reps",
"weight"
],
"defaultWeightUnit": null
},
{
"name": "Overhead Press",
"description": "Standing barbell overhead press for shoulder strength",
"type": "barbell",
"muscleGroups": [
"shoulders",
"triceps"
],
"inputFields": [
"sets",
"reps",
"weight"
],
"defaultWeightUnit": null
},
{
"name": "Romanian Deadlift",
"description": "RDL for hamstring and lower back development",
"type": "barbell",
"muscleGroups": [
"hamstrings",
"glutes",
"back"
],
"inputFields": [
"sets",
"reps",
"weight"
],
"defaultWeightUnit": null
},
{
"name": "SA Landmine Press",
"description": null,
"type": "barbell",
"muscleGroups": [
"shoulders",
"chest"
],
"inputFields": [
"sets",
"reps",
"weight"
],
"defaultWeightUnit": null
},
{
"name": "Shrugs",
"description": "Barbell shrugs for trap development",
"type": "barbell",
"muscleGroups": [
"traps"
],
"inputFields": [
"sets",
"reps",
"weight"
],
"defaultWeightUnit": null
},
{
"name": "Squat",
"description": "Barbell back squat for overall leg development",
"type": "barbell",
"muscleGroups": [
"legs",
"glutes",
"quads"
],
"inputFields": [
"sets",
"reps",
"weight"
],
"defaultWeightUnit": null
},
{
"name": "T-Bar Row",
"description": "T-bar row for mid-back thickness",
"type": "barbell",
"muscleGroups": [
"back",
"biceps"
],
"inputFields": [
"sets",
"reps",
"weight"
],
"defaultWeightUnit": null
},
{
"name": "Upright Row",
"description": "Barbell upright row for shoulder and trap development",
"type": "barbell",
"muscleGroups": [
"shoulders",
"traps"
],
"inputFields": [
"sets",
"reps",
"weight"
],
"defaultWeightUnit": null
},
{
"name": "Zercher Squat",
"description": null,
"type": "barbell",
"muscleGroups": [
"quads",
"glutes",
"core"
],
"inputFields": [
"sets",
"reps",
"weight"
],
"defaultWeightUnit": null
},
{
"name": "Ab Mat",
"description": null,
"type": "bodyweight",
"muscleGroups": [
"core"
],
"inputFields": [
"sets",
"reps"
],
"defaultWeightUnit": null
},
{
"name": "Ab Scissors",
"description": null,
"type": "bodyweight",
"muscleGroups": [
"core"
],
"inputFields": [
"sets",
"reps"
],
"defaultWeightUnit": null
},
{
"name": "Adductor Bench",
"description": null,
"type": "bodyweight",
"muscleGroups": [
"adductors"
],
"inputFields": [
"sets",
"reps"
],
"defaultWeightUnit": null
},
{
"name": "Air Squat",
"description": null,
"type": "bodyweight",
"muscleGroups": [],
"inputFields": [
"sets",
"reps"
],
"defaultWeightUnit": null
},
{
"name": "Alt Leg Lift",
"description": null,
"type": "bodyweight",
"muscleGroups": [
"core"
],
"inputFields": [
"sets",
"reps"
],
"defaultWeightUnit": null
},
{
"name": "Ankle Jump",
"description": null,
"type": "bodyweight",
"muscleGroups": [],
"inputFields": [
"sets",
"reps",
"notes"
],
"defaultWeightUnit": null
},
{
"name": "Band Pushup",
"description": null,
"type": "bodyweight",
"muscleGroups": [
"chest",
"triceps",
"shoulders"
],
"inputFields": [
"sets",
"reps",
"notes"
],
"defaultWeightUnit": null
},
{
"name": "Bench Dip",
"description": null,
"type": "bodyweight",
"muscleGroups": [
"triceps",
"chest"
],
"inputFields": [
"sets",
"reps"
],
"defaultWeightUnit": null
},
{
"name": "Box jump",
"description": null,
"type": "bodyweight",
"muscleGroups": [
"quads",
"glutes",
"cardio"
],
"inputFields": [
"sets",
"reps",
"notes"
],
"defaultWeightUnit": null
},
{
"name": "Broad Jump",
"description": null,
"type": "bodyweight",
"muscleGroups": [],
"inputFields": [
"sets",
"reps",
"notes"
],
"defaultWeightUnit": null
},
{
"name": "Calf Raise",
"description": "Standing calf raise for calf development",
"type": "bodyweight",
"muscleGroups": [
"calves"
],
"inputFields": [
"sets",
"reps",
"weight"
],
"defaultWeightUnit": null
},
{
"name": "Chinup",
"description": null,
"type": "bodyweight",
"muscleGroups": [
"back",
"biceps"
],
"inputFields": [
"sets",
"reps",
"notes"
],
"defaultWeightUnit": null
},
{
"name": "Core",
"description": "Generic core circuit — note specific exercises (crunches, bicycle, decline situps, etc.) in the notes field.",
"type": "bodyweight",
"muscleGroups": [],
"inputFields": [
"sets",
"reps",
"notes"
],
"defaultWeightUnit": null
},
{
"name": "Dips (Chest)",
"description": "Weighted or bodyweight dips for chest and triceps",
"type": "bodyweight",
"muscleGroups": [
"chest",
"triceps"
],
"inputFields": [
"sets",
"reps",
"weight"
],
"defaultWeightUnit": null
},
{
"name": "Fire Hydrant",
"description": null,
"type": "bodyweight",
"muscleGroups": [
"glutes"
],
"inputFields": [
"sets",
"reps"
],
"defaultWeightUnit": null
},
{
"name": "Glute ham developer",
"description": null,
"type": "bodyweight",
"muscleGroups": [
"hamstrings",
"glutes"
],
"inputFields": [
"sets",
"reps",
"notes"
],
"defaultWeightUnit": null
},
{
"name": "Good Morning",
"description": null,
"type": "bodyweight",
"muscleGroups": [],
"inputFields": [
"sets",
"reps",
"notes"
],
"defaultWeightUnit": null
},
{
"name": "Handstand Push Up",
"description": null,
"type": "bodyweight",
"muscleGroups": [],
"inputFields": [
"sets",
"reps",
"notes"
],
"defaultWeightUnit": null
},
{
"name": "Hanging Leg Raise",
"description": "Hanging leg raise for lower abs",
"type": "bodyweight",
"muscleGroups": [
"abs",
"core"
],
"inputFields": [
"sets",
"reps",
"weight"
],
"defaultWeightUnit": null
},
{
"name": "Hollow Body Hold",
"description": null,
"type": "bodyweight",
"muscleGroups": [
"core"
],
"inputFields": [
"sets",
"duration"
],
"defaultWeightUnit": null
},
{
"name": "Jump Squat",
"description": null,
"type": "bodyweight",
"muscleGroups": [],
"inputFields": [
"sets",
"reps",
"notes"
],
"defaultWeightUnit": null
},
{
"name": "Knee Raise",
"description": null,
"type": "bodyweight",
"muscleGroups": [
"core"
],
"inputFields": [
"sets",
"reps",
"notes"
],
"defaultWeightUnit": null
},
{
"name": "Low Box Jump",
"description": null,
"type": "bodyweight",
"muscleGroups": [],
"inputFields": [
"sets",
"reps",
"notes"
],
"defaultWeightUnit": null
},
{
"name": "Lunge Jump",
"description": null,
"type": "bodyweight",
"muscleGroups": [],
"inputFields": [
"sets",
"reps",
"notes"
],
"defaultWeightUnit": null
},
{
"name": "Med Ball Slam",
"description": null,
"type": "bodyweight",
"muscleGroups": [],
"inputFields": [
"sets",
"reps",
"notes"
],
"defaultWeightUnit": null
},
{
"name": "Med Ball Smash",
"description": null,
"type": "bodyweight",
"muscleGroups": [],
"inputFields": [
"sets",
"reps"
],
"defaultWeightUnit": null
},
{
"name": "Pistol Squat",
"description": null,
"type": "bodyweight",
"muscleGroups": [],
"inputFields": [
"sets",
"reps",
"notes"
],
"defaultWeightUnit": null
},
{
"name": "Plank",
"description": "Front plank — log hold duration; add weight for plate-loaded variations.",
"type": "bodyweight",
"muscleGroups": [
"core",
"abs"
],
"inputFields": [
"sets",
"duration",
"weight"
],
"defaultWeightUnit": null
},
{
"name": "Pull-ups",
"description": "Bodyweight pull-ups for back and biceps",
"type": "bodyweight",
"muscleGroups": [
"back",
"biceps"
],
"inputFields": [
"sets",
"reps",
"weight"
],
"defaultWeightUnit": null
},
{
"name": "Push-ups",
"description": "Bodyweight chest exercise",
"type": "bodyweight",
"muscleGroups": [
"chest",
"triceps",
"shoulders"
],
"inputFields": [
"sets",
"reps",
"weight"
],
"defaultWeightUnit": null
},
{
"name": "Resistance Band",
"description": "Generic resistance band exercise — log specific motion (pull-apart, face pull, etc.) in notes.",
"type": "bodyweight",
"muscleGroups": [],
"inputFields": [
"sets",
"reps",
"notes"
],
"defaultWeightUnit": null
},
{
"name": "Reverse Hyper",
"description": null,
"type": "bodyweight",
"muscleGroups": [],
"inputFields": [
"sets",
"reps"
],
"defaultWeightUnit": null
},
{
"name": "Russian Twist",
"description": "Russian twist for obliques and core",
"type": "bodyweight",
"muscleGroups": [
"obliques",
"core"
],
"inputFields": [
"sets",
"reps",
"weight"
],
"defaultWeightUnit": null
},
{
"name": "Single Leg Balance",
"description": null,
"type": "bodyweight",
"muscleGroups": [],
"inputFields": [
"sets",
"reps",
"notes"
],
"defaultWeightUnit": null
},
{
"name": "Slalom Jump",
"description": null,
"type": "bodyweight",
"muscleGroups": [],
"inputFields": [
"sets",
"reps",
"notes"
],
"defaultWeightUnit": null
},
{
"name": "Wide Grip Pull Up",
"description": null,
"type": "bodyweight",
"muscleGroups": [
"back",
"biceps"
],
"inputFields": [
"sets",
"reps"
],
"defaultWeightUnit": null
},
{
"name": "Alternating Step Cable Cross",
"description": null,
"type": "cable",
"muscleGroups": [
"chest",
"shoulders"
],
"inputFields": [
"sets",
"reps",
"weight"
],
"defaultWeightUnit": null
},
{
"name": "Cable Crossover",
"description": "Cable machine chest fly for constant tension",
"type": "cable",
"muscleGroups": [
"chest"
],
"inputFields": [
"sets",
"reps",
"weight"
],
"defaultWeightUnit": null
},
{
"name": "Cable Crunch",
"description": "Cable crunch for abdominal development",
"type": "cable",
"muscleGroups": [
"abs"
],
"inputFields": [
"sets",
"reps",
"weight"
],
"defaultWeightUnit": null
},
{
"name": "Cable Curl",
"description": null,
"type": "cable",
"muscleGroups": [],
"inputFields": [
"sets",
"reps",
"weight",
"notes"
],
"defaultWeightUnit": null
},
{
"name": "Cable Fly",
"description": null,
"type": "cable",
"muscleGroups": [
"chest"
],
"inputFields": [
"sets",
"reps",
"weight"
],
"defaultWeightUnit": null
},
{
"name": "Cable Lateral Raise",
"description": "Cable lateral raise for shoulder isolation",
"type": "cable",
"muscleGroups": [
"shoulders"
],
"inputFields": [
"sets",
"reps",
"weight"
],
"defaultWeightUnit": null
},
{
"name": "Cable Pullover",
"description": null,
"type": "cable",
"muscleGroups": [],
"inputFields": [
"sets",
"reps",
"weight"
],
"defaultWeightUnit": null
},
{
"name": "Cable Row",
"description": "Seated cable row for back strength",
"type": "cable",
"muscleGroups": [
"back",
"biceps"
],
"inputFields": [
"sets",
"reps",
"weight"
],
"defaultWeightUnit": null
},
{
"name": "Face Pulls",
"description": "Cable face pulls for rear delts and upper back",
"type": "cable",
"muscleGroups": [
"back",
"shoulders"
],
"inputFields": [
"sets",
"reps",
"weight"
],
"defaultWeightUnit": null
},
{
"name": "Half Kneeling Rope Chop",
"description": null,
"type": "cable",
"muscleGroups": [],
"inputFields": [
"sets",
"reps",
"notes"
],
"defaultWeightUnit": null
},
{
"name": "Low to High Crossover",
"description": null,
"type": "cable",
"muscleGroups": [
"chest",
"shoulders"
],
"inputFields": [
"sets",
"reps",
"weight"
],
"defaultWeightUnit": null
},
{
"name": "Oblique Cable",
"description": null,
"type": "cable",
"muscleGroups": [],
"inputFields": [
"sets",
"reps",
"weight",
"notes"
],
"defaultWeightUnit": null
},
{
"name": "Pallof Press",
"description": "Pallof press for anti-rotation core stability",
"type": "cable",
"muscleGroups": [
"core",
"obliques"
],
"inputFields": [
"sets",
"reps",
"weight"
],
"defaultWeightUnit": null
},
{
"name": "Rope Cable Pull",
"description": null,
"type": "cable",
"muscleGroups": [],
"inputFields": [
"sets",
"reps",
"weight",
"notes"
],
"defaultWeightUnit": null
},
{
"name": "SA Tricep Extension",
"description": null,
"type": "cable",
"muscleGroups": [
"triceps"
],
"inputFields": [
"sets",
"reps",
"weight"
],
"defaultWeightUnit": null
},
{
"name": "Tricep Pushdown",
"description": "Cable tricep pushdown for tricep isolation",
"type": "cable",
"muscleGroups": [
"triceps"
],
"inputFields": [
"sets",
"reps",
"weight"
],
"defaultWeightUnit": null
},
{
"name": "Cycling",
"description": "Stationary or outdoor cycling — log distance + duration as a single set.",
"type": "cardio",
"muscleGroups": [
"cardio"
],
"inputFields": [
"sets",
"duration",
"distance",
"calories"
],
"defaultWeightUnit": null
},
{
"name": "Headstand",
"description": "Inverted headstand hold — log duration per set.",
"type": "bodyweight",
"muscleGroups": [],
"inputFields": [
"sets",
"duration"
],
"defaultWeightUnit": null
},
{
"name": "Hip Extension",
"description": "Glute hip extension on bench or GHD — log reps per set.",
"type": "bodyweight",
"muscleGroups": [],
"inputFields": [
"sets",
"reps"
],
"defaultWeightUnit": null
},
{
"name": "Jump Rope",
"description": "Jump rope intervals — log duration per set.",
"type": "cardio",
"muscleGroups": [
"cardio"
],
"inputFields": [
"sets",
"duration"
],
"defaultWeightUnit": null
},
{
"name": "Rowing",
"description": "Rowing erg — log distance, duration, calories per piece.",
"type": "cardio",
"muscleGroups": [
"cardio"
],
"inputFields": [
"sets",
"duration",
"distance",
"calories"
],
"defaultWeightUnit": null
},
{
"name": "Running",
"description": "Running outdoor or treadmill — log distance + duration per piece.",
"type": "cardio",
"muscleGroups": [
"cardio"
],
"inputFields": [
"sets",
"duration",
"distance",
"calories"
],
"defaultWeightUnit": null
},
{
"name": "SkiErg",
"description": null,
"type": "cardio",
"muscleGroups": [
"full body",
"cardio"
],
"inputFields": [
"sets",
"calories",
"duration",
"distance"
],
"defaultWeightUnit": null
},
{
"name": "Walking Lunge",
"description": "Alternating walking lunges — bodyweight or with dumbbells in hand.",
"type": "bodyweight",
"muscleGroups": [],
"inputFields": [
"sets",
"reps",
"weight"
],
"defaultWeightUnit": null
},
{
"name": "Wall Sit",
"description": "Isometric wall sit — log hold duration per set.",
"type": "bodyweight",
"muscleGroups": [],
"inputFields": [
"sets",
"duration"
],
"defaultWeightUnit": null
},
{
"name": "Arnold Press",
"description": "Arnold press for full shoulder development",
"type": "dumbbell",
"muscleGroups": [
"shoulders",
"triceps"
],
"inputFields": [
"sets",
"reps",
"weight"
],
"defaultWeightUnit": null
},
{
"name": "Bulgarian Split Squat",
"description": "Single-leg squat variation for leg strength",
"type": "dumbbell",
"muscleGroups": [
"legs",
"glutes",
"quads"
],
"inputFields": [
"sets",
"reps",
"weight"
],
"defaultWeightUnit": null
},
{
"name": "Concentration Curl",
"description": "Seated concentration curl for bicep peak",
"type": "dumbbell",
"muscleGroups": [
"biceps"
],
"inputFields": [
"sets",
"reps",
"weight"
],
"defaultWeightUnit": null
},
{
"name": "DB Standing Calf",
"description": null,
"type": "dumbbell",
"muscleGroups": [],
"inputFields": [
"sets",
"reps",
"weight"
],
"defaultWeightUnit": null
},
{
"name": "DB Step Back Lunge",
"description": null,
"type": "dumbbell",
"muscleGroups": [
"quads",
"glutes",
"hamstrings"
],
"inputFields": [
"sets",
"reps",
"weight"
],
"defaultWeightUnit": null
},
{
"name": "DB floor press",
"description": null,
"type": "dumbbell",
"muscleGroups": [
"chest"
],
"inputFields": [
"sets",
"reps",
"weight"
],
"defaultWeightUnit": null
},
{
"name": "Dumbbell Bench Press",
"description": null,
"type": "dumbbell",
"muscleGroups": [],
"inputFields": [
"sets",
"reps",
"weight",
"notes"
],
"defaultWeightUnit": null
},
{
"name": "Dumbbell Curl",
"description": "Dumbbell bicep curl for arm development",
"type": "dumbbell",
"muscleGroups": [
"biceps"
],
"inputFields": [
"sets",
"reps",
"weight"
],
"defaultWeightUnit": null
},
{
"name": "Dumbbell Fly",
"description": "Chest fly using dumbbells for stretch and squeeze",
"type": "dumbbell",
"muscleGroups": [
"chest"
],
"inputFields": [
"sets",
"reps",
"weight"
],
"defaultWeightUnit": null
},
{
"name": "Dumbbell Row",
"description": "Single-arm dumbbell row for back development",
"type": "dumbbell",
"muscleGroups": [
"back",
"biceps"
],
"inputFields": [
"sets",
"reps",
"weight"
],
"defaultWeightUnit": null
},
{
"name": "Dumbbell Step Up",
"description": null,
"type": "dumbbell",
"muscleGroups": [],
"inputFields": [
"sets",
"reps",
"weight",
"notes"
],
"defaultWeightUnit": null
},
{
"name": "Front Raise",
"description": "Front raise for anterior shoulder development",
"type": "dumbbell",
"muscleGroups": [
"shoulders"
],
"inputFields": [
"sets",
"reps",
"weight"
],
"defaultWeightUnit": null
},
{
"name": "Hammer Curl",
"description": "Hammer curl for bicep and forearm development",
"type": "dumbbell",
"muscleGroups": [
"biceps",
"forearms"
],
"inputFields": [
"sets",
"reps",
"weight"
],
"defaultWeightUnit": null
},
{
"name": "Hamstring deadlift",
"description": null,
"type": "dumbbell",
"muscleGroups": [
"hamstrings",
"glutes"
],
"inputFields": [
"sets",
"reps",
"weight"
],
"defaultWeightUnit": null
},
{
"name": "Incline Dumbbell Curl",
"description": null,
"type": "dumbbell",
"muscleGroups": [],
"inputFields": [
"sets",
"reps",
"weight",
"notes"
],
"defaultWeightUnit": null
},
{
"name": "Incline Dumbbell Press",
"description": "Incline dumbbell bench press for upper chest",
"type": "dumbbell",
"muscleGroups": [
"chest",
"shoulders",
"triceps"
],
"inputFields": [
"sets",
"reps",
"weight"
],
"defaultWeightUnit": null
},
{
"name": "Lateral Raise",
"description": "Dumbbell lateral raise for shoulder width",
"type": "dumbbell",
"muscleGroups": [
"shoulders"
],
"inputFields": [
"sets",
"reps",
"weight"
],
"defaultWeightUnit": null
},
{
"name": "Lunges",
"description": "Dumbbell lunges for unilateral leg development",
"type": "dumbbell",
"muscleGroups": [
"legs",
"glutes",
"quads"
],
"inputFields": [
"sets",
"reps",
"weight"
],
"defaultWeightUnit": null
},
{
"name": "Overhead Tricep Extension",
"description": "Standing tricep extension for arm development",
"type": "dumbbell",
"muscleGroups": [
"triceps"
],
"inputFields": [
"sets",
"reps",
"weight"
],
"defaultWeightUnit": null
},
{
"name": "Reverse Fly",
"description": "Rear delt fly for posterior shoulder",
"type": "dumbbell",
"muscleGroups": [
"shoulders",
"back"
],
"inputFields": [
"sets",
"reps",
"weight"
],
"defaultWeightUnit": null
},
{
"name": "SA DB Curl",
"description": null,
"type": "dumbbell",
"muscleGroups": [
"biceps"
],
"inputFields": [
"sets",
"reps",
"weight"
],
"defaultWeightUnit": null
},
{
"name": "SA DB Press",
"description": null,
"type": "dumbbell",
"muscleGroups": [],
"inputFields": [
"sets",
"reps",
"weight"
],
"defaultWeightUnit": null
},
{
"name": "SL Quad Step Down",
"description": null,
"type": "dumbbell",
"muscleGroups": [
"quads",
"glutes",
"legs"
],
"inputFields": [
"sets",
"reps",
"weight",
"notes"
],
"defaultWeightUnit": null
},
{
"name": "Shoulder warmup",
"description": "lateral raise, rotator, rear delt",
"type": "dumbbell",
"muscleGroups": [
"shoulders"
],
"inputFields": [
"sets",
"weight"
],
"defaultWeightUnit": null
},
{
"name": "Single Leg Romanian Deadlift",
"description": null,
"type": "dumbbell",
"muscleGroups": [
"hamstrings",
"glutes"
],
"inputFields": [
"sets",
"reps",
"weight"
],
"defaultWeightUnit": null
},
{
"name": "Skull Crusher",
"description": "Lying tricep extension for tricep development",
"type": "dumbbell",
"muscleGroups": [
"triceps"
],
"inputFields": [
"sets",
"reps",
"weight"
],
"defaultWeightUnit": null
},
{
"name": "EQ Bar Incline Bench",
"description": null,
"type": "eq bar",
"muscleGroups": [
"chest",
"triceps",
"shoulders"
],
"inputFields": [
"sets",
"reps",
"weight",
"notes"
],
"defaultWeightUnit": null
},
{
"name": "EQ Military Press",
"description": null,
"type": "eq bar",
"muscleGroups": [
"shoulders",
"triceps"
],
"inputFields": [
"sets",
"reps",
"weight",
"notes"
],
"defaultWeightUnit": null
},
{
"name": "Exercise Ball Situp",
"description": null,
"type": "exercise ball",
"muscleGroups": [
"abs"
],
"inputFields": [
"sets",
"reps"
],
"defaultWeightUnit": null
},
{
"name": "Stir the pot",
"description": "Stability-ball plank with circular forearm motion (\"stirring the pot\").",
"type": "exercise ball",
"muscleGroups": [
"abs"
],
"inputFields": [
"sets",
"reps"
],
"defaultWeightUnit": null
},
{
"name": "Captains of Crush",
"description": "Hand gripper for forearm/grip strength — record gripper level (1, 1.5, 2, etc.) in notes.",
"type": "grippers",
"muscleGroups": [
"forearms"
],
"inputFields": [
"sets",
"reps",
"weight"
],
"defaultWeightUnit": null
},
{
"name": "Hex Bar Deadlift",
"description": null,
"type": "hex bar",
"muscleGroups": [
"back",
"hamstrings",
"glutes",
"quads"
],
"inputFields": [
"sets",
"reps",
"weight"
],
"defaultWeightUnit": null
},
{
"name": "Ab KB Drag",
"description": null,
"type": "kettlebell",
"muscleGroups": [
"core"
],
"inputFields": [
"sets",
"reps",
"weight"
],
"defaultWeightUnit": "kg"
},
{
"name": "Farmer's Carry",
"description": null,
"type": "kettlebell",
"muscleGroups": [
"abs",
"forearms"
],
"inputFields": [
"sets",
"weight",
"notes"
],
"defaultWeightUnit": "kg"
},
{
"name": "Half Kneel Windmill",
"description": null,
"type": "kettlebell",
"muscleGroups": [
"core",
"shoulders"
],
"inputFields": [
"sets",
"reps",
"weight"
],
"defaultWeightUnit": "kg"
},
{
"name": "Hip Flexor",
"description": null,
"type": "kettlebell",
"muscleGroups": [
"hip flexors",
"core"
],
"inputFields": [
"sets",
"reps",
"weight"
],
"defaultWeightUnit": "kg"
},
{
"name": "KB Press",
"description": null,
"type": "kettlebell",
"muscleGroups": [
"shoulders",
"triceps"
],
"inputFields": [
"sets",
"reps",
"weight"
],
"defaultWeightUnit": "kg"
},
{
"name": "KB Sidestep",
"description": null,
"type": "kettlebell",
"muscleGroups": [
"glutes",
"quads"
],
"inputFields": [
"sets",
"reps",
"weight"
],
"defaultWeightUnit": "kg"
},
{
"name": "KB Snatch",
"description": null,
"type": "kettlebell",
"muscleGroups": [],
"inputFields": [
"sets",
"reps",
"weight",
"notes"
],
"defaultWeightUnit": null
},
{
"name": "KB Swing",
"description": null,
"type": "kettlebell",
"muscleGroups": [
"glutes",
"hamstrings",
"core"
],
"inputFields": [
"sets",
"reps",
"weight"
],
"defaultWeightUnit": "kg"
},
{
"name": "Kettlebell Leg Extension",
"description": null,
"type": "kettlebell",
"muscleGroups": [
"quads"
],
"inputFields": [
"sets",
"reps",
"weight"
],
"defaultWeightUnit": "kg"
},
{
"name": "SA KB Row",
"description": null,
"type": "kettlebell",
"muscleGroups": [],
"inputFields": [
"sets",
"reps",
"weight",
"notes"
],
"defaultWeightUnit": null
},
{
"name": "Side Lying Press",
"description": null,
"type": "kettlebell",
"muscleGroups": [
"shoulders"
],
"inputFields": [
"sets",
"reps",
"weight"
],
"defaultWeightUnit": "kg"
},
{
"name": "TGU",
"description": "Turkish Get-Up — full ground-to-standing kettlebell movement; log kettlebell weight.",
"type": "kettlebell",
"muscleGroups": [
"full body",
"core",
"shoulders"
],
"inputFields": [
"sets",
"reps",
"weight"
],
"defaultWeightUnit": "kg"
},
{
"name": "Windmill",
"description": null,
"type": "kettlebell",
"muscleGroups": [
"core",
"shoulders"
],
"inputFields": [
"sets",
"reps",
"weight"
],
"defaultWeightUnit": "kg"
},
{
"name": "Mace warmup",
"description": "Steel mace warm-up flow — 360s, figure-8s, etc. Log mace weight.",
"type": "mace bar",
"muscleGroups": [
"shoulders",
"core"
],
"inputFields": [
"sets",
"reps",
"weight"
],
"defaultWeightUnit": null
},
{
"name": "Lat Pulldown",
"description": "Machine lat pulldown for back width",
"type": "machine",
"muscleGroups": [
"back",
"biceps"
],
"inputFields": [
"sets",
"reps",
"weight"
],
"defaultWeightUnit": null
},
{
"name": "Leg Curl",
"description": "Machine leg curl for hamstring isolation",
"type": "machine",
"muscleGroups": [
"hamstrings"
],
"inputFields": [
"sets",
"reps",
"weight"
],
"defaultWeightUnit": null
},
{
"name": "Leg Extension",
"description": "Machine leg extension for quadriceps isolation",
"type": "machine",
"muscleGroups": [
"quads"
],
"inputFields": [
"sets",
"reps",
"weight"
],
"defaultWeightUnit": null
},
{
"name": "Leg Press",
"description": "Machine leg press for lower body strength",
"type": "machine",
"muscleGroups": [
"legs",
"glutes",
"quads"
],
"inputFields": [
"sets",
"reps",
"weight"
],
"defaultWeightUnit": null
},
{
"name": "Preacher Curl",
"description": "Preacher curl for bicep isolation",
"type": "machine",
"muscleGroups": [
"biceps"
],
"inputFields": [
"sets",
"reps",
"weight"
],
"defaultWeightUnit": null
},
{
"name": "Rear delt",
"description": null,
"type": "machine",
"muscleGroups": [
"shoulders",
"back"
],
"inputFields": [
"sets",
"reps",
"weight"
],
"defaultWeightUnit": null
},
{
"name": "Ab Straps",
"description": null,
"type": "other",
"muscleGroups": [],
"inputFields": [
"sets",
"reps",
"weight",
"notes"
],
"defaultWeightUnit": null
},
{
"name": "Ab Wheel Rollout",
"description": "Ab wheel for core and abs",
"type": "other",
"muscleGroups": [
"core",
"abs"
],
"inputFields": [
"sets",
"reps",
"weight"
],
"defaultWeightUnit": null
},
{
"name": "Assisted Pull Up",
"description": null,
"type": "other",
"muscleGroups": [],
"inputFields": [
"sets",
"reps",
"weight",
"notes"
],
"defaultWeightUnit": null
},
{
"name": "Band Side Steps",
"description": null,
"type": "other",
"muscleGroups": [],
"inputFields": [
"sets",
"reps",
"weight",
"notes"
],
"defaultWeightUnit": null
},
{
"name": "Banded Overhead Hold",
"description": null,
"type": "other",
"muscleGroups": [],
"inputFields": [
"sets",
"weight",
"notes"
],
"defaultWeightUnit": null
},
{
"name": "Bench Step Up",
"description": null,
"type": "other",
"muscleGroups": [],
"inputFields": [
"sets",
"weight",
"notes"
],
"defaultWeightUnit": null
},
{
"name": "Close Grip Bench Press",
"description": null,
"type": "other",
"muscleGroups": [],
"inputFields": [
"sets",
"reps",
"weight"
],
"defaultWeightUnit": null
},
{
"name": "Floor Press",
"description": null,
"type": "other",
"muscleGroups": [],
"inputFields": [
"sets",
"reps",
"weight",
"notes"
],
"defaultWeightUnit": null
},
{
"name": "Glute Bridge",
"description": null,
"type": "other",
"muscleGroups": [],
"inputFields": [
"sets",
"reps",
"weight",
"notes"
],
"defaultWeightUnit": null
},
{
"name": "Goblet Squat",
"description": null,
"type": "other",
"muscleGroups": [],
"inputFields": [
"sets",
"reps",
"weight",
"notes"
],
"defaultWeightUnit": null
},
{
"name": "Hollow Body Landmine",
"description": "Landmine press performed in hollow body position — log reps + barbell weight.",
"type": "other",
"muscleGroups": [],
"inputFields": [
"sets",
"reps",
"weight"
],
"defaultWeightUnit": null
},
{
"name": "Incline Close Grip Bench",
"description": null,
"type": "other",
"muscleGroups": [],
"inputFields": [
"sets",
"reps",
"weight"
],
"defaultWeightUnit": null
},
{
"name": "JM Press",
"description": null,
"type": "other",
"muscleGroups": [],
"inputFields": [
"sets",
"reps",
"weight",
"notes"
],
"defaultWeightUnit": null
},
{
"name": "Landmine Press",
"description": null,
"type": "other",
"muscleGroups": [],
"inputFields": [
"sets",
"reps",
"weight",
"notes"
],
"defaultWeightUnit": null
},
{
"name": "Middle Split",
"description": null,
"type": "other",
"muscleGroups": [],
"inputFields": [
"sets",
"notes"
],
"defaultWeightUnit": null
},
{
"name": "Neck Circuit",
"description": "Series of neck flexion/extension/lateral isometric movements.",
"type": "other",
"muscleGroups": [
"neck"
],
"inputFields": [
"sets",
"reps",
"weight"
],
"defaultWeightUnit": null
},
{
"name": "Parallel Push Up",
"description": null,
"type": "other",
"muscleGroups": [],
"inputFields": [
"sets",
"notes"
],
"defaultWeightUnit": null
},
{
"name": "Push Press",
"description": null,
"type": "other",
"muscleGroups": [],
"inputFields": [
"sets",
"reps",
"weight"
],
"defaultWeightUnit": null
},
{
"name": "Romanian Split Squat",
"description": null,
"type": "other",
"muscleGroups": [],
"inputFields": [
"sets",
"reps",
"weight",
"notes"
],
"defaultWeightUnit": null
},
{
"name": "Scapula Pull Up",
"description": null,
"type": "other",
"muscleGroups": [],
"inputFields": [
"sets",
"notes"
],
"defaultWeightUnit": null
},
{
"name": "Side Lunge",
"description": null,
"type": "other",
"muscleGroups": [],
"inputFields": [
"sets",
"reps",
"weight",
"notes"
],
"defaultWeightUnit": null
},
{
"name": "Single Leg Deadlift",
"description": null,
"type": "other",
"muscleGroups": [],
"inputFields": [
"sets",
"reps",
"weight",
"notes"
],
"defaultWeightUnit": null
},
{
"name": "Slide Board",
"description": "Sliding lateral skating-style movement on a slick slide board.",
"type": "other",
"muscleGroups": [],
"inputFields": [
"sets",
"notes"
],
"defaultWeightUnit": null
},
{
"name": "Soccer",
"description": "Pickup or training soccer — log overall duration + optional distance.",
"type": "other",
"muscleGroups": [
"cardio"
],
"inputFields": [
"sets",
"duration",
"distance",
"calories"
],
"defaultWeightUnit": null
},
{
"name": "Squeeze Press",
"description": null,
"type": "other",
"muscleGroups": [],
"inputFields": [
"sets",
"reps",
"weight",
"notes"
],
"defaultWeightUnit": null
},
{
"name": "Standing Pinch Press",
"description": null,
"type": "other",
"muscleGroups": [],
"inputFields": [
"sets",
"reps",
"weight",
"notes"
],
"defaultWeightUnit": null
},
{
"name": "Wrist Curl",
"description": null,
"type": "other",
"muscleGroups": [],
"inputFields": [
"sets",
"reps",
"weight"
],
"defaultWeightUnit": null
},
{
"name": "Ring Dip",
"description": null,
"type": "ring",
"muscleGroups": [
"chest",
"triceps",
"shoulders"
],
"inputFields": [
"sets",
"reps"
],
"defaultWeightUnit": null
},
{
"name": "Ring row",
"description": null,
"type": "ring",
"muscleGroups": [
"back"
],
"inputFields": [
"sets",
"reps",
"notes"
],
"defaultWeightUnit": null
},
{
"name": "Tuck Inversion",
"description": null,
"type": "ring",
"muscleGroups": [
"core",
"back",
"shoulders"
],
"inputFields": [
"sets",
"reps",
"notes"
],
"defaultWeightUnit": null
}
]