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