Edge

A health app for your wearables.

No subscription, no fees, private by default. Edge pairs with your device over Bluetooth and works out your sleep, recovery, strain and the rest entirely on your phone. No account, and no server that ever receives your health data.

Free and AGPL-3.0 licensed. Independent, not affiliated with any device maker.

Devices

  • Supported: WHOOP 4.0, 5.0 and MG. Sleep, recovery, strain and the rest, computed on-device.
  • Being built: Oura Ring, Garmin, Pebble, Colmi, Ultrahuman, Mi Band and more.
  • Any standard Bluetooth heart-rate strap pairs for workout tracking today.

As featured in

The goal of the so-called OpenStrap project is not to re-create the WHOOP app. Rather, the algorithms and processing methods are developed from scratch, based on public research… The health data collected from the watch never leaves the phone.
Hackaday 15 July 2026
When a membership lapses, the hardware is basically useless. You own it, you still can’t use it — it just goes dark, because the app stops talking to it. So you’ve got a perfectly good sensor turning into a paperweight.
Adafruit 15 July 2026
The Today screen, showing the day’s recovery, strain and sleep
Today
The Sleep screen, showing a hypnogram
Sleep
The resting heart rate screen, with a live reading and your normal range
Heart rate
The Workout screen
Workout

It runs on your phone

The band talks to the app, the app decodes the bytes and computes every metric locally, and the results are stored on the device. There’s no server that sees your health data — that isn’t a setting, it’s the architecture.

Precisely, because “no cloud” gets said too loosely: GitHub Release builds send anonymous crash diagnostics by default (switchable off); store builds send none. Neither ever includes health data. Detail →

Published methods, cited

Banister TRIMP, Cole–Kripke, Lomb–Scargle, van Hees and friends. Nothing invented, no neural net guessing at anyone’s formulas. You can go read the paper and decide whether you trust the number.

It admits what it doesn’t know

Every metric carries a confidence and a tier. When the data isn’t there you get a dash, not a plausible-looking guess. SpO2 and skin temperature are relative-only, because that’s what the band actually gives up.

Its own numbers

Different algorithms from any device maker’s app, so expect different numbers. Textbook methods over the data your device records. It trends correctly and it’ll tell you when you’re under-recovered.

Before you install

  • Close the device maker’s app before pairing. Bluetooth only lets one app own a device at a time.
  • Pick one and stay on it. A firmware update pushed from the device maker’s app could change the records this depends on, and there’s no fixing that from here.
  • Not medical-grade. These are approximations from published research, not validated against a lab. Nothing here is a diagnosis.
  • There are bugs. It’s a beta built by one person. Open an issue when something looks wrong — that’s genuinely the most useful thing you can do.

How it’s put together

band → Bluetooth → protocol decoder → local storage → analytics → the UI

Where it’s got to

Star history for OpenStrap/edge

The cliff in mid-July is Hackaday and Adafruit covering it on the same day. Chart generated from the GitHub API and served from this site, rather than embedded from star-history.com or starchart.cc — there is no analytics or third-party service on this page. (The screenshots above load from GitHub, which also hosts it.)