NOOP v7.0.0
NOOP v7.0.0: the "Everything" release 🎉
This is the big one. 🚀
The entire app got rebuilt around a brand-new look, there are two new trackers, sleep got smarter, and we cleared a whole stack of fixes off the board. Underneath it's the same NOOP you know: free, fully offline, no account, no subscription, and nothing ever leaves your device.
Grab a coffee, this one's chunky. ☕
🎨 A whole new NOOP
We tore the whole interface down and rebuilt every single screen around one clean design language, inspired by Apple Fitness and WHOOP. Not just the home tab. All of it, on iPhone, Mac and Android, in light and dark.
- 🟢🔵⚪ Clean Apple-style rings for your daily scores. Charge, Effort and Rest now live in three crisp flat colour rings: green for Charge (recovery), blue for Effort (strain), and a calm slate for Rest (sleep). No more heavy gauges or wobbling needles, just clear colour you read in a glance.
- 🌅 A living day-cycle backdrop behind Today. The home screen now sits under a hand-painted scene that follows your actual clock: sunrise, full daylight, dusk, and a starry night with the moon, all picked automatically from your local time. Your cards float on top so the data stays razor-sharp.
- 🔤 Apple-clean typography. Everything's set in SF Pro, and every number uses SF Pro Rounded, the same friendly digits you see across Apple's own Fitness and Health apps.
- ◾ Borderless rounded cards. Flat, near-black, soft corners, no borders. The contrast does all the work, so the app feels calmer and nothing's shouting at you.
- 📊 New pip bars replace the old gauges. Metrics now fill across a row of clean little segments that light up left to right. Bye-bye stress needle and busy dials.
- 🟩 A fresh green brand mark. The open ring with a glowing core (it doubles as the O in NOOP) is now a clean green ring with a white centre. Gold's gone completely. The new look is all colour, space and clarity.
- 🧭 Cleaner navigation and a live cue. Getting around is simpler, and the header glows softly whenever NOOP is actively recording, so you always know it's live.
- 🎬 Everything moves now. Scores count up to their value, cards rise and fade in one after another, then it all settles. Flip on Reduce Motion and it snaps straight to the end.
- 🧩 Build your own Today. The home screen is yours to arrange now. Pick which metrics show and in what order, so the numbers you actually care about sit right at the top. Hit CUSTOMISE to set it up.
Same redesign on every device, matched down to the colour, and it looks right whether you run light or dark. 🌗
✨ New in v7
💧 Hydration tracking
A dead-simple, fully local water tracker. Tap to log a drink against a daily goal that actually adapts to you.
Your goal isn't a flat number. It starts from a baseline by profile (3.7 L male, 2.7 L female, 3.2 L otherwise) and nudges up the harder you've trained today, by up to another 0.7 L scaled to your Effort. No Effort logged yet? No fake bump, it just sits at the baseline. So a female profile with an Effort of 50 lands at about 3.05 L for the day. 🧮
Logging is three buttons: Sip (30 ml), Cup (237 ml) and Bottle (500 ml). Every tap stacks onto your running total, the ring fills instantly, and a 7-day bar chart keeps the week in view.
Turn it on: it's off by default. Settings → Features → Hydration tracking drops a Hydration card onto Today (on iPhone, add it via CUSTOMISE). Tap the card for the full screen with the ring, the buttons and your history.
100% on-device, nothing synced. It's a wellness nudge, not medical advice, and it's deliberately minimal in this first cut (fixed amounts, and it stores your day total rather than every individual sip).
🏃 Automatic workout detection
Forgot to hit "start workout"? NOOP can now spot it for you, without ever messing up your data.
After a sync, NOOP quietly scans your recent heart rate for a sustained elevated stretch that looks like exercise (roughly your resting HR + 30 bpm, held for 12 minutes or more). If it finds one, you get a friendly Today card: "Looks like a workout around 14:05-14:32 (avg HR 148, 27 min). Save it?" ✅
It's non-destructive on purpose. NOOP never auto-creates a workout, it only ever asks. Tap Save it and it writes a normal manual-style workout over that window with the average HR filled in (re-label the sport later under Workouts → Edit). Tap Not a workout or the X and that exact suggestion never bugs you again.
Turn it on: off by default. Settings → Features → Auto-detect workouts. It's tuned conservatively so a stressful meeting or a flight of stairs doesn't trip it, which means it'll occasionally miss a short or gentle session. That's the trade we picked: no junk in your log. On-device only, one suggestion at a time, nothing synced.
😴 Smarter sleep
🌙 Experimental sleep staging (V2)
A brand-new, opt-in way to split your night into Light / Deep / REM / Awake that does a noticeably better job of recovering Deep and REM sleep, especially on the nights our default stager flattened everything to "light."
It re-reads each already-detected night from your heart rate, how variable it is, your breathing and your movement, smoothed the way sleep labs do it. Every number in the recipe comes from published sleep science, none of it is fitted to you, and it works on both WHOOP 4.0 and 5/MG.
Turn it on: iPhone/Mac Settings → Experimental · Sleep staging, Android Settings → Diagnostics. Flip "Experimental sleep staging (V2)" on and your next staged nights use it. Flip it off and you're instantly back to the default.
Straight up about what this is: it's labelled experimental because it was validated by its author on a single sleeper across 7 nights (where it lifted agreement with a commercial reference a lot). It needs wider testing, which is exactly why it's opt-in and not the default. It only changes how a night gets split up, it never touches sleep detection, your bed/wake times, or any score. Big thanks to @sunny-noop for the recipe (#600). 🙏
🛏️ Sleep marks
Log your own "going to bed" and "woke up" boundaries as a personal record. On the Sleep screen, tap Going to sleep when you turn in and I'm awake when you get up, each one timestamped with a confirming buzz. Prefer hands-free? Set your strap's double-tap to "Log a sleep mark" (Settings → Automations) and a quick double-tap writes it straight to your strap log, no screen needed.
Marks are yours alone: saved on-device, they survive a relaunch and ride along in your shareable strap log. They never move the night NOOP detects. This is Phase 1, the groundwork for tap-driven sleep bounds and personal calibration coming later. 🧱
🔬 Under-the-hood sleep + recovery tune-ups
Four algorithm improvements, reimplemented and verified by us from @ryanbr's community PRs:
- Steadier resting HR (#686). A single sensor dropout can't drag your RHR implausibly low anymore. A 5-minute window only counts toward your night's floor if it's well-populated and physiologically sane (mean at or above 25 bpm).
- Better step estimates (#682). Busy, high-movement days now carry more weight when NOOP learns your personal steps-per-motion ratio, so one lazy day can't skew your WHOOP 4.0 step counts.
- 0%-REM-night diagnostic (#688). When a night reads 0% REM (common on WHOOP 4.0), a read-only diagnostic now explains exactly where REM got lost, so you can triage it from the log instead of guessing. Changes no labels, no scores.
- Honest RHR logging (#691). NOOP now logs both your resting HR (the lowest sustained 5-minute level, WHOOP-style) and the whole-night mean side by side, so "why is NOOP's resting HR lower than my other app" is answerable straight from the log. It's lower by design, not a bug.
🛠️ Fixes & polish
A proper board-clear. Every one of these we rebuilt on the new design and verified ourselves, never shipped the original code:
- 🔋 Battery (#514): the "Strap fully charged" notification now clears itself the moment the cell drops below 100%, so it can't sit there lying to you. (all platforms)
- 🛌 Rest shows the right day (#614): Today no longer borrows yesterday's Rest score on a freshly-synced day. The glitch turned up on Android, but the fix is shared. (all platforms)
- 🏋️ Hevy import (#649): zoneless Hevy CSV timestamps now land in your device timezone, so a set logged at 18:30 shows at 18:30 local, not in UTC. (all platforms)
- 🛏️ Sleep-mark persistence (#461): a strap double-tap sleep mark now saves the same row the Sleep screen reads back, giving iPhone/Mac parity with Android. (iOS, Mac)
- 🔄 WHOOP-4 bond-loop (#617): when a strap keeps bonding then dropping a second later, NOOP now spots the loop and surfaces the forget-and-re-pair guide instead of spinning silently. (all platforms)
- 🧹 Remove Apple Health data (#616): a confirm-gated button in Data Sources wipes everything imported from Apple Health in one go, leaving your live strap data untouched. (all platforms)
- 📏 iOS safe-area (#611): the Today top bar no longer tucks under the status bar, fixed as part of the redesign scaffold. (iOS)
- 💓 Android HR chart (#605): the Health heart-rate chart now updates live as a WHOOP-4 offload banks samples, instead of staying frozen until something else redrew it. (Android)
- 👯 Cross-source dedup (#687): a live workout and the same activity imported from Health Connect / Apple Health no longer show up twice, NOOP keeps the richer one. (all platforms)
- 🔍 Backfill diagnostics (#601): three silent failure points in history sync now write clear strap-log lines, so the "live HR works but history won't advance" class is finally debuggable. (iOS, Mac)
- 🖥️ Mac polish: the sidebar reads as one continuous flat surface, the Today day-nav is a clean translucent pill instead of a black bar, and the notification badge is a proper circle again (no more stretched ellipse). (Mac)
🤯 Oh, and NOOP already does all of this too
In case you're new here: NOOP is a free, fully offline, on-device companion for your WHOOP (and a growing list of other straps). No cloud, no account, no subscription. Here's the rest of what's in the box. 📦
📊 Daily scores, all out of 100. Charge (recovery), Effort (strain) and Rest (sleep), recomputed locally from documented, citable methods. Wake with Charge, spend it as Effort, rebuild it with Rest. Honest "calibrating N nights" states instead of blanks, never WHOOP's cloud scores.
🧭 Readiness & stress. A Readiness verdict (Primed / Balanced / Strained / Run down) built from HRV-vs-baseline, resting-HR drift, respiratory drift and training load, a 0-3 Stress Monitor, illness early-warning, and a plain-English "why" plus the exact math behind every reading.
📡 Not just for WHOOP. WHOOP 4.0 and 5/MG, PPG→HR continuity, the opt-in R22 deep-data unlock, and manage several straps at once. Plus standard BLE chest straps and arm bands (Polar, Wahoo, Coospo, Garmin HRM), gym FTMS machines, run/cycle/power sensors, spot HRV, and broadcast-out to Zwift/Peloton. There are experimental community drivers for Amazfit and Xiaomi too, and offline file-import of Oura, Fitbit, Garmin, GPX/TCX/FIT exports. No cloud, no account, ever.
⏳ Longevity. Fitness Age (weekly, from the published Nes/HUNT VO2max model), a Vitality score, and a Body Age band, all framed as a fitness comparison, never a diagnosis.
🛌 Deep sleep tools. Full hypnogram, browse back through past nights, a movement graph, the Deep Timeline (pinch and zoom into the full-resolution per-second night), a sleep-debt ledger vs your personal need, and a smart main-night picker that handles shift work and naps.
🌡️ Vitals & raw signals. HRV (RMSSD + SDNN from real R-R intervals), live HR with zones, a full skin-temperature suite feeding cycle / circadian / illness tracking, respiratory rate, and raw red/IR PPG and motion banked locally.
📈 Trends, Explore & correlation. Interrogate any metric over time, overlay 2-4 metrics with live Pearson r, n-of-1 behaviour effects from your journal, activity-cost learning, and per-user alcohol and caffeine dose-response with an evening "damage forecast."
🧪 Lab Book & data ownership. Log your own bloods, BP, scans and notes and correlate them against your wearable signals on-device, import your WHOOP / Apple Health / nutrition CSVs onto one timeline, and export a one-page PDF report for a doctor or coach.
🤖 AI Coach, your key, your call. Ask about your data in plain language. The one feature that can ever touch the network, and only after you add your own key (Anthropic, OpenAI, or a local Ollama / LM Studio model, in which case it never leaves your machine). Off by default.
📳 Haptics. HRV breathing biofeedback, a silent interval timer, a smart alarm that arms the strap's own firmware so it buzzes you awake even if the app's closed, zone coaching, and an inactivity nudge.
🖱️ Desktop & glance. Double-tap the strap to lock your Mac, buzz back, or run any Shortcut, a menu-bar live-HR extra, Android home-screen widgets, and per-app wrist-alert routing.
🌍 Speaks your language. English, German, Spanish and Russian on iPhone and Mac, with more languages and Android translations on the way.
🔒 Privacy, 100% on-device. No server, no telemetry, no account. Everything lives in a local database on your device and stays there. Source-available under PolyForm Noncommercial: read it, run it, fork it, mirror it.
🙌 Where this came from
This release is the community's, really. The redesign, the new trackers, the smarter sleep, half the fixes in this list, they all trace back to people filing issues, sending PRs, posting strap logs, and pushing us on how recovery should be scored. We reimplement and verify everything ourselves rather than blind-merging, but the ideas and the testing are yours. Thank you. 💚
The direction is set: NOOP started as a WHOOP app and it's becoming a proper open home for your body data, whatever you wear, fully on your own device. That's the whole point.
Support: NOOP is free forever, every feature unlocked, no ads, no nag. If it's saved you a WHOOP subscription and you fancy chucking something in the tip jar, there's an optional, one-off, fully anonymous crypto tip jar over on noop.fans. Never required, and it changes nothing about the app either way. 🙏
📥 Get NOOP
- 🍎 Mac:
brew tap noopapp/noop && brew trust noopapp/noop && brew install --cask noop(or grab the.appzip below) - 🤖 Android: download the APK below and install it
- 📱 iPhone: sideload the IPA below with AltStore / SideStore using your own free Apple ID, or build from source
Lockstep release across all three platforms. Same version, same redesign, everywhere.
NOOP is an independent, source-available project. It is not affiliated with, endorsed by, or connected to WHOOP. "WHOOP" is a trademark of its respective owner. Not a medical device, and nothing here is medical advice. 🩺
