Skip to main content

MO:PULSE - Tracking Domain

"The Observer" — "I see everything you do"

MO:PULSE captures all user activity and health data. It's the primary input layer that feeds MO:COACH with data for analysis.


Verticals

VerticalPurposeSystemsStatus
MoMoveActivity tracking54/5 built
MoBodyBody metrics31/3 built
MoRecoverRecovery tracking43/4 built
MoFuelNutrition tracking30/3 built

Domain Data Model

interface MoPulseData {
activity: {
sessions: WorkoutSession[];
exercises: ExerciseLog[];
cardioActivities: CardioActivity[];
};
body: {
weightEntries: WeightEntry[];
measurements: BodyMeasurement[];
};
recovery: {
sleepLogs: SleepLog[];
energyLevels: EnergyLog[];
sorenessLogs: SorenessLog[];
};
nutrition: {
meals: MealLog[];
macros: DailyMacros[];
hydration: HydrationLog[];
};
}

Domain Interface

interface MoPulseInterface {
// Activity
getTodayWorkout(): Promise<WorkoutTemplate>;
startSession(templateDayId: string): Promise<Session>;
logSet(data: SetLogData): Promise<void>;
completeSession(sessionId: string): Promise<SessionSummary>;

// Body
logWeight(weight: number): Promise<void>;
getWeightHistory(days: number): Promise<WeightEntry[]>;

// Recovery
logRecovery(data: RecoveryData): Promise<void>;
getRecovery(date: Date): Promise<RecoveryLog>;
}

Code Organization

/lib/mo-pulse
├── /move
│ └── warmup.ts → MoWarmup
└── index.ts → Domain exports

/app/api
├── /ppl/today → MoSession
├── /ppl/session → MoSession
├── /ppl/session/sets → MoStrength
├── /weight → MoWeight
├── /recovery → MoSleep, MoEnergy, MoSoreness
└── /warmup → MoWarmup

API Endpoints

EndpointMethodSystem
/api/ppl/todayGETMoSession
/api/ppl/sessionPOST/PATCHMoSession
/api/ppl/session/setsPOST/DELETEMoStrength
/api/weightGET/POSTMoWeight
/api/recoveryGET/POSTMoSleep, MoEnergy, MoSoreness
/api/warmupGET/POSTMoWarmup

Status

MetricValue
Verticals4/4
Systems Built8/15 (53%)
API Endpoints6