Skip to content

saksham2001/PulseLoopiOS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

335 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

PulseLoop

Stars Forks Issues PRs CI Platform Swift License Docs Discord

PulseLoop

πŸ“š Documentation Β· πŸ“± Now on Android Β· πŸ’¬ Join the Discord Β· πŸ“– Read the writeup

Featured on communities:

r/ReverseEngineering r/hardwarehacking r/selfhosted r/degoogle X post

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.

Documentation

πŸ“š Full docs: saksham2001.github.io/PulseLoopiOS

What it does

  • 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.

Screenshots

Today AI Coach Sleep
Today Coach Sleep
Activity Vitals Workout Summary
Activity Vitals Workout Summary

Also on Android

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.

Community

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:

Supported Wearables

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.

Install & try it

πŸ“² TestFlight beta

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!

πŸ› οΈ Build from source (Xcode)

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.

Contributing

PRs and issues are very welcome β€” this project moves fast because people pitch in. Before you start:

  1. Read CONTRIBUTING.md and CODE_OF_CONDUCT.md.
  2. Open or comment on an issue so we don't duplicate work.
  3. CI runs automatically on every PR (build + SwiftLint): keep it green!
  4. 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.

Acknowledgements

Contributors

Thanks to everyone who's contributed to the iOS app πŸ’œ

@saksham2001
@saksham2001
@rgvxsthi
@rgvxsthi
@hoveeman
@hoveeman
@radxp
@radxp

Everyone who's filed an issue, opened a PR, or reported a device shows up in the contributors graph.

License

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

About

A privacy-first, subscription-free health tracker for affordable wearables.

Topics

Resources

License

Code of conduct

Contributing

Stars

261 stars

Watchers

5 watching

Forks

Packages

 
 
 

Contributors