π 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, Google Gemini, OpenRouter, or Apple's on-device Foundation Models) with tools for data retrieval, on-the-fly analysis, chart generation, long-term memory, and web search. It also takes image input, so you can send a photo of a meal or a label. 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. iOS leads on the AI Coach (multiple providers, on-device model, image input), while Android still leads on a few vitals detail screens. See the iOS vs Android comparison for the current breakdown. 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 β QRing app | 6e40fff0 / de5bf728 |
R02_β¦, R0xβ¦, COLMI R1xβ¦, H59_β¦ |
$15β30 |
| Colmi / Yawell ring family β SmartHealth app | be940 (Yucheng YCBT) |
R99 54DC and similar |
$15β30 |
| TK5 ring β π§ͺ limited support | be940 (Yucheng YCBT) |
TK5 β¦ (e.g. TK5 24AA) |
β |
β οΈ A Colmi ring ships with either the QRing or the SmartHealth app β two completely different BLE protocols β and its Bluetooth name doesn't reliably say which. So PulseLoop asks you when you pair. Pick the wrong one and it simply won't connect; the app then offers a one-tap "try the other app" retry. Both are supported. See the Colmi page.π§ͺ The TK5 is still experimental. It shares its driver with the SmartHealth-app Colmi rings, and that driver is confirmed working on one β but no TK5 has run it, and a few value scales still need a confirmed reading. The app labels it "Limited support" when you pair it. See the TK5 page.
π Full hardware specs, per-model capability matrix, and buying guidance: Supported hardware docs.
The public TestFlight beta is live. Sign up here to request an invite, or ask on the Discord. We also have plans for an 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.
Thanks to everyone who's contributed to the iOS app π
@saksham2001 |
@rgvxsthi |
@hoveeman |
@radxp |
Everyone who's filed an issue, opened a PR, or reported a device shows up in 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




