Skip to main content

MoEnergy

"The Battery" — "I know your fuel level"

Status: ✅ Built (via unified recovery API)

MoEnergy tracks daily energy levels as part of the recovery system.


Purpose

  • Track daily energy/readiness
  • Identify patterns in energy levels
  • Feed energy data to fatigue calculation
  • Help adjust training intensity

Implementation

Part of the unified recovery logging system.

Code Location

/app/api/recovery/route.ts

Field

interface EnergyData {
energyLevel: number; // 1-5
}

Energy Scale

RatingLabelPhysical StateTraining Adjustment
1Very LowExhausted, need restSkip or very light
2LowTired, sluggishReduce volume
3ModerateNormal, okayTrain normally
4GoodEnergized, readyTrain hard
5ExcellentPeak energyPR attempts okay

Impact on Training

Fatigue Calculation

function calculateEnergyDebt(energyLevel: number): number {
if (energyLevel <= 2) return 1.5;
if (energyLevel === 3) return 0.5;
return 0; // 4-5 = no debt
}

Suggested Adjustments

EnergyVolumeIntensityRest
1-2-30%-20%+30s
3NormalNormalNormal
4-5+10%NormalNormal

Data Model

// Part of RecoveryLog
interface RecoveryLog {
// ... other fields
energyLevel: number;
}

Database Column

-- In recovery_logs table
energy_level INTEGER CHECK (energy_level BETWEEN 1 AND 5),

Energy Patterns

Common patterns to watch:

PatternPossible CauseSolution
Consistently lowOvertrainingDeload week
Low after legsHigh CNS demandExtra rest day
Low MondayWeekend recoveryBetter weekend sleep
Declining trendAccumulated fatigueReduce volume

Integration Points

Provides to:

  • MoFatigue (fatigue calculation)
  • MoSuggest (intensity adjustments)
  • Dashboard (energy display)

Receives from:

  • Recovery check-in UI
  • MoWearables (future - HRV correlation)

Best Practices

  • Log energy in the morning before caffeine
  • Be honest (don't inflate for ego)
  • Low energy = opportunity for technique work
  • Track patterns over weeks, not days