Fitness Dashboard: Real-Time Health Analytics
Bringing together WHOOP and Strava data pipelines to power an always-on performance dashboard with real-time analytics, anomaly detection, and historical insight.

The Challenge
WHOOP exposes rich biometric streams, but turning that raw telemetry into actionable insights requires resilient ingestion, smart caching, and compelling visualization. I wanted a single pane of glass that captured training load, recovery, and workout patterns in one experience.
Technical Architecture
- WHOOP API ingestion via authenticated collectors pushing to TimescaleDB with automatic backfills.
- Strava webhooks keep activities synchronized without polling and trigger enrichment jobs.
- PostgreSQL + TimescaleDB for hypertables, retention policies, and downsampled materialized views.
- Next.js 14 Server Components streaming analytics to interactive charts with ISR refresh every 6 hours.
Key Challenges Solved
Built adaptive rate limiting to respect WHOOP quotas, created reconciliation jobs for data drift, and designed a correlation pipeline mapping previous-day strain to recovery. The result is a dashboard that stays fresh without manual refreshes and highlights the metrics that actually move training decisions.
See it in action
Explore the live dashboard, updated automatically as new WHOOP and Strava data arrives.
View Live Dashboard →