Your body. Your data. No subscription.
Documentation · Web Dashboard · Contributing · Security
Open-source Oura Ring client. Connects over Bluetooth LE, stores data locally, writes to Apple Health, and optionally syncs to your own Supabase — no Oura subscription required.
Inspired by LibrePods.
| Direct BLE | Oura Ring 3/4/5 without the official app |
| Offline-first | SQLite / IndexedDB — cloud is optional |
| Open algorithms | Sleep, readiness, HRV scoring you can inspect |
| Hybrid cloud | Supabase Postgres + Cloudflare R2 (your keys) |
| RE toolkit | Python CLIs for protocol research |
| Resource | URL |
|---|---|
| Documentation | https://fasterapiweb.github.io/laughing-chainsaw/docs/ |
| Web dashboard | https://fasterapiweb.github.io/laughing-chainsaw/ |
| Releases | https://github.com/FasterApiWeb/laughing-chainsaw/releases |
apps/web Next.js dashboard (GitHub Pages)
apps/ios Swift/SwiftUI + CoreBluetooth + HealthKit
apps/android Kotlin/Compose scaffold
packages/sdk-ts @librering/sdk
packages/api-spec OpenAPI contract
backend/supabase Postgres schema, RLS, sync RPCs
backend/worker Cloudflare Worker → R2
core/librering-core Rust BLE protocol
tools/ Python reverse-engineering toolkit
docs/ MkDocs documentation source
pnpm install
cp apps/web/.env.example apps/web/.env.local # optional Supabase
pnpm dev:webcd apps/ios/LibreRing
brew install xcodegen && xcodegen generate
open LibreRing.xcodeproj # run on physical iPhonepip install -r docs/requirements.txt
pnpm docs:serve # http://127.0.0.1:8000cd tools && python -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
python scan_oura.py --read-values| Guide | Description |
|---|---|
| Concepts | Design principles & sync model |
| Architecture | System design |
| Cloud Setup | Supabase + optional R2 |
| Deploy | GitHub Pages |
| Contributing | PR guidelines |
| Open Source Checklist | OSS readiness |
| Protocol | BLE specification |
Full site: https://fasterapiweb.github.io/laughing-chainsaw/docs/
- BLE protocol reverse engineering
- iOS app + HealthKit
- Web dashboard + cloud sync
- Monorepo + Supabase/R2 backend
- MkDocs + CI/CD
- Background sync (BGTaskScheduler)
- Android + Health Connect
- Rust core UniFFI on mobile
- PyPI / crates.io packages
Never commit ring auth keys or health captures:
| Path | Contents |
|---|---|
key.hex |
16-byte BLE auth key |
tools/services.json |
GATT dump |
tools/captures/ |
Session logs |
Report vulnerabilities via SECURITY.md (private advisory).
Clean-room reverse engineering for interoperability. Not affiliated with Oura Health Oy. See docs/legal.md.
MIT — Copyright (c) 2026 FasterApiWeb