Skip to content
Β 
Β 

Latest commit

Β 

History

2,310 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

NOOP AI

NOOP AI

Your WHOOP data, on your own devices, with a coach that remembers.

Current release Platforms Straps Privacy License: PolyForm Noncommercial 1.0.0

NOOP β€” your strap, your data, your machine

Today screen with a proposed session, the coach row, and the Charge, Effort and Rest rings The coach's daily brief, followed by the five data sources it was grounded in Memory settings: an on-device semantic index with rebuild and delete controls

Today Β· the daily brief and the sources behind it Β· memory that runs on the phone


What this fork adds

NOOP AI stays close to RyanBR's NOOP for the strap protocol, on-device analytics, storage and shared design system. The code below is the additional, Apple-first layer maintained in this fork:

πŸ€– A real coaching system, not just a chat box

A configurable identity and coaching style, streaming replies, model-specific history budgets and 26 consent-gated tools that can read local summaries, explain readiness, draw charts, propose plans and write only the logs you explicitly request. Provider connections support Anthropic, OpenAI, Gemini, OpenRouter and custom OpenAI-compatible endpoints with your own key; tool calling is enabled where the selected provider and model support it. Coach architecture β†’

🧠 Private long-term memory on the device

Hybrid keyword and semantic retrieval over approved facts, your own chat turns and selected journal context. The Nomic embedding model runs locally on iPhone; raw sensor streams and numerical health histories are never embedded. Consent can be withdrawn at any time, and the derived index can be rebuilt or deleted. SemanticMemory package β†’

🎯 Goals, Journey and a plan you control

One structured goal with feasibility and safety checks, progress based on actual evidence, milestones without invented streaks, and weekly proposals you can accept, decline, reschedule, swap or skip. A model proposal never silently becomes your schedule.

πŸ” Purpose-by-purpose data consent

Essentials, Personal and Deep Insights presets make setup simple; Expert mode exposes the individual grants. Sensitive journal topics always require a separate decision, and unavailable grants remove the corresponding tools before a request is sent. Privacy model β†’

πŸ”” Proactive coaching with a local history

Optional daily briefs, check-ins and goal reviews live in the Coach; plan proposals and important body/goal signals also feed the in-app bell, so useful events remain visible even when iOS cannot show a notification banner.

πŸ§ͺ Review-first health workflows

Lab reports can be read from a text PDF or on-device photo OCR, but only recognised marker candidates you confirm become Lab Book entries. Files, OCR text and unconfirmed values are not retained.

🍎 Apple-first interface and distribution

A redesigned Today experience, configurable Coach entry points, compact-iPhone chat handling, fork-added surfaces covering upstream's full Apple language matrix, and an unsigned AltStore/SideStore release that is signed only with the Apple ID you choose.

The upstream base and the fork additions remain intentionally separated in code so upstream protocol, analytics and safety fixes can continue to be merged without rewriting the coaching layer.

Latest release β€” 10.1.1

A launch-performance and analysis-correctness release for large, long-lived local databases.

  • The first screen no longer waits for the archive. NOOP publishes a bounded 120-day snapshot, then runs plan, goal, HealthKit and historical maintenance work after the interface is usable.
  • Changed inputs invalidate the right days. R-R, PPG heart rate, respiration, motion, steps, temperature, SpOβ‚‚, wrist/sleep state and edited sleep now participate alongside measured heart rate.
  • Dense streams keep their newest samples. The silent 200,000-row ceiling is gone, and the largest repeated sleep/recovery array scans have been replaced with sorted slices and one-pass buckets.

Read the full 10.1.1 release notes.

Before it: 10.1.0 brought the fork onto the 10.x line with custom heart-rate zones, arithmetic-checked coach prescriptions and the complete upstream 10.1.0 base.

In development

  • Android is not shipped by this fork. The Android tree was removed after the fork moved to an Apple-only release pipeline. RyanBR's upstream project remains the source for Android development.
  • More practical alert history. The inbox will keep evolving around events that actually happened, rather than becoming a second copy of scheduled reminders.

A look inside

Coach settings with the Enable AI Coach switch and sections for connection, goal, coaching, memory and privacy
The coach, in one place. Nothing reaches a provider until you switch it on, and sharing your metrics stays a separate decision after that.
Connection and model settings: provider, coaching model, API key, background models and usage counters
Your provider, your key, your model. Cheaper background models for summaries are optional, and the token count is tallied on the device.
Coaching settings for coach entry points, morning suggestion, proactive messages, daily check-in and plan reminders
Where it may appear, and whether it may speak first. Banner, header icon or floating button β€” and proactive messages can be silenced entirely.
Coach identity screen with the ready-made coaches Svea and Marv, a name field, picture choices and a tone picker
Two ready-made coaches, or your own. Name, picture and tone are yours to set; the picture never leaves the phone.
Goal wizard asking what kind of goal, with running, training frequency, sleep, strength, body weight, stress, recovery and free-form options
One goal at a time. Picked from what your data can actually track, then checked for feasibility before it becomes a plan.
Privacy and data screen with a data-sharing switch, per-purpose data access and the coach's instructions
Grant by grant. What the coach may read, log and remember β€” and the instructions it runs on, in plain text you can edit.
Activity status sheet offering active, sick, injured or on break, with a validity period
Sick, injured, on a break. Say so once and the app stops proposing training until the period you chose runs out.
Today screen scrolled to recent workouts, a live beat-by-beat heart rate card, and HRV, resting heart rate and respiratory rate
Recent sessions and a live pulse. Beat by beat while the strap is connected, with the night's vitals directly below.
The More tab listing analysis, body and data screens
Everything else. Insights, journal, biomarkers, intervals and the import screens, one tap from the tab bar.

