Getting Started on Android¶
PulseLoop has a sister project for Android: foureight84/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 is written in Jetpack Compose + Material 3 with Room for persistence, and adds several platform-specific niceties on top of the shared feature set.
Pick a ring first
PulseLoop talks to a real Bluetooth ring. Check the supported hardware before you start — both ports connect to the same rings.
Install¶
The Android app is distributed from the PulseLoopAndroid repository. Check that repo's releases and README for the latest APK and install instructions.
Build from source¶
Build steps live in the Android repo
Android build instructions are maintained in the PulseLoopAndroid README. The outline below is the typical Android Studio flow; follow the Android repo's README for the authoritative, up-to-date steps.
- Clone foureight84/PulseLoopAndroid.
- Open the project in Android Studio.
- Let Gradle sync, then connect a physical Android device — Bluetooth LE needs real hardware.
- Build & run the app module to your device.
- On first launch, grant Bluetooth/Location permissions and keep the ring nearby.
- To enable the Coach, open Settings and add your OpenAI or Gemini API key.
It's stored in
EncryptedSharedPreferencesand only used to call the model you choose.
Where the ports differ¶
The two ports share the same reverse-engineered BLE protocols. The main differences today: iOS has the AI Coach (which Android doesn't).
Because features land on each platform at different times, this list changes often. Rather than duplicate it here, see the living iOS vs Android comparison for the current, authoritative breakdown.
Architecture at a glance¶
| Aspect | Android |
|---|---|
| UI | Jetpack Compose + Material 3 |
| Persistence | Room (SQLite) |
| BLE | android.bluetooth.le |
| HTTP | OkHttp |
| Key storage | EncryptedSharedPreferences |
| Background work | WorkManager |
| Charts | Custom Compose Canvas |
See the Architecture page for how both ports map onto the same data flow.
Next steps¶
- Supported hardware — what each ring can do.
- iOS vs Android — where the ports differ today.
- Contributing — coordinate cross-platform work in the Discord.
- Looking for iOS? See Getting Started on iOS.