Skip to main content

MoVoice

"The Conversationalist" — "I'm here to talk training"

Status: ❌ Future

MoVoice will be the AI chat interface for conversational coaching.


Purpose

  • Natural language interaction
  • Answer training questions
  • Provide personalized advice
  • Explain recommendations
  • Adjust plans via conversation

Example Conversations

Asking About Progress

User: "How am I doing this week?"

Mo: "Great week so far! Here's your summary:

📊 3 sessions completed
💪 2 new PRs (Squat 275x3, Bench 225x5)
😴 Sleep averaging 7.2 hours
⚡ Energy levels good (4.2 avg)

Your fatigue score is 4 (normal) - you're in a good spot
to push hard in your next session.

Anything specific you want to focus on?"

Asking for Advice

User: "Should I skip my workout today? Feeling tired."

Mo: "Let me check your data...

Your fatigue score is 6 (elevated) and energy is 2 today.
Sleep was only 5 hours last night.

My recommendation: Do a lighter session today.
- Reduce sets by 30%
- Stay at current weights (don't try to progress)
- Focus on movement quality

Or you could take a full rest day - you've trained 4 days
in a row. Sometimes rest IS the workout.

What feels right to you?"

Exercise Questions

User: "What's a good alternative to barbell rows?"

Mo: "For horizontal pulling, here are some great alternatives:

1. **Dumbbell Rows** - Similar movement, more range of motion
2. **Cable Rows** - Constant tension, easier on lower back
3. **T-Bar Rows** - Heavy loading, great for thickness
4. **Chest-Supported Rows** - No lower back involvement

Based on your equipment (full gym) and history,
I'd suggest Cable Rows - you've responded well to
cable work in the past.

Want me to swap it into today's workout?"

Data Model

interface ChatMessage {
id: string;
sessionId: string;
role: 'user' | 'assistant';
content: string;
timestamp: Date;
context?: MessageContext;
}

interface MessageContext {
fatigueScore: number;
recentWorkouts: WorkoutSummary[];
relevantPRs: PersonalRecord[];
activeGoals: Goal[];
}

interface ChatSession {
id: string;
userId: string;
startedAt: Date;
lastMessageAt: Date;
messageCount: number;
}

Technical Architecture

User Message

Context Gathering (user data, recent workouts, goals)

Prompt Construction (system prompt + context + message)

LLM (Claude/GPT-4)

Response Validation

Action Extraction (if user wants changes)

Response to User

Planned API Endpoints

EndpointMethodDescription
/api/chatPOSTSend message, get response
/api/chat/historyGETGet conversation history
/api/chat/sessionsGETList chat sessions

Safety Guardrails

  • No medical advice
  • Redirect injury questions to professionals
  • Encourage rest when fatigue is high
  • Don't recommend extreme protocols
  • Always mention consulting a doctor for health concerns

Implementation Tasks

  • Design chat data model
  • Build context gathering system
  • Create prompt engineering framework
  • Integrate LLM API
  • Build chat UI
  • Add action extraction (modify workouts)
  • Implement safety guardrails