About · how to read this dashboard
Susan Nesbitt's recovery, sleep, strain, and workouts, read off her WHOOP wristband and republished here every day. Anyone with the link can read it; only Susan can update it.
This page is the reference: how to read what's on the dashboard today. For the method behind it, plus the prompt to build one for your own wearable, read the Guide instead.
01 what it is
WHOOP is a small wristband with no screen. It measures heart rate, body movement, body temperature, and sleep around the clock. This dashboard pulls Susan's last 180 days of those measurements and lays them out on a single page.
The numbers refresh once a day on their own, whenever Susan opens the dashboard, or on demand via the Refresh button any visitor can click. Visitors see whatever was last published: a single stored snapshot, never the live WHOOP account.
02 the stack
The whole dashboard is one static index.html with no build step. Netlify Functions handle the one-time WHOOP sign-in and stand between the browser and the API, so the browser never holds a token. The single published snapshot every visitor reads lives in Netlify Blobs.
Source lives on GitHub and deploys itself on every push. The page's logic sits in small modules covered by 186 automated tests, run against the same code a visitor sees. After each deploy a smoke test is run by hand to check that the live data path is healthy and current. A scheduled job refreshes the snapshot from WHOOP once a day, so the page stays current on days nobody opens it. A separate daily job backs up the published snapshot to the GitHub repo, so a bad write is recoverable rather than permanent.
03 what's on the page
04 reading the colors
The palette is small on purpose. Green means recovered or healthy. Orange sits in the middle: moderate, or worth watching. Anything red is low or off-track. Blue carries no good-or-bad signal at all; it marks effort, strain, and anything you can click. Each sport then gets its own color so the breakdowns stay readable.
The bar at the top of the page reads Live · syncing from WHOOP when Susan is signed in and pulling new data. The rest of the time it reads Snapshot · last updated and then how long ago that was, with a plain Refresh button next to it. Before a first snapshot has ever been published it reads Snapshot view · awaiting first refresh instead. On a typical day the snapshot is updated within a few hours of waking.
05 roadmap
Everything described above is live. Four phases are still planned: three that would make the dashboard more agentic, then an editing pass driven by an outside design review. The full roadmap has the order and the reasoning, and the guide covers how the whole thing is built and kept running.
06 what it won't do
- No visitor accounts and no passwords. Reading the dashboard requires nothing at all.
- Nothing on the page watches you: no analytics, no advertising, no third-party tracking.
- No medical records or journal entries. The only identifying information here is Susan's name.
- Your browser never reaches WHOOP's servers. It reads one stored snapshot, published from the server side, and that is the entire connection between you and Susan's WHOOP account.
- No selling or sharing the data. It exists to be looked at.