Skip to main content

MVP Progress

Goal

Build a minimal fitness app that I actually use every workout.


Implementation Phases

Phase 1: Database Schema ✅

  • Configure Clerk auth
  • Set up Neon database
  • Run initial migration
  • Add PPL training system tables (13 new tables)
  • Add enums (exerciseUse, slotType, dayType, warmupPhaseType, equipmentLevel, sessionStatus)

Phase 2: Seed Data ✅

  • Seed exercise library (~500 exercises)
  • Seed PPL template (6 days, 36 slots)
  • Seed warmup templates (3 templates, 9 phases)
  • Seed warmup exercises (30 exercises, 20 phase links)

Phase 3: API Endpoints ✅

  • GET /api/ppl/today - Today's workout with rotation
  • POST/PATCH /api/ppl/session - Start/complete sessions
  • POST/DELETE /api/ppl/session/sets - Log sets
  • GET /api/exercises/alternatives - Exercise swaps
  • GET/POST /api/recovery - Recovery logging
  • GET /api/progression - Progression & fatigue tracking

Phase 4: Frontend Components ✅

  • Workout page with two-mode design (overview/focused)
  • Exercise swap modal
  • Recovery check-in component
  • Dashboard with recovery integration
  • Progression analytics page

Phase 5: Logic & Auto-Regulation ✅

  • Fatigue calculation (0-10 score)
  • Progression gates system
  • Deload detection & management
  • Weight suggestions
  • Training status API

Phase 6: Deploy ✅

  • Deploy to Vercel
  • Use for 2 weeks
  • Adjust thresholds based on real usage

Phase 7: Mo Universe Architecture ✅

  • Created Mo Universe directory structure (/lib/mo-*)
  • MoStreaks - Workout streak tracking
  • MoRecords - Personal record detection
  • MoSettings - User preferences
  • MoWarmup - Warmup tracking
  • Auto-hooks for streak updates and PR detection

Tech Stack

LayerChoiceStatus
FrameworkNext.js 15 (App Router)
LanguageTypeScript
StylingTailwind CSS
DatabaseNeon (PostgreSQL)
ORMDrizzle
AuthClerk
ChartsRecharts
HostingVercel

MVP Features

Must Have (Launched)

  1. Authentication — Clerk (email/OAuth) ✅
  2. Program library — PPL template with 6 days ✅
  3. Today's workout — Show exercises for today ✅
  4. Quick logging — Enter sets/reps/weight with minimal taps ✅
  5. Workout history — View past workouts ✅
  6. Progress charts — Weight lifted over time ✅
  7. Body weight tracking — Log and chart weight ✅

Deferred

  • Custom program builder
  • AI coaching
  • Exercise video demos
  • Social features / sharing
  • Nutrition / calorie tracking
  • Mobile native app

PPL Template Design

The PPL (Push/Pull/Legs) system uses movement pattern slots instead of fixed exercises:

DayPrimarySecondary
Push AHorizontal PushVertical Push, Triceps, Side Delts
Push BIncline PushVertical Push, Triceps, Chest Fly
Pull AVertical PullHorizontal Pull, Biceps, Rear Delts
Pull BHorizontal PullVertical Pull, Biceps, Rear Delts
Legs ASquatHinge, Leg Curl, Calves
Legs BHingeSquat, Leg Extension, Calves

Key Features:

  • Exercises suggested based on movement pattern, equipment, and history
  • Users can swap exercises within the same movement pattern
  • RPE targets and rep ranges defined per slot
  • Warmup templates specific to each day type

Success Criteria

v0.1 is successful when:

  • I use it for every workout for 2 weeks
  • Logging a set takes < 5 seconds
  • I can see my bench/squat/deadlift progress charted
  • The app doesn't confuse me or slow me down