Josh Bruce Online

Workout System Documentation

Overview

This documentation explains the structure and relationships between the workout system files, including the weekly workout split and individual exercise library JSON files. The system is designed to create a research-based, time-efficient muscle building program for teenagers.

Table of Contents

  1. System Architecture
  2. Weekly Workout Split Structure
  3. Exercise Library JSON Structure
  4. Relationships Between Files
  5. Implementation Guide

System Architecture

The workout system consists of two main components:

Workout System/
├── weekly_workout_split.json      # Master workout schedule
└── Exercise Libraries/
    ├── arms_exercises.json        # Biceps, triceps, forearms
    ├── shoulders_exercises.json   # All deltoid heads
    ├── chest_exercises.json       # Upper, middle, lower chest
    ├── core_exercises.json        # Abs, obliques, stabilizers
    ├── back_exercises.json        # Lats, rhomboids, traps
    └── forearms_exercises.json    # Grip, flexors, extensors

Weekly Workout Split Structure

Top-Level Structure

{
  "weekly_workout_split": {
    "training_philosophy": {},     // Core principles and guidelines
    "day1": {},                   // Monday - Arms & Shoulders Priority
    "day2": {},                   // Tuesday - Chest & Abs Priority
    "day3": {},                   // Wednesday - Active Recovery
    "day4": {},                   // Thursday - Arms & Chest Focus
    "day5": {},                   // Friday - Shoulders & Abs Focus
    "day6": {},                   // Saturday - Full Upper Body Integration
    "day7": {},                   // Sunday - Complete Rest
    "weekly_volume_distribution": {},  // Sets per muscle group
    "implementation_notes": {},        // Usage guidelines
    "teenage_specific_modifications": {}  // Age-specific adjustments
  }
}

Daily Workout Structure

Each training day (1, 2, 4, 5, 6) follows this format:

"day1": {
  "title": "Arms & Shoulders Priority",
  "focus_muscles": ["biceps", "triceps", "anterior_deltoid", "medial_deltoid"],
  "estimated_duration": "28 minutes",
  "total_sets": 16,
  
  "gym": {
    "primary_exercises": [
      {
        "superset_1": {
          "exercise_a": "ez_bar_curls",        // References arms_exercises.json
          "exercise_b": "overhead_tricep_extension",
          "sets": 3,
          "rest_between_exercises": 15,
          "rest_between_rounds": 90
        }
      }
    ],
    "secondary_exercises": {
      "biceps_alternatives": ["barbell_curls", "preacher_curls"],
      "triceps_alternatives": ["close_grip_bench_press", "tricep_dips"]
    }
  },
  
  "home": {
    // Similar structure with home-compatible exercises
  }
}

Key Components Explained

  1. title: Descriptive name for the day’s focus
  2. focus_muscles: Array of primary muscle groups targeted
  3. estimated_duration: Total time including rest periods
  4. total_sets: Sum of all working sets
  5. gym/home: Separate workout options based on location
  6. primary_exercises: Main exercises performed in supersets
  7. secondary_exercises: Alternative exercises for substitution

Exercise Library JSON Structure

Each exercise library file follows a consistent format:

Top-Level Structure

{
  "category": "arms",                    // Main muscle group
  "subcategories": ["biceps", "triceps", "forearms"],  // Specific muscles
  "exercises": {
    "exercise_name": {                   // Unique exercise identifier
      // Detailed exercise information
    }
  },
  "workout_templates": {},               // Pre-made workout combinations
  "supersetting_guidelines": {},         // Pairing recommendations
  "progression_tracking": {},            // Strength benchmarks
  "research_citations": {}               // Scientific backing
}

Individual Exercise Structure

Each exercise contains comprehensive information:

"dumbbell_curls": {
  "name": "Dumbbell Bicep Curls",
  "primary_muscles": ["biceps"],
  "secondary_muscles": ["forearms", "front_deltoids"],
  "type": "isolation",                  // isolation/compound/isometric
  "difficulty": "beginner",              // beginner/intermediate/advanced
  "home_compatible": true,
  "gym_compatible": true,
  
  "equipment_needed": {
    "home": ["dumbbells"],
    "gym": ["dumbbells"]
  },
  
  "sets_reps": {
    "week_1": {
      "sets": 3,
      "reps": "8-10",
      "rest_seconds": 90
    },
    "week_2": {
      "sets": 4,
      "reps": "10-12",
      "rest_seconds": 90
    }
  },
  
  "form_cues": [
    "Stand with feet hip-width apart",
    "Keep elbows close to torso",
    // Additional cues...
  ],
  
  "common_mistakes": [],
  "progression_options": [],
  "regression_options": [],
  "youtube_tutorial": "https://...",
  "research_notes": "EMG studies show...",
  "safety_tips": [],
  "breath_pattern": "Exhale on curl up, inhale on lowering",
  "tempo": "2-1-3-1"
}

Additional Library Components

  1. Workout Templates
    "workout_templates": {
      "arms_focus_beginner": {
     "exercises": ["dumbbell_curls", "triangle_pushups", "hammer_curls"],
     "total_time_minutes": 15,
     "sets_total": 8
      }
    }
    
  2. Supersetting Guidelines
    "supersetting_guidelines": {
      "antagonist_pairs": [
     {
       "exercise_1": "dumbbell_curls",
       "exercise_2": "triangle_pushups",
       "rest_between_exercises": 15,
       "rest_between_rounds": 90
     }
      ]
    }
    
  3. Progression Tracking
    "progression_tracking": {
      "beginner_goals": {
     "dumbbell_curls": "3 sets x 12 reps with 15 lbs"
      }
    }
    

Relationships Between Files

How Files Connect

  1. Exercise References
    • The weekly split references exercises by their JSON key names
    • Example: "exercise_a": "ez_bar_curls" links to arms_exercises.json
  2. Exercise Lookup Flow
    Weekly Split → Exercise Name → Library File → Full Exercise Data
    
  3. Implementation Example
    // Pseudo-code for exercise lookup
    const exercise = weekly_split.day1.gym.primary_exercises[0].superset_1.exercise_a;
    // exercise = "ez_bar_curls"
       
    const exerciseData = arms_exercises.exercises[exercise];
    // Returns full exercise object with form cues, sets/reps, etc.
    

Category Mapping

Weekly Split Reference Library File Category
Bicep exercises arms_exercises.json arms
Tricep exercises arms_exercises.json arms
Shoulder exercises shoulders_exercises.json shoulders
Chest exercises chest_exercises.json chest
Ab exercises core_exercises.json core
Back exercises back_exercises.json back
Forearm exercises forearms_exercises.json forearms

Implementation Guide

Setting Up a Workout

  1. Load the weekly split
    • Identify the current day (day1-day7)
    • Choose gym or home variant
  2. For each exercise in primary_exercises
    • Extract exercise name
    • Load corresponding library file
    • Retrieve full exercise details
  3. Display workout information
    • Exercise name and description
    • Sets, reps, and rest periods
    • Form cues and safety tips
    • Video tutorials if needed

Handling Substitutions

When a user needs to swap exercises:

  1. Check secondary_exercises for the muscle group
  2. Verify equipment compatibility
  3. Load alternative exercise from library
  4. Maintain same sets/reps structure

Progress Tracking Integration

// Example progress check
const currentExercise = "dumbbell_curls";
const userLevel = "beginner";
const targetGoal = arms_exercises.progression_tracking[userLevel + "_goals"][currentExercise];
// Returns: "3 sets x 12 reps with 15 lbs"

Time Management

Each superset’s time calculation:

Time = (Sets × (Exercise A time + Rest + Exercise B time + Rest between rounds))

Example:

Safety Considerations

Always check these fields before exercise execution:


Best Practices

  1. Exercise Selection Priority
    • Always use primary exercises first
    • Only substitute when equipment unavailable
    • Match difficulty to user level
  2. Volume Management
    • Track weekly sets per muscle group
    • Ensure within 10-20 set range
    • Monitor recovery between sessions
  3. Progression Rules
    • Follow “2-for-2” rule from research
    • Increase load by 2.5-5 lbs when appropriate
    • Technique always before load
  4. Home vs Gym Adaptations
    • Home exercises can be used at gym
    • Gym exercises cannot be used at home
    • Maintain similar movement patterns when substituting

File Maintenance

Adding New Exercises

  1. Add to appropriate library file
  2. Follow exact JSON structure
  3. Include all required fields
  4. Add to workout templates if applicable

Modifying Weekly Split

  1. Maintain time constraints (30 min max)
  2. Balance weekly volume distribution
  3. Update weekly_volume_distribution accordingly
  4. Test superset timing calculations

Version Control Considerations


Troubleshooting

Common Issues

  1. Exercise not found
    • Verify exact key name spelling
    • Check correct library file
    • Ensure exercise exists in JSON
  2. Time exceeding 30 minutes
    • Reduce rest periods
    • Remove a superset
    • Use more efficient exercise pairings
  3. Equipment conflicts
    • Check home/gym compatibility
    • Use secondary exercises
    • Verify equipment_needed field

Validation Checklist