Mo - Product Definition Document
1. Feature List
MVP Features
Pre-App Experience
| Feature | Mo Name | Description |
|---|---|---|
| Landing Page | MoHome | Marketing site, features, pricing |
| Login/Signup | MoAuth | Account creation, authentication |
| Email/Password Auth | MoAuth | Basic login |
| Google OAuth | MoAuth | Sign in with Google |
| Apple OAuth | MoAuth | Sign in with Apple |
| Onboarding Flow | MoStart | Goals, experience, coach selection |
| Password Reset | MoAuth | Forgot password flow |
Core Features
| Feature | Mo Name | Description |
|---|---|---|
| Dashboard | MoBoard | Today's workout, stats, coach greeting |
| Workout Logger | MoLog | Log sets, reps, weights, timer |
| Exercise Library | MoGuide | Instructions, demos for all exercises |
| AI Coach Chat | MoCoach | Ask questions, get guidance |
| Program Tracker | MoPhase | Current phase/week, what's next |
| Weight Tracking | MoBody | Daily weigh-ins, weekly averages |
| Progress Charts | MoStats | Visualize weight, strength over time |
| Coach Selection | MoVoice | Pick coaches, personality quiz |
| Settings | MoSettings | Profile, preferences, notifications |
V1.1 Features (Post-Launch)
| Feature | Mo Name | Description |
|---|---|---|
| PR Records | MoPRs | Personal records tracking |
| Meal Tracker | MoFuel | Protein/calorie logging |
| Progress Photos | MoBody | Upload, compare photos |
| Body Measurements | MoBody | Waist, chest, arms |
| Notifications | MoAlert | Reminders, streaks |
| Facebook OAuth | MoAuth | Sign in with Facebook |
Future Features
| Feature | Mo Name | Description |
|---|---|---|
| Educational Content | MoLearn | Full guide library in-app |
| Social/Sharing | MoSquad | Friends, share PRs |
| Challenges | MoChallenge | Weekly/monthly challenges |
| Workout Builder | MoBuilder | Create custom workouts |
| Wearable Sync | MoSync | Apple Watch, Fitbit |
| Magic Link Auth | MoAuth | Passwordless email login |
2. User Stories
Landing Page & Auth (MoHome / MoAuth)
| # | User Story |
|---|---|
| 1 | As a visitor, I want to see what Mo offers so that I can decide to sign up |
| 2 | As a visitor, I want to see the coach characters so that I understand the unique value |
| 3 | As a visitor, I want to see pricing so that I know what it costs |
| 4 | As a visitor, I want to sign up with email so that I can create an account |
| 5 | As a visitor, I want to sign up with Google so that I can register quickly |
| 6 | As a visitor, I want to sign up with Apple so that I can register quickly |
| 7 | As a user, I want to reset my password so that I can regain access |
| 8 | As a returning user, I want to log in so that I can access my data |
Onboarding (MoStart)
| # | User Story |
|---|---|
| 9 | As a new user, I want to enter my fitness goals so that Mo can personalize my experience |
| 10 | As a new user, I want to enter my experience level so that workouts match my ability |
| 11 | As a new user, I want to take a personality quiz so that I get matched with the right coach |
| 12 | As a new user, I want to select my coach(es) so that I get the voice I prefer |
| 13 | As a new user, I want to input my starting stats (weight, etc.) so that I can track progress |
Dashboard (MoBoard)
| # | User Story |
|---|---|
| 14 | As a user, I want to see today's workout so that I know what to do |
| 15 | As a user, I want to see a coach greeting so that I feel motivated |
| 16 | As a user, I want to see my current streak so that I stay consistent |
| 17 | As a user, I want to see my weekly progress so that I know I'm on track |
| 18 | As a user, I want quick access to start my workout so that I can begin fast |
Workout Logger (MoLog)
| # | User Story |
|---|---|
| 19 | As a user, I want to see my workout exercises so that I know what to do |
| 20 | As a user, I want to log sets, reps, and weight so that I track my performance |
| 21 | As a user, I want a rest timer so that I take proper rest between sets |
| 22 | As a user, I want to see my previous performance so that I know what to beat |
| 23 | As a user, I want coach tips between sets so that I stay motivated |
| 24 | As a user, I want to mark a workout complete so that it's recorded |
| 25 | As a user, I want to skip or swap an exercise so that I can adapt if needed |
Exercise Library (MoGuide)
| # | User Story |
|---|---|
| 26 | As a user, I want to search exercises so that I can find what I need |
| 27 | As a user, I want to see exercise instructions so that I use correct form |
| 28 | As a user, I want to see muscles targeted so that I understand the exercise |
| 29 | As a user, I want to see demo visuals so that I can follow along |
AI Coach (MoCoach)
| # | User Story |
|---|---|
| 30 | As a user, I want to ask my coach questions so that I get guidance |
| 31 | As a user, I want answers in my coach's personality so that it feels personal |
| 32 | As a user, I want form tips so that I avoid injury |
| 33 | As a user, I want motivation when I'm struggling so that I keep going |
Program Tracker (MoPhase)
| # | User Story |
|---|---|
| 34 | As a user, I want to see my current phase so that I know where I am |
| 35 | As a user, I want to see upcoming weeks so that I can plan ahead |
| 36 | As a user, I want to see phase progress so that I feel accomplishment |
Weight & Body Tracking (MoBody)
| # | User Story |
|---|---|
| 37 | As a user, I want to log my daily weight so that I track trends |
| 38 | As a user, I want to see weekly averages so that I ignore daily fluctuations |
| 39 | As a user, I want to see a weight chart so that I visualize progress |
Progress Charts (MoStats)
| # | User Story |
|---|---|
| 40 | As a user, I want to see strength progress charts so that I see gains |
| 41 | As a user, I want to see body weight trends so that I track recomposition |
| 42 | As a user, I want to see workout consistency so that I stay accountable |
Coach Selection (MoVoice)
| # | User Story |
|---|---|
| 43 | As a user, I want to change my coach so that I can try different styles |
| 44 | As a user, I want to add multiple coaches so that I get variety |
| 45 | As a user, I want to assign coaches to contexts so that I get the right voice at the right time |
| 46 | As a user, I want to retake the personality quiz so that I can update my match |
Settings (MoSettings)
| # | User Story |
|---|---|
| 47 | As a user, I want to update my profile so that my info is current |
| 48 | As a user, I want to change units (lb/kg) so that I use my preference |
| 49 | As a user, I want to toggle dark/light mode so that I control appearance |
| 50 | As a user, I want to manage notifications so that I control alerts |
| 51 | As a user, I want to log out so that I can secure my account |
| 52 | As a user, I want to delete my account so that I can remove my data |
Offline / Connectivity
| # | User Story |
|---|---|
| 53 | As a user, I want to log workouts offline so that I can use Mo without wifi at the gym |
| 54 | As a user, I want my data to sync when back online so that nothing is lost |
Error / Recovery States
| # | User Story |
|---|---|
| 55 | As a user, I want to undo an accidental log entry so that I can fix mistakes |
| 56 | As a user, I want to edit past workouts so that I can correct errors |
Rest Days / Non-Workout Days
| # | User Story |
|---|---|
| 57 | As a user, I want rest day guidance so that I know it's okay not to train |
| 58 | As a user, I want to log rest day activities (stretching, walking) so that I track all activity |
Missed Workouts / Returning
| # | User Story |
|---|---|
| 59 | As a user who missed days, I want encouraging re-entry so that I don't feel guilty |
| 60 | As a user, I want to adjust my program if I missed time so that I don't jump back too hard |
Deload / Recovery Weeks
| # | User Story |
|---|---|
| 61 | As a user, I want deload week guidance so that I know to reduce intensity |
First-Time Moments
| # | User Story |
|---|---|
| 62 | As a user hitting my first PR, I want celebration so that I feel accomplished |
| 63 | As a user completing my first week, I want recognition so that I build momentum |
Data & Privacy
| # | User Story |
|---|---|
| 64 | As a user, I want to export my data so that I own my information |
| 65 | As a user, I want to see privacy policy so that I know how data is used |
Subscription / Payments
| # | User Story |
|---|---|
| 66 | As a user, I want to see free vs pro features so that I understand the value |
| 67 | As a user, I want to upgrade to pro so that I unlock features |
| 68 | As a user, I want to manage my subscription so that I control billing |
3. User Flows
Flow 1: First-Time User (Visitor → Active User)
Landing Page
│
▼
Click "Get Started"
│
▼
Sign Up (Email / Google / Apple)
│
▼
Onboarding Step 1: "What's your goal?"
- Lose fat
- Build muscle
- Both (recomposition)
- Get stronger
- General fitness
│
▼
Onboarding Step 2: "Experience level?"
- Beginner (0-1 years)
- Intermediate (1-3 years)
- Advanced (3+ years)
- Returning (used to train, took a break)
│
▼
Onboarding Step 3: "Starting stats"
- Current weight
- Goal weight (optional)
- Height
│
▼
Onboarding Step 4: "Choose your coach"
- Take personality quiz → Get recommendation
- Or browse and pick manually
- Select 1 to 8 coaches
│
▼
Onboarding Step 5: "Select your program"
- Recommended based on goals
- Or browse options
│
▼
Dashboard (MoBoard)
- Coach greeting
- "Ready for your first workout?"
Flow 2: Daily Workout
Open App
│
▼
Dashboard (MoBoard)
- Coach greeting: "Push day. Let's go!"
- Today's workout card
- Quick stats
│
▼
Tap "Start Workout"
│
▼
Workout Screen (MoLog)
│
├── Exercise 1
│ ├── See: Name, sets, reps, previous weight
│ ├── Log: Weight, reps for each set
│ ├── Rest timer starts after each set
│ ├── Coach tip appears during rest
│ └── Mark exercise complete
│
├── Exercise 2... (repeat)
│
├── [Can skip or swap exercise]
│
└── Exercise N (final)
│
▼
Workout Complete Screen
- Duration
- Total volume
- Coach celebration message
- PR notifications (if any)
- [Squad messages if multi-coach]
│
▼
Return to Dashboard
- Streak updated
- Progress updated
Flow 3: Log Weight
Dashboard
│
▼
Tap "Log Weight" or go to MoBody
│
▼
Weight Entry Screen
- Today's date
- Enter weight
- [Optional] Add note
│
▼
Save
│
▼
See updated chart
- Today's weight
- Weekly average
- Trend line
Flow 4: Ask Coach (MoCoach)
Dashboard or any screen
│
▼
Tap Coach icon / "Ask Coach"
│
▼
MoCoach Chat Screen
- Coach avatar (selected coach)
- Chat history
│
▼
Type question: "How do I improve my bench?"
│
▼
Coach responds in their personality
│
▼
Continue conversation or close
Flow 5: Change Coach
MoSettings
│
▼
Tap "My Coaches" (MoVoice)
│
▼
Coach Selection Screen
- See all 8 coaches
- Current selection highlighted
│
▼
Options:
├── Tap coach to select/deselect
├── Tap "Personality Quiz" to retake
└── Tap "Context Assignment" to assign by activity
│
▼
Assign coaches:
- Workouts: [Select]
- Rest Days: [Select]
- Nutrition: [Select]
- Motivation: [Select]
│
▼
Save → Changes apply immediately
Flow 6: View Progress (MoStats)
Dashboard
│
▼
Tap "Progress" or MoStats tab
│
▼
Progress Screen
│
├── Tab: Weight
│ - Line chart over time
│ - Weekly averages
│ - vs. goal
│
├── Tab: Strength
│ - PR list by exercise
│ - Progress per lift
│
└── Tab: Consistency
- Workouts per week
- Streak history
- Calendar view
Flow 7: Returning After Missed Days
Open App (after 2+ days away)
│
▼
Dashboard with special state
│
▼
Coach message (Sam by default for Mo adaptive):
"Hey, life happens. Ready to get back at it?"
│
▼
Options:
├── "Jump back in" → Resume program
├── "Adjust program" → Modify intensity
└── "Talk to coach" → MoCoach for guidance
Flow 8: Offline Workout
No internet connection detected
│
▼
Open App
│
▼
Dashboard loads from cache
- Banner: "Offline mode"
- Today's workout available
│
▼
Complete workout (logged locally)
│
▼
When back online:
- Auto-sync
- Notification: "Workout synced!"
4. Screen Inventory
Public (No Auth) - 7 Screens
| Screen | Mo Name | Description |
|---|---|---|
| Landing Page | MoHome | Marketing, features, pricing, CTA |
| Login | MoAuth | Email/password, OAuth buttons |
| Sign Up | MoAuth | Create account form |
| Forgot Password | MoAuth | Password reset request |
| Reset Password | MoAuth | Set new password |
| Privacy Policy | - | Legal requirement |
| Terms of Service | - | Legal requirement |
Onboarding (Post-Auth, First Time) - 7 Screens
| Screen | Mo Name | Description |
|---|---|---|
| Goal Selection | MoStart | What's your fitness goal? |
| Experience Level | MoStart | Beginner to advanced |
| Starting Stats | MoStart | Weight, height, etc. |
| Personality Quiz | MoStart | Match with coach |
| Coach Selection | MoStart | Pick your coach(es) |
| Program Selection | MoStart | Choose training program |
| Welcome/Ready | MoStart | Final confirmation, enter app |
Main App - 14 Screens
| Screen | Mo Name | Description |
|---|---|---|
| Dashboard | MoBoard | Home screen, today's workout, stats |
| Workout Detail | MoLog | Pre-workout view of exercises |
| Active Workout | MoLog | Logging sets/reps, timer, coach tips |
| Workout Complete | MoLog | Summary, celebration, PR alerts |
| Exercise Library | MoGuide | Browse/search all exercises |
| Exercise Detail | MoGuide | Instructions, demo, muscles |
| Coach Chat | MoCoach | AI conversation with coach |
| Program Overview | MoPhase | Current phase, upcoming weeks |
| Progress Dashboard | MoStats | Charts and trends |
| Weight Log | MoBody | Log weight, view chart |
| Profile | MoProfile | User info, goals |
| Coach Selection | MoVoice | Change/manage coaches |
| Settings | MoSettings | Preferences, notifications, account |
| Subscription | MoSettings | Manage plan, upgrade |
Modal / Overlay Screens - 7 Screens
| Screen | Description |
|---|---|
| Rest Timer | Countdown between sets with coach tip |
| PR Celebration | New personal record popup |
| Streak Milestone | Celebration for consistency |
| Exercise Swap | Choose replacement exercise |
| Quick Weight Entry | Log weight from dashboard |
| Confirm Logout | Are you sure? |
| Delete Account | Warning and confirmation |
Empty / Error States - 5 Screens
| Screen | Description |
|---|---|
| Offline Banner | Shown when no connection |
| Empty Workout History | First time, no workouts yet |
| Empty Progress | No data to show yet |
| Error State | Something went wrong |
| Loading State | Fetching data |
Screen Count Summary
| Category | Count |
|---|---|
| Public | 7 |
| Onboarding | 7 |
| Main App | 14 |
| Modals/Overlays | 7 |
| Empty/Error States | 5 |
| Total | 40 screens |
Document Status
- Feature List (MVP, V1.1, Future)
- User Stories (68 total)
- User Flows (8 flows)
- Screen Inventory (40 screens)
Phase 2: Product Definition - COMPLETE
Document created: December 2024 Version: 1.0 Status: Complete