[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-82297":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":8,"htmlUrl":8,"language":9,"languages":8,"totalLinesOfCode":8,"stars":10,"forks":11,"watchers":12,"openIssues":13,"contributorsCount":14,"subscribersCount":14,"size":14,"stars1d":14,"stars7d":15,"stars30d":16,"stars90d":14,"forks30d":14,"starsTrendScore":17,"compositeScore":18,"rankGlobal":8,"rankLanguage":8,"license":8,"archived":19,"fork":19,"defaultBranch":20,"hasWiki":19,"hasPages":19,"topics":21,"createdAt":8,"pushedAt":8,"updatedAt":22,"readmeContent":23,"aiSummary":24,"trendingCount":14,"starSnapshotCount":14,"syncStatus":25,"lastSyncTime":26,"discoverSource":27},82297,"my-whoop","johnmiddleton12\u002Fmy-whoop","johnmiddleton12",null,"Python",266,129,7,3,0,20,143,1,6.34,false,"main",[],"2026-06-12 02:04:25","# Wearable\n\nOpen-source, local-first client for a **WHOOP 4.0** band: read **your own** biometrics from\n**your own** device over Bluetooth LE and keep the data on hardware you control. A native iOS app\n(collect → decode → store → sync) backed by an optional self-hosted server. Decoding is\nschema-driven (`protocol\u002Fwhoop_protocol.json`) and shared by the phone and the server so they\nnever drift.\n\n> **Disclaimer.** This is an independent, unofficial project. It is **not affiliated with,\n> endorsed by, or sponsored by WHOOP, Inc.** \"WHOOP\" is a trademark of its respective owner and\n> is used here only descriptively, to identify the hardware this software interoperates with.\n> The project is the result of independent reverse-engineering for interoperability and is\n> provided **for personal and educational use** with **your own device and your own data**, at\n> your own risk. No warranty of any kind.\n>\n> **Not a medical device.** Heart rate, HRV, recovery, strain, sleep, SpO₂, and related\n> outputs are approximations from published methods, are **not** clinically validated, and are\n> **not medical advice**. Do not use them for diagnosis or treatment.\n>\n> **No proprietary material.** This repository contains **only original, independently written\n> code** and factual protocol notes. Protocol facts were established by observing Bluetooth\n> traffic to and from a device the author owns and, where needed for interoperability, by\n> examining the official app — an activity permitted under 17 U.S.C. §1201(f). **None** of that\n> material is reproduced here: the repository does **not** contain, redistribute, or link to any\n> WHOOP, Inc. software, firmware, app binaries, decompiled source, artwork, logos, or other\n> copyrighted or trademarked assets. It does not circumvent any access control, DRM, or\n> account\u002Fpaywall, and requires the user's own physical device and their own data.\n>\n> **Purpose: interoperability & research.** The work exists to let an owner read **their own\n> device's data** in an interoperable way and for security-research and educational purposes —\n> protected interests under interoperability and good-faith research principles (e.g. 17 U.S.C.\n> §1201(f) reverse-engineering for interoperability). It is not intended to compete with,\n> substitute for, or harm WHOOP's products or services.\n>\n> See [`DISCLAIMER.md`](DISCLAIMER.md) for the full notice, including a good-faith takedown\n> contact.\n\n## What's here\n\n| Path | What it is |\n|---|---|\n| `protocol\u002F` | The canonical decode schema — single source of truth. |\n| `Packages\u002FWhoopProtocol\u002F` | The Swift decoder (ports the Python reference; cross-language parity-tested). |\n| `Packages\u002FWhoopStore\u002F` | Local on-device store (GRDB). |\n| `ios\u002F` | The SwiftUI + CoreBluetooth app. |\n| `server\u002F` | Optional self-hosted datastore + ingest (FastAPI + TimescaleDB) and the `whoop-protocol` Python package. |\n| `dashboard\u002F` | A Mac BLE reference\u002Finspection tool used during development. |\n| `re\u002F`, `FINDINGS.md` | Reverse-engineering scripts and the protocol reference write-up. |\n| `docs\u002F` | Design specs and implementation plans. |\n\nStart with `docs\u002Fspecs\u002F2026-05-23-openwhoop-ios-app-design.md` and `FINDINGS.md`.\n\n## Supported hardware\n\nWHOOP 4.0 only. Other generations use different BLE protocols and are not supported.\n\n## Building & running\n\n- **iOS app** — open `ios\u002F` (project generated via XcodeGen \u002F SwiftPM). Copy\n  `ios\u002FOpenWhoop\u002FConfig\u002FSecrets.example.xcconfig` → `Secrets.xcconfig` and fill in your own\n  server URL + API key (the real file is gitignored).\n- **Server** — see [`server\u002FREADME.md`](server\u002FREADME.md): `cp .env.example .env`, set\n  `DATA_ROOT`, then `docker compose up -d --build`.\n- **RE scripts (`re\u002F`)** — these depend on third-party clones that are intentionally **not**\n  bundled (see below and `re\u002FREADME.md`); copy `re\u002Fdevice_local.example.py` →\n  `re\u002Fdevice_local.py` with your own device identifiers. They are not needed to build the app.\n\nNo vendor software and no third-party clones are included in this repository (they are\ngitignored). The committed code is **entirely original work** plus factual protocol knowledge —\nobserved from Bluetooth traffic to and from the author's own device — documented in `FINDINGS.md`.\nSee [`DISCLAIMER.md`](DISCLAIMER.md).\n\n## Credits & provenance\n\nThis work builds on prior community reverse-engineering of the WHOOP protocol. The framing,\ncommand, and event identifiers in `protocol\u002Fwhoop_protocol.json` were derived from independent\nreverse-engineering and from these projects — thanks to their authors:\n\n- [`bWanShiTong\u002Fopenwhoop`](https:\u002F\u002Fgithub.com\u002FbWanShiTong\u002Fopenwhoop) — Rust reference whose\n  type-47 (V24\u002FV12) biometric decode layout and sleep\u002Fwake stillness classifier informed the\n  decoding here; the HRV and strain modules under `server\u002Fingest\u002Fapp\u002Fanalysis\u002F` were **ported**\n  from its `openwhoop-algos` and adapted.\n- [`jogolden\u002Fwhoomp`](https:\u002F\u002Fgithub.com\u002Fjogolden\u002Fwhoomp) — a community protocol reference\n  (CRC, framing, packet types).\n- [`bWanShiTong\u002Freverse-engineering-whoop`](https:\u002F\u002Fgithub.com\u002FbWanShiTong\u002Freverse-engineering-whoop)\n  and [`christianmeurer\u002Fwhoop-reader`](https:\u002F\u002Fgithub.com\u002Fchristianmeurer\u002Fwhoop-reader) —\n  earlier BLE exploration.\n","该项目是一个开源的、本地优先的WHOOP 4.0手环客户端，允许用户通过蓝牙LE从自己的设备上读取生物识别数据，并将这些数据存储在自己控制的硬件上。其核心功能包括数据收集、解码、存储与同步，支持iOS应用及可选的自托管服务器。技术特点为基于蓝牙协议的反向工程实现互操作性，使用Swift和Python编写，确保手机端与服务器端解码逻辑一致。适用于希望拥有对自己健康数据更多控制权的研究者或个人用户，强调仅供个人和教育用途，不提供医疗建议。",2,"2026-06-06 04:09:41","CREATED_QUERY"]