-
Notifications
You must be signed in to change notification settings - Fork 645
Tutorial Tracking a Workout
So you want to track a workout yourself instead of waiting for NOOP to auto-detect one. Perfect — NOOP lets you manually start and stop a session from the Live screen, and you'll see your heart rate, strain, and time building in real time.
This is useful when:
- You're doing something NOOP might not auto-detect (yoga, light strength work, walking).
- You want a clean start/stop for a session you're about to do.
- You want to see live strain build as you train.
You'll need: a bonded strap (connected and streaming heart rate on the Live screen). If you see "Bonded · streaming" with a green dot, you're ready.
Open NOOP and tap Live in the sidebar (macOS) or swipe to the Live tab (Android). You'll see:
- A big heart rate number at the top (or "—" if the strap isn't streaming yet).
- A connection pill showing your strap status.
- A Start workout button (green, with a running-person icon) — this appears only when your strap is bonded and streaming.
What you'll see: If the strap isn't bonded yet, the Start button is greyed out. Make sure your strap is paired first (see Strap Support and Pairing).
Tap the Start workout button. You'll feel a single buzz on your wrist — NOOP's confirmation that it's recording.
The button disappears and is replaced by an active recording card showing:
- A red/pink dot with the label "RECORDING WORKOUT".
- Elapsed time (minutes:seconds) that ticks up every second.
- HR — your current heart rate right now.
- Avg — the average heart rate since you started.
- Peak — the highest heart rate so far.
- Strain — live strain accumulating as you work. This is computed the same way NOOP scores your day, using your max HR from Settings and the intensity of your effort so far.
- An End workout button (red, bottom) to stop recording.
Do whatever activity you're tracking — run, cycle, strength train, jump rope, whatever. As you work, NOOP watches the live heart rate streaming from your strap and updates the live strain on the card in real time.
What you'll see:
- HR updates every ~1 second (it's smoothed over a short window, so it's stable, not jumpy).
- Avg HR refreshes as new samples come in — it's the mean of all HR values since you started.
- Peak HR climbs when you hit a higher zone.
- Strain creeps up as time passes at elevated intensity. Strain uses Karvonen %Heart Rate Reserve (the gap between your resting HR and max HR) — higher intensity and longer duration both push it up. See ANALYTICS.md for the exact math, or just know it matches the same 0–21 scale WHOOP uses.
If your HR drops back to resting (you're on break), the strain still accumulates — it's the window of time at elevated intensity, not a punishment for taking breathers.
When you're done, tap the End workout button. You'll feel a double buzz on your wrist — NOOP's confirmation that the session is saved.
The recording card disappears and is replaced by a brief confirmation row:
✓ Workout saved · X min · YYY avg bpm · strain Z.Z
This shows:
- Duration in minutes.
- Average heart rate over the session.
- Strain score (0–21 scale).
The saved workout is already in your history. Open Workouts from the sidebar to see it:
- It appears in the All Sessions table at the top (newest first) with a "manual" source badge.
- The sport column shows "Workout" (generic label).
- Date, time, duration, average HR, and strain are all listed.
- The session also counts toward your day strain — it's part of the same live HR stream NOOP persists, so there's no double-counting.
In the All Sessions table, you can tap a session to see its full details if you want to drill deeper (though the core info is right there).
NOOP can also automatically detect exercise from your heart rate and movement (from the strap's accelerometer). The manual Start/Stop workflow is different:
| Aspect | Manual (Start/Stop) | Auto-Detected |
|---|---|---|
| When it starts | You tap Start Workout | NOOP detects elevated HR + motion |
| When it ends | You tap End Workout | NOOP detects when you cool down |
| Live feedback | You see strain building on Live | You see it after the session finishes |
| Good for | Sessions NOOP might miss; clean boundaries | Passive tracking; capturing everything |
| Source badge | "manual" | "whoop" or "apple" |
Both count toward your day strain. Manual workouts are just a way to take control when you want precision or certainty.
The live strain score is calculated on-device using published exercise-physiology methods:
- Your max HR comes from your profile (Settings). If you've entered an age, NOOP estimates it via the Tanaka formula (208 − 0.7 × age) unless you've set a manual override.
- Your resting HR is estimated as the day's lowest heart rate, or falls back to 60 bpm if the strap just came on.
- Per-second intensity is the % of your heart-rate reserve — the gap between your resting HR and max HR.
- TRIMP accumulation — each second contributes a "training impulse" based on zone. Higher zones (closer to max) accrue more strain per minute. Five zones exist: 60%, 70%, 80%, 90%, and 100% of max, each with a multiplier.
- Final score is compressed onto the 0–21 scale (21 = sustained all-out effort for ~24 hours; 0 = rest).
This is an approximation of published methods, not WHOOP's proprietary algorithm — but it's transparent and deterministic. See ANALYTICS.md for the full math.
If you have HR-zone coaching enabled in Automations, your strap will buzz when you cross into zone 5 (your top zone, typically 90%+ of max):
- One triple-buzz when you enter zone 5 — "ease off".
- One single buzz when you drop back to zone 1 or lower — "recovered".
This is live feedback, so you can hear your effort without looking at the screen. You can toggle this on/off in Automations → HR-zone coaching.
I started a workout but my HR is stuck at "—".
- The strap is bonded but not streaming live HR yet. Give it a moment (usually a few seconds). If it stays "—" for 10+ seconds, reconnect: tap Live → Disconnect → Scan & Connect.
I paused mid-workout (resting/walking recovery). Does that kill my strain?
- No. Strain accumulates based on the time you spend at elevated intensity. If your HR drops during rest, strain still accrues from that lower HR — it's the window of time above resting, not a continuous threshold.
Can I manually adjust the strain after I save?
- Not yet. Strain is computed from the live HR window you just captured. If you want to log extra context, the Workouts screen is the place to see your full history.
I want to track a sport (e.g. "Tennis" instead of "Workout").
- The manual Start/Stop workflow saves the sport as generic "Workout". If you're importing WHOOP exports or Apple Health data, those bring in sport-specific labels. You can also see an overview of sports in the Workouts screen's Activity Breakdown section.
Is this session included in my day's strain?
- Yes. Manual workouts use the same live HR stream NOOP persists anyway, so they're part of your day's total strain. There's no double-counting.
- Start right before you exercise. The smoothed HR takes a moment to build up from resting; starting a few seconds early doesn't hurt, but you'll see cleaner data if you tap Start just as you begin.
- Check your max HR in Settings. If your estimated max HR is way off (e.g. you're 50 and it says 190), your strain will be miscalibrated. Go to Settings → Profile and override it with your actual tested or assumed max.
- Strain ticks up slowly at low intensity. A leisurely walk at zone 1 has low strain per minute. A hard interval session in zones 4–5 accrues strain fast. This is intentional — NOOP follows published sports-science scaling.
- The double-buzz save is reliable. If you don't feel it, check the confirmation row on Live. If it didn't appear, the strap may have lost connection mid-workout — reconnect and check Workouts to see if it saved.
- Start button is greyed out: You need a bonded, streaming strap. Tap Live → Scan & Connect and wait for the green "Bonded · streaming" pill.
- Workout didn't save: Sessions with fewer than 2 HR samples are discarded silently (the strap never streamed). If you started, exercised, and the HR number stayed at "—", the strap wasn't connected. Reconnect and try again.
- Strain looks wrong: Check your max HR in Settings → Profile. Strain scales off that estimate, so if it's wrong, strain will be too. You can override it with a tested max HR.
For more help, see Troubleshooting or FAQ.
- Features — full guide to every screen, including the Live screen and Workouts.
- ANALYTICS.md — deep dive into how strain, recovery, and other metrics are computed.
- Automations — set up HR-zone coaching to get buzzes as you train.
- Installation — get NOOP running on your device.
NOOP is an independent, unofficial, non-commercial interoperability project — not affiliated with, endorsed by, or sponsored by WHOOP, Inc. "WHOOP" is a trademark of WHOOP, Inc., used nominatively. Works only with a device you own; not a medical device; every metric is an approximation, not medical advice. · Privacy and Security · Donations · Releases
Get started
Tutorials
- Tracking a Workout
- Recovery, Strain & Readiness
- Automations
- Breathe & Intervals
- Importing History
- AI Coach
- Widget & Notifications
- Reading Your Sleep
- Explore & Compare
Reference
Project