Skip to main content

MoPlan - Interactive Workout Planning

Coach-guided workout planning that creates personalized training programs.

Location: app/(app)/plan/, app/api/v1/plans/


Overview

MoPlan transforms workout planning from a static form into an interactive, coach-guided experience where users collaborate with AI coaches to create personalized training programs.


Coach Roles in Planning

MoPlan uses the 3+1 coach model:

Domain Experts (Always Present)

CoachRole in Planning
MaxDesigns workout structure, volume, splits, exercise selection
NovaAnalyzes goal feasibility, provides scientific rationale
SageEnsures adequate rest, prevents burnout

Personality Coach (User's Choice)

Sam, Ace, Chip, Rex, or Mo deliver the final message in the user's preferred communication style.

Coach Flow

User Input → Domain Experts Analyze → Personality Coach Summarizes
│ │ │
│ ├── Max: Training design │
│ ├── Nova: Feasibility ├── Delivers in user's
│ └── Sage: Recovery │ preferred style
│ │
└────────────────────────────────────────┘

Documentation

DocumentDescription
planning-flow.md8-phase interactive planning wizard
plan-generation.mdEngine architecture and algorithms
plan-generation-v2/Enhanced plan generation with 10 Pillars
workout-sessions.mdSession structure and tracking
database-schema.mdAll plan-related database tables

Plan Generation V2 (NEW)

Comprehensive science-based plan generation documentation:

DocumentDescription
01-flow-and-ui.mdComplete planning flow (Steps 1-9)
02-ten-pillars.mdThe 10 Pillars of science-based design
03-body-recomposition.mdBody recomposition guide
04-execution-modes.mdTraining modes & techniques
05-exercise-database.mdExercise database schema
06-implementation.mdAlgorithm & implementation

Quick Reference

Planning Phases

PhasePrimary CoachDescription
1. Goal SelectionAllSelect outcome goals (Build Muscle, Lose Fat, etc.)
2. Goal QuantificationNovaSet targets, timeline, feasibility score
3. Activity SelectionMaxChoose activities (Gym, Running, etc.)
4. Frequency & ScheduleMax + SageSet weekly frequency and days
5. Equipment & ConstraintsMaxEquipment access, injuries, preferences
6. Plan GenerationAllAI generates personalized plan
7. Review & ActivationAllUser reviews and commits
8. Living PlanAllOngoing adjustments and tracking

Key Parameters

CategoryExamples
GoalsStrength, Hypertrophy, Fat Loss, Endurance
PeriodizationLinear, Undulating (DUP), Block
SplitsFull Body, Upper/Lower, Push/Pull/Legs
Frequency3-6 days/week
Session Duration30-90 minutes

Implementation

app/
├── (app)/plan/
│ ├── page.tsx # Plan list/dashboard
│ ├── new/page.tsx # Planning wizard
│ └── [id]/page.tsx # Plan details

├── api/v1/plans/
│ ├── route.ts # Plan CRUD
│ ├── [planId]/
│ │ ├── route.ts # Single plan operations
│ │ ├── goals/ # Goal management
│ │ ├── generate/ # AI plan generation
│ │ └── activate/ # Plan activation
│ │
│ └── sessions/ # Workout session APIs