Skip to main content

MoCardio

"The Distance Tracker" — "I measure every mile"

Status: ❌ Future

MoCardio will track cardiovascular activities like running, cycling, swimming, and rowing.


Purpose

  • Log cardio sessions (duration, distance, pace)
  • Track heart rate zones
  • Calculate calories burned
  • Integrate with wearables for auto-import
  • Analyze cardio trends

Planned Activities

ActivityMetrics
RunningDistance, pace, elevation, heart rate
CyclingDistance, speed, cadence, power
SwimmingLaps, distance, stroke count
RowingDistance, split time, stroke rate
WalkingSteps, distance, pace
HIITIntervals, work/rest, heart rate
Stair ClimberFloors, duration, calories

Data Model

interface CardioSession {
id: string;
userId: string;
activityType: CardioType;

// Core metrics
duration: number; // seconds
distance: number | null; // meters
calories: number | null;

// Pace/Speed
avgPace: number | null; // seconds per km
avgSpeed: number | null; // km/h

// Heart rate
avgHeartRate: number | null;
maxHeartRate: number | null;
heartRateZones: HeartRateZone[];

// Activity-specific
elevation: number | null; // meters (running/cycling)
laps: number | null; // swimming
strokes: number | null; // rowing

// Source
source: 'manual' | 'apple_watch' | 'garmin' | 'strava';
externalId: string | null;

startedAt: Date;
completedAt: Date;
notes: string | null;
}

interface HeartRateZone {
zone: number; // 1-5
timeInZone: number; // seconds
percentOfSession: number;
}

type CardioType =
| 'running'
| 'cycling'
| 'swimming'
| 'rowing'
| 'walking'
| 'hiit'
| 'stair_climber'
| 'elliptical';

Planned API Endpoints

EndpointMethodDescription
/api/cardioGETGet cardio sessions
/api/cardioPOSTLog cardio session
/api/cardio/statsGETGet cardio statistics

Heart Rate Zones

Zone% Max HRNamePurpose
150-60%RecoveryWarm up, cool down
260-70%Fat BurnBase endurance
370-80%AerobicImprove fitness
480-90%ThresholdIncrease speed
590-100%MaximumPeak performance

Integration Points

Will Receive from:

  • MoWearables (auto-import from devices)
  • Manual logging UI

Will Provide to:

  • MoFatigue (cardio load in fatigue calc)
  • Dashboard (recent activities)
  • MoReports (weekly cardio summary)
  • MoGoals (cardio goal tracking)

Implementation Tasks

  • Design cardio_sessions table
  • Build manual logging UI
  • Create cardio stats calculations
  • Integrate with MoWearables for imports
  • Add cardio to fatigue calculation
  • Build cardio history view