explaingit

madhursatija/whoof

15JavaScriptAudience · generalComplexity · 2/5LicenseSetup · easy

TLDR

A free browser app that connects to your WHOOP 4.0 strap over Bluetooth and shows your recovery scores, HRV, and strain data locally without a paid WHOOP subscription.

Mindmap

mindmap
  root((whoof))
    What it does
      Reads WHOOP strap via Bluetooth
      No subscription needed
      All data stays local
    Metrics shown
      Heart rate and HRV
      Recovery score
      Strain score
      Blood oxygen
    Dashboard features
      30-day calendar view
      Daily training advice
      Week-over-week trends
      Poincare plot
      Activity journal
    How to run
      Hosted on Pages
      Local Python server
      iOS via Bluefy or Capacitor
    Tech stack
      JavaScript
      Web Bluetooth API
      Browser local storage
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Access your WHOOP recovery score and HRV data every day without paying for a WHOOP subscription by connecting your strap directly in the browser.

USE CASE 2

Log lifestyle factors like sleep quality and alcohol in the activity journal to discover which habits statistically impact your recovery score.

USE CASE 3

View a Poincare plot of your RR interval data to visualize heart rate variability patterns typically hidden behind the WHOOP paywall.

USE CASE 4

Export your WHOOP data on a Mac and import it into Whoof on iPhone for a full dashboard without the official app.

Tech stack

JavaScriptPythonWeb Bluetooth API

Getting it running

Difficulty · easy Time to first run · 5min

Requires a WHOOP 4.0 strap and a Chromium-based browser on Mac or Linux, Safari is not supported due to missing Web Bluetooth API.

MIT license, use freely for any purpose, including commercial, as long as you keep the copyright notice.

In plain English

Whoof is an unofficial browser app for people who own a WHOOP 4.0 fitness strap but do not want to pay for a WHOOP subscription. WHOOP sells the strap at low cost and charges a monthly fee to access your own health data through their app. Whoof reads the same data directly from the strap over Bluetooth and displays it in a local dashboard, with no account, no cloud connection, and no ongoing cost. The strap continuously records heart rate, RR intervals (the time gaps between heartbeats), blood oxygen, and skin temperature. When you open Whoof and connect your strap over Bluetooth, the app pulls any data that was recorded while the strap was out of range, syncs the strap's clock, and starts streaming live readings. Everything is stored in your browser's local storage. From that data, the app calculates HRV (a measure of stress and recovery), a recovery score, and a strain score using publicly documented methods. The dashboard includes a 30-day calendar view of recovery scores, a daily training recommendation (rest, active, or push), a week-over-week trend summary, and a Poincare plot for visualizing RR interval data. There is also an activity journal where you can log lifestyle factors like sleep quality, alcohol, or hard workouts, and the app calculates how much each factor statistically affects your recovery score once you have enough data points. The HRV number the app shows is one WHOOP normally reserves for paying subscribers. The app runs entirely in the browser. You can use the hosted version at getwhoof.pages.dev or run it locally with a small Python server included in the repository. Chromium-based browsers are required on Mac and Linux because Safari does not support Web Bluetooth. On iPhone, you can use either the Bluefy browser app or export data from a Mac and import it. An iOS app built on Capacitor is available on a separate branch. The project is built on top of open research into the WHOOP BLE protocol. It includes clear disclaimers that it is not affiliated with WHOOP and that the metrics are not medically validated. It is MIT licensed.

Copy-paste prompts

Prompt 1
I have a WHOOP 4.0 and want to use Whoof instead of the paid app. Walk me through pairing my strap in Chrome and syncing my data for the first time.
Prompt 2
How does Whoof calculate the recovery score and HRV from raw RR interval data? Explain the algorithm it uses.
Prompt 3
I want to run Whoof locally instead of using the hosted version. How do I start the Python server and access the dashboard?
Prompt 4
I have been logging activities in Whoof for a month. How do I read the lifestyle correlation stats to see which habits hurt my recovery score the most?
Open on GitHub → Explain another repo

← madhursatija on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.