How VGX uses WHOOP data in the client journey
This page follows the Metrics tab in the VGX clinical portal—the same order a performance specialist or doctor sees when reviewing a connected client. Raw WHOOP numbers and trends stay on the professional side; clients receive interpretation through consultations, programme messaging, and their portal—not a second WHOOP dashboard.
Applicant: VGX (vgx.life) · Programme: bespoke clinical and performance health
Client journey
- Connect WHOOP — Client authorises VGX via OAuth during onboarding (
read:recovery,read:sleep,read:workout,read:profile,read:body_measurement). - Automated sync — Recovery, sleep, cycle/strain, workouts, and body measurements are pulled into
whoop_daily_metricson a schedule and after connection. - Professional review — PT and clinical staff use the Metrics tab (sections 1–4 below), consultation analysis, and clinical portal tools to read trends, compare to targets, and prepare consults.
- Interpretation for the client — Findings are translated into plain-language guidance (recovery readiness, sleep habits, training load, stress balance) via consult notes, WhatsApp/email where appropriate, and the client portal VGX score—not isolated WHOOP percentages.
- Preview client display — Staff use Preview client display in the portal sidebar to verify exactly what the client sees before sharing guidance.
Clinical & performance team
Why staff see the numbers
Recovery %, strain, HRV, sleep stages, and weekly charts support clinical and coaching decisions: period-over-period trends, consultation prep (/api/clients/…/whoop-analysis), and alignment with bloods, training, and nutrition.
What the client experiences
Why clients do not need the numbers
Executives enrol for outcomes and expert oversight. The portal emphasises VGX programme score, pillar summaries, and actionable messages. WHOOP underpins those insights; clients are not asked to interpret RMSSD, strain curves, or stage breakdowns themselves.
1 · Performance metrics
Portal order: first row
| Shown in VGX | WHOOP API | Stored as |
|---|---|---|
| Recovery score (%) | /developer/v1/recovery | recovery_score |
| Resting heart rate | /developer/v1/recovery | resting_heart_rate |
| HRV (RMSSD) | /developer/v1/recovery | hrv_rmssd |
| Strain score | /developer/v1/cycle | strain_score |
| Avg / max HR (day) | /developer/v1/cycle | average_heart_rate, max_heart_rate |
| Sleep performance (%) | /developer/v1/cycle/sleep | sleep_performance_percentage |
| Sleep duration & stages | /developer/v1/cycle/sleep | sleep_duration_minutes, light/deep/rem_sleep_minutes |
Clinical & performance team
Recovery
Daily recovery %, 7-day average, and timestamp. Used with HRV and sleep to judge readiness for training intensity and to flag under-recovery before consults.
What the client experiences
Recovery
e.g. "Your recovery has been strong this week—you're in a good position to maintain training volume" rather than "Recovery 90%, 7d avg 74%."
Clinical & performance team
Strain
Daily strain vs recovery balance; kilojoules and HR support workload discussions with the training programme.
What the client experiences
Strain
e.g. "Yesterday was a lighter load day—good alignment with your recovery" or guidance to dial back when strain has outpaced recovery over several days.
Clinical & performance team
Sleep
Duration, performance %, and stage breakdown (light, deep, REM) for sleep hygiene and circadian coaching.
What the client experiences
Sleep
e.g. "You're averaging just under your 8h target—deep sleep is solid; we'll focus on consistency" with qualitative bands (Excellent / on target / below target).
2 · Fitness capacity & health indicators
Portal order: second rowSame screenshot as section 1 (second row): VO₂ max, respiratory rate, skin temperature.
| Shown in VGX | WHOOP API | Notes |
|---|---|---|
| VO₂ max (mL/kg/min) | /developer/v1/recovery (inputs) | Derived in VGX from RHR, HRV, age, sex |
| Respiratory rate | /developer/v1/cycle/sleep | respiratory_rate |
| Skin temperature | /developer/v1/recovery | skin_temp_celsius (+ baseline delta) |
Clinical & performance team
VO₂ max
Auto-calculated from WHOOP cardiovascular signals (minimum 14 recovery days in rolling window). Displayed with age/gender norms (Elite, Excellent, Good, etc.) and feeds biological-age modelling.
What the client experiences
VO₂ max
Fitness band in plain language—e.g. "Excellent for your age"—and how it supports longevity goals, not the underlying formula.
Clinical & performance team
Respiratory & skin temp
Context for illness, travel, or overreaching: deviation from personal baseline and normal ranges (e.g. 12–20 breaths/min).
What the client experiences
Respiratory & skin temp
Only surfaced when clinically relevant—e.g. "slightly elevated temperature vs your baseline; worth monitoring"—via the care team, not as raw °C on the client home screen.
3 · Weekly overview
Portal order: charts below cards
Seven-day line charts are built from merged daily rows in whoop_daily_metrics—the same fields synced from recovery, cycle, and sleep endpoints. Consultation review extends this to 12-week analysis with automated key findings (trend direction, consistency, best/worst weeks).
Clinical & performance team
Trend review
Compare recovery vs strain divergence, sleep performance trajectory, and HRV stability when preparing consults or adjusting periodisation.
What the client experiences
Trend review
Summarised as programme narrative—improving / stable / needs attention—and tied to VGX pillar scores; clients do not navigate multi-line clinical charts.
4 · Lifestyle metrics
Portal order: below weekly charts
| Shown in VGX | WHOOP source | Presentation |
|---|---|---|
| Sleep quality | /developer/v1/cycle/sleep | sleep_performance_percentage → rating (e.g. Excellent) |
| Sleep duration | /developer/v1/cycle/sleep | total sleep time → vs 8h target |
| Stress level | /developer/v1/recovery | Inverse of recovery_score → Low / Moderate / High |
Clinical & performance team
Lifestyle banding
Qualitative labels with 7-day averages and trend arrows—fast scan before a call. Stress is computed from recovery so coaches and doctors speak one language with WHOOP physiology.
What the client experiences
Lifestyle banding
Green / amber / red style bands and short copy—"Stress low based on strong recovery"—rather than exposing the inverse recovery formula.
API & sync (reference)
- Sync implementation:
lib/whoop-sync.ts→whoop_daily_metrics,whoop_workouts - OAuth callback:
/api/whoop/callback· Scheduled sync: cron every 3h - Staff metrics UI:
app/client/[clientId]/components/BodyComposition.tsx(Metrics tab) - Consultation period analysis:
GET /api/clients/:clientId/whoop-analysis - Related internal docs:
docs/WHOOP_API_USE_STATEMENT.md,docs/WHOOP_COMPLETE_METRICS_SYNC.md
Data is used only to deliver the VGX programme for enrolled clients. We do not resell WHOOP data or use it for advertising. Access is limited to the client and their VGX care team.