π Documentation Β· π± Now on Android Β· π¬ Join the Discord Β· π Read the writeup
Featured on communities:
An LLM-native health app for iOS that turns a cheap Bluetooth "smart ring" into a real, conversational health tracker. It currently supports the generic Chinese Jring and the Colmi / Yawell ring family (R02/R0x/R1x/H59), behind a device-agnostic driver layer so adding more wearables is straightforward.
PulseLoop talks to the ring directly over Bluetooth LE (no vendor cloud, no account) and layers an optional AI Coach on top of your own data. Instead of static charts, you get a coach that can read your metrics, run its own analysis, draw charts, remember context about you, and answer questions about your sleep, heart rate, activity, and recovery.
Goal: prove that a $20 ring + an LLM can replace a $300 subscription wearable, and that the "intelligence" should live on the phone, not behind a paywall.
π Full docs: saksham2001.github.io/PulseLoopiOS
- Getting started β iOS
- Getting started β Android
- Supported hardware
- iOS vs Android
- Architecture Β· Roadmap Β· Contributing
- Connects to the ring over BLE and decodes its proprietary protocol (heart rate, SpOβ, steps, distance, calories, sleep stages, raw packets).
- Today / Vitals / Sleep / Activity dashboards built natively in SwiftUI, backed by SwiftData for local persistence.
- AI Coach β an agentic loop (OpenAI or Google Gemini) with tools for data retrieval, on-the-fly analysis, chart generation, long-term memory, and web search. Every answer is grounded in your actual ring data.
- Workout recording with live heart-rate zones, GPS route maps, a Live Activity, and a Dynamic Island widget.
- Daily check-in notifications generated by the coach from your recent trends.
π Diagrams and a full walkthrough: Architecture docs.
| Today | AI Coach | Sleep |
|---|---|---|
| Activity | Vitals | Workout Summary |
|---|---|---|
PulseLoop has a sister project for Android: PulseLoopAndroid
The two ports are developed hand in hand and share the same BLE protocol work, so a fix or a newly decoded sensor on one platform usually lands on the other. The Android build adds some platform-specific niceties (threshold bars, tap-through metric detail screens, extra connection-reliability handling). Pick the build for your phone β both connect to the same rings.
Coordination, the shared roadmap, and cross-platform discussion all happen in the Discord.
We run a Discord for roadmap planning, getting-started help, and coordinating the iOS + Android efforts. It's the fastest place to get unstuck, claim an issue, or propose a feature.
π Join the PulseLoop Discord
New here? Good places to start:
- Skim the open issues, especially any tagged good first issue.
- Read
CONTRIBUTING.mdand theCODE_OF_CONDUCT.md. - Say hi in Discord and tell us what ring you have β device reports are genuinely useful.
Disclaimer: We have no affiliation with the sellers or manufacturers of any of the wearables listed below. We do not endorse them and take no responsibility for their quality, accuracy, performance, durability, data security, or anything else that might go wrong with them. Listings are provided for convenience only β links may break, sellers may swap hardware under the same name, change prices, and your unit may behave differently from mine. Buy at your own risk and treat any data the ring produces as approximate.
PulseLoop is built around a device-agnostic driver layer, so each supported ring declares exactly what it can do and the app shows only those features.
| Ring | BLE Family | Advertised name | Price |
|---|---|---|---|
| jring (generic smart ring) | 56ff |
SMART_RING |
$7β12 |
| Colmi / Yawell ring family | 6e40fff0 / de5bf728 |
R02_β¦, R0xβ¦, COLMI R1xβ¦, H59_β¦ |
$15β30 |
π Full hardware specs, per-model capability matrix, and buying guidance: Supported hardware docs.
A public TestFlight beta is coming soon. Sign up on the Discord to get the invite link. We also have plans to to IPA release soon!
You'll need Xcode 16+, an iOS 18+ device, a compatible 56ff or Colmi/Yawell
ring, and (optionally) an OpenAI or Gemini API key for the Coach. Open
PulseLoop.xcodeproj, set your Team + a unique Bundle Identifier, then
build & run on your device.
π Full step-by-step build, signing, and demo-data instructions: Getting started β iOS. Building on Android? See the Android guide.
PRs and issues are very welcome β this project moves fast because people pitch in. Before you start:
- Read
CONTRIBUTING.mdandCODE_OF_CONDUCT.md. - Open or comment on an issue so we don't duplicate work.
- CI runs automatically on every PR (build + SwiftLint): keep it green!
- Coordinate bigger changes in the Discord, especially anything that should land on Android too.
Adding a new ring? The device-agnostic driver layer in RingProtocol/ is the
place to start β ping us in Discord and we'll point you at the right files.
π The roadmap and architecture / project layout now live in the docs.
- @foureight84 for the Android port.
- Everyone who's filed an issue, opened a PR, or reported a device β see the contributors graph.
This project is licensed under Creative Commons Attribution 4.0 International (CC BY 4.0).
You're free to share and adapt the work, including commercially, as long as you give appropriate credit. Please attribute:
PulseLoop by Saksham Bhutani β https://github.com/saksham2001/PulseLoopiOS