Appearance
The meters panel
The meters strip sits at the top of the charts panel and shows seven gauges, one per subjective state — energy, focus, calm, mood, social, overwhelm, and sleep pressure. These are not raw signals; they're felt experiences modeled from your underlying biology.
What you're looking at
Each dial shows the meter's value at the current playhead, on a 0–10 scale, with a half-circle gauge and a needle. An up/down arrow appears when the meter is trending over the last hour.
Color follows whether you're tracking with the meter's ideal direction — green when you're in a good range, amber when you're drifting, red when you're far off.
How the meters are modeled
Each meter is calculated by Lab's engine — not by averaging raw values, but as a four-layer model:
- Personal baseline — your bloodwork, genetics, and conditions shift the meter's resting level. For example, low ferritin or elevated TSH pulls your Energy floor down before any signals are even considered. This is set once per simulation from your profile.
- Live signal contributions — each contributing signal is z-scored against its own reference range, so signals with wildly different units (cortisol ng/mL vs HRV ms vs glucose mg/dL) combine fairly. A weight is applied to that z-score.
- Time-of-day shape — sleep inertia (the first 60 minutes after wake), the afternoon dip around 3 PM, and the wake-maintenance zone before sleep all leave their fingerprint on what's physiologically plausible for that moment.
- Momentum lag — felt experience lags signal changes by ~30 minutes. A coffee bumps cortisol fast, but the felt alertness creeps in. The meters smooth over a short window so they don't jitter.
The output is bounded 0–10 by a sigmoid, so the meters land in physiological ranges and don't peg at the rails.
The meters
| Meter | What it measures | Major drivers |
|---|---|---|
| Energy | Felt vitality and drive | Cortisol, adenosine pressure, thyroid, HRV; baseline shifts from ferritin, TSH, hsCRP, vitamin D, HbA1c, MTHFR |
| Focus | Sustained attention and sharpness | Dopamine, norepinephrine, BDNF; COMT genotype tunes the resting floor |
| Calm | Parasympathetic balance, steadiness without sedation | GABA, vagal tone, HRV, magnesium — against cortisol/adrenaline |
| Mood | Affective tone, felt well-being | Serotonin, dopamine, oxytocin; vitamin D, hsCRP, 5-HTTLPR shift baseline |
| Social | Biological readiness for connection | Oxytocin, dopamine, vagal — minus sensory load and stress |
| Overwhelm | Allostatic load — beyond capacity | Cortisol, adrenaline, sensory load, inflammation, adenosine pressure |
| Sleep Pressure | Homeostatic drive to fall asleep | Adenosine pressure, melatonin, GABA — minus cortisol |
Reading them well
- Morning Energy below 5 is normal in the first hour after wake — that's sleep inertia, not a problem.
- Afternoon Energy dip around 3 PM is a circadian feature, not a glucose crash unless your glucose contribution is also moving.
- Hover or click a dial to see which signals are contributing most to its current value.
- Personal baseline matters — two people with identical signal traces can land at different meter values because their bloodwork-derived floors differ. Fill in your profile for the meters to be meaningful.
Energy: a worked example
Energy is the most fully-modeled meter. Citations are tracked in the engine's source for each baseline band:
- Ferritin < 30 ng/mL drops the floor ~1.2 points — based on iron-repletion fatigue RCTs in non-anemic women.
- TSH > 4.5 mIU/L drops the floor ~1.0 point — subclinical hypothyroidism systematic review.
- hsCRP > 3 mg/L drops the floor up to 1.5 points — cytokine-induced sickness behavior.
- Sleep inertia on wake pulls Energy down ~1.8 points, decaying with a ~25 minute time constant.
- The afternoon dip pulls Energy down ~0.4 points, centered on 3 PM.
If your dashboard shows Energy at 4 at 8 AM and 7 by 10 AM, that's the model working as designed — not a calibration issue.
What changed from the old meters
Earlier versions of the meters were computed by summing raw signal values with weights — which produced wildly pegged results (Energy frequently at 10/10 in the morning) because signals on different scales were mixed without normalizing. The current model fixes this by z-scoring against reference ranges, applying subject-specific baselines from labs and genetics, and bounding the output with a sigmoid. The strip you see today is the engine-emitted value, not a UI-side computation.
Other meters beyond Energy use a simpler version of this model with smaller baseline hooks; they'll be expanded with more literature-backed shifts iteratively.