Skip to content

Installation

NoopApp edited this page Jun 10, 2026 · 1 revision

Installation

NOOP is available for macOS (pre-built), Android (pre-built APK), and iOS (build-from-source community port). Everything runs fully offline on your device — nothing leaves your machine.


System Requirements

Platform OS Version Notes
macOS 13.0 (Ventura) or newer Intel or Apple Silicon. Requires Bluetooth.
Android 8.0 (API 26) or newer Requires Bluetooth LE. Physical device recommended (emulators have no BLE radio).
iOS 16.0 or newer Build-from-source only — see iOS below. Requires Bluetooth.

macOS

Download

Grab the pre-built NOOP.app from Releases.

First Launch — Gatekeeper & Notarization

NOOP is not notarized by Apple. Notarization requires a paid Apple Developer ID tied to a real identity, which doesn't fit an anonymous, free project. The app is sandboxed and code-signed, the full source is here to inspect, but because it isn't notarized, macOS Gatekeeper will block it on first open. You may see a message saying the app is "damaged" or from an "unverified developer" — that's just the download quarantine flag, not real damage.

To open NOOP, pick one of these once:

Option 1: Terminal (most reliable)

  1. Drag NOOP.app to your Applications folder.
  2. Run this in Terminal (it removes the quarantine flag):
    xattr -dr com.apple.quarantine /Applications/NOOP.app
  3. Open NOOP normally (e.g., from Spotlight or Applications).

Option 2: System Settings (no Terminal needed)

  1. Try to open NOOP — it'll be blocked by Gatekeeper.
  2. Open System Settings → Privacy & Security and scroll to the bottom.
  3. You'll see NOOP with an "Open Anyway" button next to it. Click it.
  4. (On macOS 14 and earlier, you can also right-click the app and select Open.)

Once you've done this once, the app opens normally from then on.

Install Location

You can run the app from anywhere, but it's conventional to keep it in /Applications/ for easy access.

No Installation Required

Unlike typical installers, NOOP is a self-contained bundle — just download and run. There's no separate "installation" step, installer, or uninstaller. To remove it, drag NOOP.app to the Trash.


Android

Download Pre-built APK

NOOP ships two APKs from Releases:

File Purpose Notes
NOOP-full.apk The main app. Install this. minSdk 26 (Android 8+); works with or without a strap for exploring your data.
NOOP-demo.apk (optional) Demo APK with preloaded sample data. Installs alongside the full app. Great for exploring the UI without a strap or importing data. Same app ID prefix, so they coexist.

Installation

  1. Enable "Install unknown apps" on your device:

    • Settings → Apps & notifications → Advanced → Special app permissions → Install unknown apps (or similar, depending on your Android version).
    • Grant your web browser or file manager permission to install apps.
  2. Download and open the APK (or sideload it via adb):

    # On your computer with ADB:
    adb install NOOP-full.apk
  3. Open the installed app from your app drawer (search for NOOP).

Permissions

NOOP asks for Bluetooth permissions on first run (API 31+, i.e. Android 12+). On older versions, Bluetooth is install-time. The app declares no INTERNET permission by design — nothing ever leaves your device.

Permission Why
BLUETOOTH_SCAN Scan for your strap over Bluetooth.
BLUETOOTH_CONNECT Connect to and communicate with your strap.
FOREGROUND_SERVICE Keep collecting data while the app is backgrounded.

iOS (Experimental, Build-from-Source)

iOS does not have a download. There is no iOS app in Releases. iOS has no anonymous app distribution path — both the App Store and TestFlight require a real Apple Developer identity — so shipping an official iOS build would compromise NOOP's anonymity.

Instead, there is an experimental, community-maintained iOS port (PR #42) that you can build yourself in Xcode. It is not officially maintained, and the build instructions live in that PR and in docs/IOS.md.

Why build from source?

  • Anonymity: No account tied to the app.
  • Full control: You build it yourself, inspect the source, and install it on your device.
  • All packages already support iOS: The core logic (WhoopProtocol, WhoopStore, StrandAnalytics, StrandImport, StrandDesign) all declare .iOS(.v16) and compile unchanged.

Quick summary

  1. Clone the repo:

    git clone https://github.com/NoopApp/noop.git
    cd noop
  2. Check out the iOS PR (PR #42) or follow the detailed steps in docs/IOS.md.

  3. Open the Xcode project and build the iOS target for your device.

For full instructions, hardware notes, and how to set up HealthKit two-way sync (read from + write to Apple Health), see docs/IOS.md.


Building from Source

Prefer to build NOOP yourself instead of using the pre-built app? See docs/BUILD.md for:

  • macOS: Generating the Xcode project with XcodeGen, building, and the ad-hoc signing process.
  • Android: Prerequisites, Gradle setup, and APK assembly.
  • iOS: The experimental community port.

Getting Started: First Launch

Once installed, here's what to expect:

Pairing a WHOOP Strap

NOOP reads data directly from your strap over Bluetooth Low Energy — no WHOOP account needed. To pair:

  1. Live Heart Rate (works immediately) — this rides the standard Bluetooth heart-rate profile and streams even without a full bond.

  2. Full bond (for deeper features like recovery, strain, sleep, history offload) — the strap holds an encrypted bond with only one device at a time. If it's bonded to the official WHOOP app on your phone, NOOP can't bond until you free it:

    • Close or fully quit the official WHOOP app on your phone (or turn Bluetooth off on that phone).
    • Put your strap in pairing mode.
    • In NOOP, go to Live → Select your strap type → Scan & Connect.

Without a Strap

You can explore NOOP's full UI without a strap:

  • macOS & Android: Import a WHOOP CSV export or Apple Health export via Data Sources. Your full history loads in about a minute.
  • Android demo APK: The demo app (NOOP-demo.apk) comes preloaded with sample data — no import needed, just explore.

What Fills In When

  • Live heart rate — shows the moment the strap connects.
  • Strain & sleep — appear after you've worn the strap and it syncs (the last ~14 days offload automatically).
  • Recovery — needs a few nights to learn your personal baseline, then refines each night.
  • In a hurry? Import your WHOOP export or Apple Health data and your history fills in immediately.

The app is fully featured on macOS and Android. See Features for the complete breakdown: Today, Live, Sleep, Trends, Workouts, Insights, Compare, Health, the AI Coach (optional, off-device if you bring your own API key), and more.


For detailed information on WHOOP 4.0 vs. 5.0/MG support, pairing troubleshooting, and the bond-handling quirks (especially on 5.0), see Strap Support and Pairing.


Offline

Everything runs on your device, offline. The only feature that ever uses the network is the optional AI Coach, and only if you bring your own OpenAI or Anthropic API key — and it sends only a brief text summary of your recent metrics, never raw data or identifiers.

See Privacy and Security for the full privacy story.


Next Steps

Clone this wiki locally