Skip to content

saksham2001/PulseLoopiOS

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

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

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 6e40fff0 / de5bf728 R02_…, R0x…, COLMI R1x…, H59_… $15–30

πŸ“š Full hardware specs, per-model capability matrix, and buying guidance: Supported hardware docs.

Install & try it

πŸ“² TestFlight beta

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!

πŸ› οΈ 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

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

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages