Gym & Exercise Module
Status: ✅ Complete
Last Updated: 2026-08-18
Overview
Complete gym and exercise tracking system with exercise catalog, workout management, progress tracking, analytics, and mobility integration.
User Guide
What is the Gym & Exercise Module?
The Gym & Exercise Module is your complete training tracking system. It helps you:
- Track every workout with detailed metrics
- Build a personal exercise catalog
- Monitor progress over time
- Analyze training patterns and correlations
- Identify muscle group imbalances
Key Principle: All training data is input IN ARC - you don't import from other apps. This ensures data integrity and enables powerful cross-domain analytics.
Quick add: paste shorthand lines to log a full workout. See Quick-add workout shorthand.
Exercise Catalog
What is it? Your personal library of exercises, shared between gym workouts and mobility sessions.
How to use:
- Browse the catalog - Go to Exercises page to see all available exercises
- Search and filter - Find exercises by name, category, or muscle group
- Create custom exercises - Add your own exercises with categories and muscle groups
- Use in workouts - Select exercises from the catalog when logging workouts
Exercise Details:
- Category - Exercise type (Strength, Cardio, Mobility, etc.)
- Muscle Groups - Which muscles the exercise targets
- Type - Compound, Isolation, etc.
- Global vs Personal - Some exercises are available to everyone, others are your custom exercises
Logging Workouts
How to log a workout:
- Go to Workout page
- Select your split - Choose from your weekly split labels (Push, Pull, Legs, etc.)
- Add exercises - Select exercises from your catalog
- Log your sets - Enter reps, weight, RPE/RIR, rest time, and other metrics
- Add session details - Start/end time, notes, overall session RPE
- Save - Your workout is logged and linked to today's day
Core Metrics (Always Available):
- Reps - Number of repetitions
- Sets - Number of sets completed
- Load - Weight used
- RIR/RPE - Reps in Reserve or Rate of Perceived Exertion
- Rest Time - Time between sets
Additional Metrics (Optional):
- ROM - Range of motion notes
- Tempo/TUT - Time under tension
- 1RM / %1RM - One-rep max calculations
- Pause Duration - Pause at bottom/top of movement
Advanced Metrics (Optional):
- e1RM - Estimated one-rep max
- Velocity - Bar speed (if measured)
- Fatigue Index - Session fatigue tracking
- Intensity - Overall set intensity
Progress Tracking
Exercise Analytics:
- View progress graphs for any exercise (weight, reps, volume over time)
- See trend analysis (improving, plateauing, declining)
- Track personal records (PRs)
- View frequency heatmaps (calendar-style visualization)
Muscle Group Analytics:
- See training frequency by muscle group
- Identify imbalances (e.g., "You haven't trained legs in 2 weeks")
- Track volume and tonnage per muscle group
- Get warnings for under-trained muscle groups
Workout Analytics:
- Total volume and tonnage over time
- Average RPE/RIR trends
- Session duration tracking
- Overall training load analysis
Correlation Analytics:
- See how training affects sleep quality
- Track training load vs mood/energy
- Analyze RPE vs recovery metrics
- Discover patterns across domains
Weekly Split System
What is it? A customizable label system for organizing your training sessions.
How to use:
- Set up split labels - Go to Settings → Week Settings to customize your split labels
- Default labels: Push, Pull, Legs, Arms (you can change these)
- Tag each workout - Select a split label when logging a workout
- Track frequency - System shows how often you train each split
Benefits:
- Organize training by muscle group or focus area
- Track training frequency and balance
- Identify gaps in your training schedule
Exercise Analytics
How to view exercise analytics:
- Go to Exercises page
- Click on any exercise
- View Analytics tab to see:
- Progress graphs (weight, reps, volume over time)
- Trend analysis
- Personal records
- Frequency heatmap
What the analytics show:
- Progress Graphs - Visualize your improvement over time
- Trend Analysis - See if you're improving, plateauing, or declining
- PR Tracking - Personal records automatically tracked
- Frequency Heatmap - Calendar view showing when you trained this exercise
Integration with Mobility
Shared Exercise Catalog:
- Exercises in your catalog can be used in both gym workouts and mobility sessions
- Same exercise, different context (strength training vs mobility work)
- Unified tracking across all training types
Mobility Sessions:
- Select exercises from the same catalog
- Track duration, sets, reps, and notes
- Separate from gym workouts but using the same exercise library
Best Practices
- Log workouts immediately - Don't wait, log right after your session
- Be consistent with metrics - Use the same metrics (RPE or RIR) consistently
- Use split labels - Tag every workout to track training balance
- Review analytics regularly - Check muscle group analytics weekly to identify imbalances
- Track all exercises - Even accessory work helps build a complete picture
Common Questions
Q: Do I need to log every metric?
A: No, only core metrics (reps, sets, load) are required. Additional and advanced metrics are optional but provide richer analytics.
Q: Can I import data from other apps?
A: No, ARC // OS is the input method. You log data directly in ARC to ensure data integrity and enable cross-domain analytics.
Q: How do I track progress?
A: Use the Exercise Analytics page to view progress graphs, trends, and PRs for any exercise. Muscle Group Analytics shows overall training balance.
Q: What's the difference between RPE and RIR?
A: RPE (Rate of Perceived Exertion) is how hard the set felt (1-10). RIR (Reps in Reserve) is how many reps you had left. Use whichever you prefer consistently.
Q: Can I edit workouts after logging?
A: Yes, you can edit any workout to add exercises, correct metrics, or update session details.
Implementation Details
Exercise Catalog Management
- ✅ Exercise list/catalog page (browse, search, filter by category/muscle group)
- ✅ Exercise creation/editing (form with categories, muscle groups, types)
- ✅ Exercise data model (global/user-specific support)
- ✅ Exercise integration with workouts (ExerciseSelector component)
- ✅ Exercise integration with mobility sessions (shared catalog)
- ✅ Exercise progress tracking & analytics (ExerciseAnalyticsPage, PR tracking)
- ✅ Progress graphs: weight over time, reps over time, volume over time
- ✅ Trend analysis: improving, plateauing, declining
- ✅ Exercise frequency heatmaps (calendar-style visualization)
- ✅ Exercise seeding (integrated into main seed script)
Workout (Training Session) Management
- ✅ Create workout UI (WorkoutPage with split label, start/end time, session notes)
- ✅ Exercise entry form (TrainingEntryForm with all core/additional/advanced metrics)
- ✅ Workout editing (edit session, add/remove exercises, reorder)
- ✅ Workout history view (list, filter by date/split/muscle group)
Progress Tracking & Analytics
- ✅ Muscle group analytics (frequency, volume, warnings, API endpoint, frontend page)
- ✅ Workout analytics (volume, tonnage, RPE/RIR, duration, session RPE trends)
- ✅ Correlation analytics: Training volume vs sleep, load vs mood/energy, RPE vs recovery
Database Schema Updates
- ✅ TrainingEntry model updated (all advanced metrics fields added)
- ✅ TypeScript types updated
- ✅ Migration created and applied (all fields optional/nullable for backward compatibility)
Mobility Integration
- ✅ Mobility session exercise tracking (ExerciseSelector, duration, sets/reps, notes)
- ✅ UI/UX requirements (default metrics display, form validation, mobile-friendly)
API Endpoints
/api/exercises- Exercise catalog CRUD/api/training- Workout CRUD/api/training/analytics- Workout analytics/api/training/analytics/correlations- Correlation analytics/api/exercises/:exerciseId/analytics- Exercise analytics/api/exercises/:exerciseId/frequency-heatmap- Frequency heatmap/api/muscle-groups/analytics- Muscle group analytics
Frontend Pages
- Exercise Catalog (
/exercises) - Workout Page (
/workout) - Exercise Analytics (
/exercises/:exerciseId/analytics) - Muscle Group Analytics (
/analytics/muscle-groups) - Training Correlation Analytics (
/analytics/training/correlations)