Screenshots: 9.3.1 DX Beta on iPhone, English interface, light appearance.

Download and install

iPhone and iPad

The iOS build is an unsigned IPA on purpose. Add the source below in AltStore or SideStore, then the sideloader signs the app locally with the Apple ID you choose. NOOP AI never receives your Apple ID or a signing certificate.

Source URL:

https://raw.githubusercontent.com/DX23876/noop/main/altstore-source.json
  • AltStore: Browse β†’ + β†’ paste the source URL β†’ add NOOP AI.
  • SideStore: Sources β†’ + Add Source β†’ paste the same URL β†’ install NOOP AI.
  • Prefer a direct file? Download NOOP-ios-unsigned-v10.1.1-dx.ipa from the 10.1.1 release. It includes the Home/Lock-Screen widgets, which AltStore/SideStore sign along with the app.
  • Need the Apple Watch app? The same release also contains NOOP-ios-full-unsigned-v10.1.1-dx.ipa, which adds the Watch app and complication. It wants a signer or paid Developer team that can provision all of it together β€” sideloaders install an embedded watchOS bundle unreliably, and a failure there costs you the whole install, which is why the AltStore source stays on the watch-less IPA.

See the iOS install guide for the free-Apple-ID limits, widget notes, and build-from-source instructions.

Mac

From 9.3.0 the release carries a packaged macOS build: download NOOP-macos-v10.1.1-dx.zip from the 10.1.1 release, unzip it, then right-click β†’ Open the first time (it is ad-hoc signed, not notarised, so a double-click is blocked).

The bundle is universal β€” Apple Silicon and Intel. Ad-hoc signing is what lets macOS bind the Bluetooth permission to the app; after an update macOS may ask you to re-approve Bluetooth, because the code identity changes with every build.

Platform status

Platform Status Distribution
iOS / iPadOS 10.1.1 AltStore, SideStore, or build from source
macOS 10.1.1 Packaged .zip in the release, or build with Xcode
Android Not shipped by this fork Use RyanBR's upstream Android project

The NOOP foundation retained

⌚ Own your strap data Connect directly to a WHOOP 4.0 or 5.0/MG over Bluetooth. No WHOOP account, subscription, or cloud relay.
πŸ“ˆ Compute locally Charge, Effort, Rest, sleep, HRV, heart rate, recovery trends, and correlations are calculated and stored on your device.
πŸ”’ Keep control No telemetry, no NOOP account, and no NOOP server. Network access is limited to explicit features: your chosen Coach provider, an optional source-built Oura import, and the manual public-release check.
πŸ“¬ See what happened Today and the bell keep daily signals, important status, and recent alerts visible without turning every event into noise.

Privacy, precisely

NOOP AI is offline-first. Your strap data, database, scores, history, goals, coach memory, and plans stay on your device. The optional AI Coach contacts only the provider you configure when you ask it to; a source-built Oura history lane can pull your own Oura data in; and Check for updates reads only the latest public release metadata when you tap it. None of these paths uploads raw sensor streams or gives NOOP a server or account.

More detail: Privacy and security.

Build from source

You need a Mac with Xcode 26+ and XcodeGen.

git clone https://github.com/DX23876/noop.git NOOP-AI
cd NOOP-AI
xcodegen generate
open Strand.xcodeproj
  • Choose NOOPiOS and a physical iPhone to build iOS.
  • Choose Strand to build macOS.
  • For Android development, use RyanBR's upstream project.

Documentation

About the project

NOOP AI is a personal fork of ryanbr/noop. The upstream project deserves credit for the protocol, analytics, and design-system foundations; this fork develops the local coach and Apple-first sideload distribution independently. It is an unofficial, non-commercial interoperability project and is not affiliated with WHOOP.

Disclaimer

NOOP AI is not a medical device. Its health and training values are on-device estimates, not clinical advice or diagnosis. Use it as a personal tool and consult a qualified professional for medical decisions.

License

Source-available under the PolyForm Noncommercial License 1.0.0. See NOTICE and ATTRIBUTION.md for bundled dependency and upstream credits.

About

An iPhone WHOOP companion with a coach that actually knows you. Local-first, your own API key, no cloud.

Resources

Code of conduct

Contributing

Security policy

Stars

7 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages