Skip to content

Metabolic profile

A user's metabolic profile is the set of physiological markers that describe how they perform: thresholds, capacity ceilings, and economy. SweatStack tracks these so your app can render training zones, gauge progression, and personalize workouts without computing the underlying physiology yourself.

The profile is built from two sources, and they compose:

  • Tests: structured evaluations (lactate test, VO2max test, FTP test) that produce a defined results schema. Tests are the highest-fidelity input.
  • Training data: activity history is used to estimate effort-duration relationships (power-duration, pace-duration) when no recent test exists, and to track how markers drift over time.

When both exist, tests take precedence and recent training data tracks between-test progression.

What's in the profile

Each marker is sport-specific. A user's running thresholds and cycling thresholds are tracked separately.

Marker What it is Source
first_threshold Aerobic threshold (LT1, VT1). Test result.
second_threshold Anaerobic threshold (LT2, VT2, MLSS). Test result.
vo2max Maximum oxygen uptake. Test result.
fatmax Intensity at which fat oxidation peaks. Test result.
Substrate utilization Carbohydrate vs. fat oxidation rates across intensities. Test result.
Intensity-duration model Power-duration (cycling) or pace-duration (running) curve. Derived from training data.
Training zones Sport-specific zone boundaries derived from thresholds. Computed from markers above.

What's available today

  • Test results: full schema, stable. See Tests.
  • Intensity-duration model: available at /api/v1/profile/intensity-duration-model (in development; the response shape may change). Returns the modeled effort-duration curve for a given sport and metric. Try it in the interactive API docs.

A unified "give me the whole metabolic profile in one call" endpoint is on the roadmap. Today, your app composes the profile by reading the user's most recent tests plus the intensity-duration model.

What this is not

The metabolic profile is not a fitness score, a readiness score, or a training-load model. SweatStack stores the underlying markers; opinionated derived metrics live in your app. That's the core/context split: we own the data, you own the interpretation.