Skip to content

Features

NoopApp edited this page Jun 16, 2026 · 8 revisions

Features

NOOP is a local-first companion app for WHOOP straps (4.0 and 5.0/MG) that runs fully offline on macOS, Android, and iOS. Everything — pairing, metrics, mood, automations, notifications — happens on your device. iOS is sideload-only (an .ipa you install with AltStore/SideStore — there's no App Store or TestFlight build, to stay anonymous) and shares the same number-crunching code as macOS, so results match. This page is the complete feature inventory: every screen and capability.

Important: NOOP is an independent, unofficial project — not affiliated with, endorsed by, or sponsored by WHOOP, Inc. It reads data from a strap you already own, over your own Bluetooth, and stores it only on your device. It is not a medical device, and every metric (HR, HRV, Charge, Effort, Rest, SpO₂, mood) is an approximation for personal use only. See Privacy and Security for data ownership details.


What's new (v4.1–v4.2)

The most recent additions, newest first. Everything below stays on your device.

  • Optional inactivity reminder (v4.2.1) — an opt-in wrist buzz when you've been sitting too long, off by default. Settings → Automations. See #Inactivity reminder and Tutorial: Automations.
  • Workout detail view (v4.2.0) — tap any session for its full HR curve, time-in-zone split, duration, avg/max HR, and the Effort it added. See #Workouts and Tutorial: Tracking a Workout.
  • Activity Cost (v4.2.0) — a new Insights section that learns what each tagged activity costs your next-morning Charge versus your own rest-day baseline. See #Insights.
  • Shareable trends report (v4.2.0) — export a one-page PDF of recovery, sleep, HRV, resting HR, strain, respiratory rate and skin temperature (the last two added in v4.2.9) over a range you choose, entirely on-device through the system share sheet. Carries a "How to read this" legend distinguishing measured signals from NOOP's own scores. See #Trends and the full Trends Report tutorial.
  • Faster history sync (v4.2.0) — a deep backlog now keeps draining while you're connected instead of waiting between bursts, plus a Sync now button.
  • Estimated steps for WHOOP 4.0 (v4.1.0) — a 4.0 doesn't transmit steps, so NOOP estimates them from the strap's motion, calibrated to your phone's count. Settings → Profile → Steps estimate. See Tutorial: Estimated Steps.
  • Generic heart-rate straps now connect (v4.1.0) — Polar / Wahoo / Coospo straps you make active now connect for live HR (made crash-safe in v4.1.1).
  • Strap log privacy (v4.1.0) — the shareable strap log now masks your WHOOP serial and Bluetooth identifiers automatically.

Getting started

First-run onboarding

When you launch NOOP for the first time, a calm, paged onboarding wizard walks you through:

  1. Welcome — "all your data, none of the cloud"
  2. What NOOP does — value slides on the Charge ring, live heart rate, and offline ownership
  3. Bluetooth priming — explains that your connection is local BLE with no server in the middle
  4. Wear & wake — instructions to put the strap on snugly with the sensor on skin, charge it, and stay within ~1 meter
  5. Scan — initiates BLE pairing; a reassurance card explains why the strap won't appear in System Settings (it uses a custom profile)
  6. Bonded celebration — the Charge ring blooms in when pairing succeeds, with battery %
  7. Profile — your age, sex, weight, height (feeds HR zones, calorie estimates, and baselines), plus estimated max HR
  8. Import (optional) — points to Data Sources for bringing in your history; fully skippable
  9. Done — "Your thread starts here"

A first-run terms acknowledgment gate (a short, version-aware clickwrap) confirms you understand NOOP is unofficial and not a medical device before you begin. You can revisit pairing and profile anytime from Settings.

Connection states

The strap reports one of three states throughout the app:

  • Disconnected — no strap found (red dot)
  • Connecting — found and pairing; finishing the secure handshake (amber)
  • Bonded — paired and streaming; haptics and live HR available (green)

Features that need haptics or live realtime data require a bonded connection; the UI disables those buttons until you bond.


Screens overview

NOOP uses a two-column layout: a sidebar of screens on the left and a detail pane on the right (Android uses a bottom-nav menu). A live connection-status pill anchors the sidebar's bottom. Below is every screen, grouped by whether it needs a connected strap.

Needs bonded strap (live BLE) Works from imported data alone
Live HR, Breathe, Intervals, Health Monitor (live HR), Automations, Notifications (to buzz) Today / Control Center, Intelligence, Explore, Compare, Insights, Mind, Sleep, Trends, Workouts, Stress, Apple Health, Nutrition, Data Sources

Home & dashboard

Today / Control Center

The home dashboard: a tight, gapless grid with:

  • Health alert banner — illness early-warning card appears here when triggered (see #Illness early-warning below)
  • Today's Synthesis — your signature Charge Ring (with HRV and resting HR inside) beside a plain-English read-out ("Charge is strong and sleep was consistent") and a charge state word (Depleted / Low / Steady / Primed / Peak). This is the energy you wake with — you spend it through the day as Effort and rebuild it overnight with Rest
  • Strap battery — a battery tile showing your strap's current charge %, so you can see at a glance when it needs topping up
  • Key Metrics — tiles for Charge, Effort (0–100), Rest (hours + efficiency), HRV, Resting HR, Blood Oxygen, Respiratory, Steps, Weight, and Calories. Each shows a 14-day sparkline. WHOOP metrics come from imported data or live strap; Steps, Weight, Calories, and Respiratory pull from Apple Health / Health Connect. The Steps tile prefers a real phone count; where there's none for a day, it falls back to NOOP's on-device estimate — read directly off the counter on a WHOOP 5/MG, or estimated from the strap's motion on a WHOOP 4.0 (which doesn't transmit steps) — shown with an "est." marker so it's never read as a measured count. See Tutorial: Estimated Steps. Sparse series auto-widen to all history so they never show empty
  • HR trend — a recent heart-rate trend so today's cardiac picture is visible at a glance
  • Last Workouts — up to six recent sessions as cards (duration, date, avg HR, kcal)
  • Data Sources — footer showing whether WHOOP, Apple Health, and Nutrition are present, with counts

Intelligence

A digest that pulls the day's most useful read-outs into one place — your headline Charge/Effort/Rest state with the plain-English synthesis, the standout signals, and the things worth noticing (a notable correlation, a streak, a baseline shift). It's the "what should I know right now" surface, distinct from the longitudinal Trends view and the interactive Explore/Compare tools.


Real-time & biometrics

Live HR

The hardware-test surface and pairing screen:

  • Smoothed heart rate (BPM) — NOOP shows a spike-filtered median over ~10 seconds, not raw per-beat, so it's stable. Recent R-R intervals (milliseconds) listed beneath
  • Status grid — battery %, last decoded frame type, last decoded event
  • Controls:
    • Scan & Connect / Re-scan — start or restart BLE scanning
    • Buzz strap — fire a test haptic pulse (bonded only)
    • Disconnect — drop the connection
  • BLE log — a scrolling feed of frames, events and actions for confirming the strap is streaming

Opening Live HR starts the realtime stream and requests a fresh battery reading; leaving it stops the realtime stream (background HR recording continues).

Health Monitor

Live vitals dashboard:

  • Live heart rate hero — a streaming HR sparkline tinted by #HR zones, with zone pill, "% Max", your Max HR, and a streaming/idle state. If the strap reports HR as 0, NOOP derives it from the latest R-R interval and notes "from R-R"
  • Vital Signs — a tile grid from your most recent imported day: Respiratory Rate, Blood O₂ (SpO₂), Resting HR, HRV, and Skin Temp, each colored green (in range) or amber (out of range)

Fitness Age, Vitality & Body Age

The Health tab also turns your everyday data into three longevity-flavoured numbers — computed on-device from published, peer-reviewed methods and framed honestly as a fitness / wellness comparison, never a medical or biological age:

  • Fitness Age — how your cardio fitness compares to an average peer, as an age (Nes 2011 "HUNT" non-exercise VO₂max model). The headline needs only your age, sex, resting HR and measured activity; an optional VO₂max estimate appears if you add a waist measurement.
  • Vitality (0–100) & Body Age — a wellness score and an "age in years" built by mapping your resting HR, fitness, sleep amount + regularity, nocturnal HRV and steps to published all-cause-mortality hazard ratios, combined and converted to a "years of aging" offset. It stays hidden until it has enough inputs rather than guessing.

Both carry a ± band and a clear non-medical disclaimer. See Tutorial: Fitness Age & Vitality.

Devices — multiple bands & other straps

Pair more than one band, switch which one provides live data (history per-device is preserved), or connect a standard Bluetooth heart-rate strap (Polar / Wahoo / Coospo / Garmin HRM / Amazfit Helio) for live HR + HRV + Strain. Devices → Add a device. See Tutorial: Devices & Other Straps.


Training & movement

Breathe

HRV haptic breathing biofeedback trainer — NOOP's flagship novel feature. Because the strap both measures HRV (from R-R intervals) and buzzes, NOOP can pace your breath with felt cues and watch your HRV respond live.

  • Pick a pace: Relax 4-6 (4 s inhale / 6 s exhale), Coherence 5.5 (equal ~5.5 breaths/min), or Box 4-4
  • Start a session — a soft orb expands on inhale and contracts on exhale, with live BPM in its centre. With a bonded strap you feel one pulse on the inhale, two on the exhale, eyes closed. Without a strap it's visual-only
  • Live readouts: heart rate, rolling HRV (RMSSD) over the last ~30 beats, current pace
  • Coherence estimate — a normalized bar (RMSSD mapped 0–120 ms) with a band word (Building / Settling / Coherent / Deep calm)
  • Pre/post outcome — Breathe captures a quick before/after read so you can see whether the session actually moved your HRV. After you finish, NOOP shows the change in plain language (e.g. "HRV up from 48 → 61 ms — calmer than when you started") and logs the outcome so guided breathing earns a place in your correlations

This is an estimate, not clinical — trends across a session matter more than single numbers. A "Test buzz" button fires a single pulse (bonded only).

Intervals

Silent haptic HIIT interval timer — train hands-free; the strap buzzes every transition so you never look at the screen.

  • Configure Work seconds (5–600), Rest seconds (5–600), Rounds (1–30)
  • Large stage face — WORK / REST / DONE, current round, countdown ring, and total-session progress bar
  • Haptic cues (bonded strap):
    • Triple-buzz into each WORK block
    • Single buzz into REST
    • 3-2-1 tick on the last seconds of each phase
    • Long 5-loop buzz on finish
  • Controls — Start / Pause / Restart and Reset

With no bonded strap it still works as a visual timer, prompting you to bond on Live HR.


Analysis & insights

Explore (Metric Explorer)

A catalog of every signal. The root is a grouped list by metric category; tap any metric to open its detail dossier:

  • W / M / 3M / 6M / 1Y / ALL range control
  • Hero trend chart with latest value and "as of date"
  • Stat row: Average, Min, Max, Latest, and Δ vs previous equal-length window (tinted by whether the change is "good" for that metric)
  • What correlates — Pearson scan over the visible window (|r| ≥ 0.30, n ≥ 10); top 6 with r-bars

Sparse metrics (weight, body fat) auto-widen the window when the range holds no data, so you always see real values.

Compare

Overlay 2–4 metrics and read how they move together:

  • Pick metrics from a grouped menu; selected metrics show as removable chips
  • W / M / 3M / 6M / 1Y / ALL range control
  • Normalized overlay chart — each line min–max scaled to 0–1 within the window so different units share an axis. Hover shows a crosshair and tooltip with every series' real value on the nearest day; legend lists each series' true min–max range
  • How They Move Together — every selected pair gets a live Pearson r with a plain-English conclusion ("When weight rises, Charge tends to fall — a moderate negative link")

Sparse series auto-widen so they still overlay against dense ones. Because mood and nutrition import into the same metric model, you can correlate them here too (e.g. mood vs Charge, protein vs next-day HRV).

Insights

"Interrogate what affects what" in two halves:

  1. Behaviour Effects — splits your logged WHOOP journal answers (Alcohol, Caffeine, Late meal, Meditation, etc.) into days each behaviour was vs was not logged, then compares a chosen outcome (Charge / HRV / Rest / RHR) between groups. Each card shows a plain-English sentence, with/without means and group counts, a SIGNIFICANT / EXPLORATORY pill, and effect size (Cohen's d) with a magnitude word. Tint is sign-aware: green if the behaviour moves the outcome the "good" way, red if "bad"

  2. Metric Relationships — a curated set of Pearson correlations: Rest ↔ Charge, HRV ↔ Charge, Resting HR ↔ Charge, and Charge → next-day Charge (1-day lag). Each is a one-line insight with r, significance pill, r-bar, and strength/direction reading

  3. Activity Cost — "what each activity costs your recovery." For each sport you've tagged enough sessions of, NOOP compares the next morning's Charge after that activity against your own untouched rest-day baseline (the days you logged no activity), and shows it as a ranked card per sport: the typical cost in Charge points, the rest baseline it's measured against, a bounce-back figure (days to return to baseline, or "not within 7d"), the session count, and a solid / building confidence pill so it only speaks up once it's seen enough. It's a descriptive average across your sessions — "sessions like this usually cost you about N points and take about D days to bounce back" — never a claim about one workout. Tint is sign-aware: a dip reads warm, a recovery-positive lift reads green

Mind (daily mood check-in)

A quick, non-clinical daily mood check-in and the correlations it unlocks. NOOP is about the whole picture, not just the cardiovascular one — Mind adds the subjective layer.

  • Daily check-in — log how you feel in a few taps (a mood rating, optionally a short note). It takes seconds, and it's entirely optional
  • Mood trend — your mood over time as its own series, with the usual range control
  • Mood correlations — because mood lands in the same metric model as everything else, NOOP surfaces how it tracks with Charge, Rest, Effort, and HRV ("days you rate your mood higher tend to follow better sleep")

Mind is for self-reflection and personal pattern-spotting only. It is not a mental-health diagnosis or treatment tool, and NOOP is not a medical device.


Sleep & recovery

Sleep

Last night, read in two seconds — and a way to browse every night before it:

  • Stage breakdown hero — a hypnogram (reconstructed from stage durations) or, if intervals can't be reconstructed, a proportional stacked bar. Footer shows REM / Deep / Light / Awake each as "Xh Ym · NN%", time-in-bed, efficiency, and onset–wake times
  • Browse past nights — step back through your history night by night; pick any previous night to see its full hypnogram and breakdown, not just last night's
  • Night detail — tiles with sparklines and "vs typical" captions: Rest (sleep-quality score), Efficiency, Consistency, Hours vs Needed, Restorative (deep + REM share), Respiratory, and Sleep Debt (vs your personal sleep need, floored at 7.5 h)
  • Stages vs typical — Deep / REM / Light as horizontal bars, last-night minutes with a marker at your personal mean
  • Asleep duration — trailing-30-night hours trend with avg / min / max

If no sleep sessions are imported, NOOP points you to Data Sources.

Stress

A single-number Stress Monitor (0–3) with a LOW / MEDIUM / HIGH band and one plain-English line on why:

  • Today's value is your recorded daily stress score if one exists; otherwise NOOP derives it by comparing your resting HR and HRV to your personal 30-day baseline (higher RHR and lower HRV both push stress up), combining z-scores and squashing onto 0–3 with a logistic curve
  • Semicircular gauge with its own blue → mint → amber ramp, band, and explanation tuned to your RHR/HRV shifts
  • Today's markers — the stress value (with sparkline), Resting HR and HRV vs baseline (tinted toward stress or recovery), and "Calm time" (share of recent days in the LOW band)
  • Multi-range trend chart
  • "How this is computed" card with exact method and band legend

Trends

The longitudinal view ("the thread of you over time"):

  • W / M / 3M / 6M / 1Y / ALL range control (default 3M)
  • Hero Charge chart with avg / peak / low / day-count
  • Daily signals — small multiples for HRV, Resting HR, and Effort, each with mean / min / max
  • Charge year heat-strip — a calendar of Charge scores across the past year (or all history on ALL), with a depleted→peaked legend
  • Export trends report — a footer button that opens a sheet to export a clean one-page PDF of your recovery, sleep, HRV, resting HR, strain, respiratory rate and skin temperature (per-metric mean / min / max / trend + sparkline) over a range you choose — 30 days, 90 days, 6 months, 1 year, or all history. A "How to read this" legend marks which figures are measured from the strap vs. NOOP's own on-device scores; skin temperature is shown as the signed deviation from your baseline with no good/bad verdict. Built entirely on-device (nothing leaves the device) and handed to the system share sheet, so you can save it to Files, AirDrop it, or send it to a doctor, a coach, or your own records. An empty range renders an honest "not enough data in this range yet" page rather than a blank one. (On Android the same export lives in Settings → Export trends report.) Full walkthrough: Trends Report tutorial.

Windows are taken relative to your latest recorded day and auto-widen on sparse data.


Activity & workouts

Workouts

The activity log:

  • 7D / 30D / 90D / 1Y / All range control (auto-picks tightest range with ≥2 sessions)
  • Summary tiles — Total Workouts, Total Time, Total Calories, Total Distance, Most Active sport
  • Activity Breakdown — per-sport cards (sessions, time, kcal, avg per session) with sport-specific icons
  • All Sessions — table with date/time, sport, duration, avg HR, kcal, distance, and source badge (WHOOP, Apple, Detected, Manual, or Lifting) per row
  • Workout detail view — tap any session to open its full read-only detail: a heart-rate curve over the workout, a time-in-HR-zone split (a WHOOP-imported per-zone split where the session carries one, otherwise the strap's own HR samples binned into age-derived %HRmax zones and honestly labelled as approximate), duration, avg/max HR, calories/distance, and the session's Effort contribution. Opens as a sheet from the All Sessions list (a primary tap opens detail; the ⋯ menu still does edit/relabel). See Tutorial: Tracking a Workout
  • Manual workouts — start and stop a workout by hand (recording its start–end times) when you want a session logged without an automatic detection or import

Tip: the Insights screen's #Insights section turns these tagged sessions into a personal read-out of what each activity costs your recovery.


Data & import

Data Sources

The import hub. Everything stays on your device.

WHOOP Export (CSV)

Import your full WHOOP history — recovery, strain, sleep, workouts — from a data export (.zip or unzipped folder). Works for WHOOP 4.0, 5.0 and MG. Get one from app.whoop.com → Data Management. NOOP reports records imported and date span, and shows days and sleeps stored.

Apple Health

Import an Apple Health export (export.zip) from Health app → profile → Export All Health Data. NOOP streams and aggregates it locally — years of HR, HRV, sleep, SpO₂, steps, body composition and more. Large exports take a minute or two. On iOS, there's also a HealthKit-free path: see #Export for Shortcuts (iOS) below.

Nutrition (CSV import)

Bring your food log into NOOP from a Cronometer or MacroFactor CSV export. NOOP reads calories and macros (protein / carbs / fat) per day, stores them locally alongside everything else, and surfaces them as their own metrics — so nutrition shows up in Explore and can be correlated in Compare (e.g. protein vs next-day Charge, calories vs Rest). Nothing is uploaded; the CSV is parsed entirely on-device. See Importing Nutrition.

WHOOP Strap (Live BLE)

Shows whether the strap is bonded and streaming. Pairs directly over Bluetooth — no WHOOP app, no cloud. Open Live HR to pair if it isn't connected.

All imports run on-device; nothing is uploaded. WHOOP data is stored under the my-whoop source and Apple Health under apple-health, so per-source pages and cross-source consensus stay distinct.

Apple Health

Browse and reconcile data imported from your Apple Health export:

  • W / M / 3M / 6M / 1Y / ALL range control
  • Tiles: Steps, Resting HR, HRV, VO₂ Max, Weight, Body Fat, Lean Mass, Asleep avg, Workouts
  • Chart sections — Heart & Vitals (resting HR, HRV, blood oxygen, respiratory rate), Activity & Energy (steps, active energy), Body Composition (weight, body fat, lean mass, BMI), and Sleep (asleep). Each has avg / min / max / point-count footer

Sparse weekly series (weight, body fat) auto-widen to all history so short windows never show empty; a single reading is shown as "Latest reading" rather than an empty chart.

Export for Shortcuts (iOS)

A HealthKit-free way to get Apple Health data into NOOP on iPhone. Instead of NOOP requesting HealthKit permissions (which a sideloaded build can't reliably claim), you run an Apple Shortcut that reads the metrics you choose and hands them to NOOP as a file it imports on-device. It keeps the strict no-cloud, no-account posture while still letting iOS users light up steps, weight, sleep, and the rest of their Health data. See Apple Health via Shortcuts (iOS).


Smart features & automations

Automations

Turn the strap's physical inputs and live biometrics into Mac actions and haptic coaching, all on-device.

Double-tap → Mac action

Double-tap the strap to trigger an action on your Mac. Options:

Action What it does
Nothing No action
Lock the Mac Locks the screen immediately (falls back to "Lock Screen" Shortcut if needed)
Buzz back (confirm) Fires a confirming wrist buzz
Mark a moment Records a timestamped "moment" (with a confirming buzz)
Run a Shortcut… Runs any macOS Shortcut by name

A Test action button runs it without the strap. Recent moments are listed and can be cleared.

Wear & presence

React when the strap comes off or goes on:

  • Lock the Mac when I take the strap off — fires the moment the strap leaves your wrist
  • Run a Shortcut when taken off — presence automation (set a Focus, pause media, set away, etc.)
  • Run a Shortcut when put back on — reverse it when you return

Note: macOS reserves true auto-unlock for Apple Watch, so NOOP can lock, not unlock.

Haptic coaching

  • HR-zone coaching — buzz when you hit your top zone (ease off) and again when you recover, using your max HR from Settings
  • Resting stress nudge (experimental) — a gentle buzz when your HRV drops while your heart rate is calm — a cue to take a paced breath. Conservative, rate-limited to once every 15 minutes, off by default

Inactivity reminder

An opt-in gentle wrist buzz when you've been sitting too long — a nudge to get up and move. Off by default. It runs entirely from the motion already in your strap's history (inferred on each sync, so it lags real time by a sync or two — it's not a live, second-by-second alert), and it respects your existing gates: it only fires when the notification master switch is on, honours quiet hours, and obeys the shared only-when-worn setting. You set:

  • Sitting for — minutes seated before the first nudge (default 45 min)
  • Re-nudge every — how often to buzz again if you're still seated (default 30 min)
  • Buzz strength — 1–4× (default )
  • Only during active hours — limit nudges to a window you pick (default 9:00–17:00), so an evening on the sofa or an overnight isn't pestered

See Tutorial: Automations for the walkthrough.

Smart alarm

Wake to a wrist buzz. This arms the strap's own firmware alarm, so it still fires even if the Mac is asleep or NOOP is closed. Set your wake time — the strap buzzes at exactly that time. NOOP does not currently do light-sleep early wake.

Mac side-effects are sandbox-friendly: screen lock uses macOS's own entry point, and Shortcuts run via the shortcuts:// URL scheme — anything you can build in Shortcuts is reachable.

Notifications

Choose which Mac apps tap your wrist, and how. Everything runs on your Mac.

  • Wrist alerts master switch (opt-in, off by default). Test buzz fires immediately (bonded only). Strap status mirrors connection state
  • Per-app control — NOOP discovers installed, notification-capable apps and groups them: Email (Outlook, Mail), Messaging (WhatsApp, Messenger, Messages, Discord, Slack, Telegram, Signal), Meetings & Calls (Teams, Zoom, FaceTime), and Calendar & Reminders. Each app shows its icon, on/off switch, and buzz pattern picker — Single / Double / Triple / Long — with a per-app test button
  • Behaviour:
    • "Only buzz when worn"
    • Quiet hours — mute wrist alerts overnight (default 22:00–07:00), with from/to time picker

Note: Wrist delivery of macOS notifications is not live yet — it needs a small on-device watcher (coming in an update). Your per-app choices and patterns are saved and apply automatically once delivery ships. Everything stays on your Mac.

Illness early-warning

NOOP watches for the classic early-illness signature on-device. It compares your last ~2 days against a ~28-day baseline (ending 3 days ago) for resting HR, HRV, skin-temperature deviation, and respiration. When two or more anomalies appear — e.g. resting HR up ≥5 bpm, HRV down ≥20%, skin temp up ≥0.6 °C, respiration up — a banner appears on Today / Control Center:

"Your body looks strained — … Consider taking it easy."

On a banner transition from clear to raised, NOOP also posts a system notification (at most once per local day) so the warning reaches you when the window is closed. The toggle lives in Automations → Illness early-warning. Defaults differ by platform on purpose: macOS is opt-in (off by default — enabling it triggers the notification-permission prompt), while Android is opt-out (on by default). Needs at least 14 days of history. On-device and approximate — informational only, not a diagnosis.

AI Coach

Optional, opt-in conversational coaching over your own data. It is off by default and consent-gated — nothing is sent anywhere until you turn it on and confirm.

  • Bring your own key (BYOK) — you provide the API key and endpoint; there's no NOOP-hosted service in the middle
  • Your choice of provider — works with Anthropic (Claude), OpenAI (GPT), Google Gemini, or a local/self-hosted OpenAI-compatible endpoint (e.g. Ollama or LM Studio), so you can keep everything on your own machine if you prefer
  • Your key, your endpoint, your call — NOOP sends only a short text summary of recent metrics plus your question (never raw streams or identifiers). Nothing leaves the device without your consent, and you can turn it off at any time

Settings & support

Settings

Always available:

  • Profile — age, sex, weight, height, and max heart rate (auto-estimated via Tanaka, or a manual override). These power zones, calorie estimates, and Charge baselines
  • Strap — connection status, battery, and Re-scan / Disconnect controls
  • Step calibration — a setting to tune step counting to you (your stride / how the strap's motion maps to steps), so step figures line up better with what you actually walk
  • Units — switch between metric and imperial for weight, height, distance, and temperature
  • About — version, the "all your data, none of the cloud" note, a medical disclaimer, and attribution to the community projects NOOP is built on

Support

Always available. NOOP is free and always will be.

  • Built on — credit to the community projects NOOP stands on
  • Donate (optional) — never a paywall; the whole app works without it. Copy-to-clipboard, scan-to-donate crypto addresses (Bitcoin, Ethereum, Cardano, XRP) for anyone who wants to chip in toward future work (Windows support and new features). The app never asks again. See Donations and docs/DONATIONS.md
  • Reminder — not affiliated with WHOOP; interoperability software for your own device and data; not a medical device

Platform extras

Menu-bar item (macOS)

NOOP lives in the macOS menu bar. The label is a zone-tinted heart dot plus live HR (or "—" when not streaming). Click it to open a compact popover:

  • Charge ring
  • Live heart rate
  • Battery / resting HR / HRV
  • Quick actions: start/stop live feed, refresh battery, scan/reconnect, or disconnect

Android home-screen widget

On Android, a home-screen widget shows your Charge ring and key metrics at a glance without opening the app. Android also has a Sync-now button to trigger a history offload on demand.


What you need

Data sources

  • Live strap: requires a bonded WHOOP 4.0 or 5.0/MG strap
  • WHOOP history: import a .zip from app.whoop.com → Data Management once, then it's yours forever
  • Apple Health: import an export.zip from Health app → profile → Export All Health Data (or, on iOS, use Export for Shortcuts)
  • Nutrition: import a Cronometer or MacroFactor CSV
  • Baseline: Charge sharpens after ~5 nights; for full history, import your WHOOP CSV

Connection states recap

The strap always tells you what's happening:

State Meaning Can you…
Disconnected No strap found See imported data; open Live HR to scan
Connecting Found, pairing Live HR coming soon
Bonded Paired & streaming Use all features: haptics, live HR, alarms, automations

What NOOP doesn't do (yet)

  • Light-sleep early wake — NOOP's alarm is firmware-only at exact wake time
  • Wrist notification delivery — choices are saved; once on-device delivery ships, buzzes come through automatically
  • WHOOP 5.0/MG deeper metrics — live HR works and Effort computes from HR (just slowly, since 5.0/MG live HR is sparse, so scores build gradually and can sit at 0 without sustained wear); Charge and Rest scores for 5.0/MG are still being worked on. See Strap Support and Pairing and the Roadmap for the current state

Data ownership

  • Offline by design. NOOP talks to your strap directly over Bluetooth — no server in the middle. No account, no sync, no cloud.
  • On-device storage. All history (imported and live-captured), your mood check-ins, and your nutrition log are stored locally in SQLite.
  • Your data is yours. Imports happen once and stay on your device; nothing is uploaded.

For more, see Privacy and Security.


See also

Clone this wiki locally