Skip to content

PAIesque

F-Droid

Open source

Privacy-first fitness analyzer with built-in BLE/GPS recording and group sharing

Version
90
Size
46.9 MB
Updated
Jul 16, 2026
Get from Download APK (v90)
Signing certificate on record

About this app

PAIesque is a privacy‑focused fitness tool that records workouts, analyzes training load, and lets you share live sessions.

Record heart‑rate and GPS data directly from BLE chest straps or other heart‑rate sensors. No third‑party app required. Multiple sensors are supported, and recordings are saved as GPX/CSV.

Analyze your training on an interactive map and zoomable chart. View live metrics while a recording is active, or choose a date range to inspect past sessions. The map track is colored by heart‑rate zone, and you can compare multiple devices side‑by‑side.

Share your live status and completed recordings with a group via a simple self‑hosted PHP server. See other group members on the map in real time, and browse their past sessions just like your own.

All training‑load metrics come from published, peer‑reviewed science:

• TRIMP methods — Banister, iTRIMP, LT‑TRIMP, and PAI‑inspired formulas.

• EWMA & ACWR — rolling loads and injury‑risk monitoring.

• Recovery metrics — RHR and HRV (RMSSD) calculated from your sleep window.

• Polarized training — zone distribution and achievement tracking.

Data stays on your device. No accounts, no cloud uploads, no tracking.

Health Connect is needed if you want to import heart‑rate data from other apps (Gadgetbridge, Garmin, Polar, etc.).

Licensed under MIT, by OJ Random.

OfficialSignature VerifiedOpen Source

What's New in v90

Imported from the F-Droid repository index.

  • # Release Notes – v90
  • This update makes BLE reconnection automatic, and ensures all group members appear in the device list—even without uploaded recordings.
  • ### Sharing
  • - Stale recording flags are reset when a remote user stops recording.
  • - Group members who have never uploaded a recording now appear in the device list and on the map.
  • - The "recording ended" status includes the last known location, keeping a marker visible after a session ends.

Version history

v90Latest
Signature continuous

Jul 16, 2026 · 46.9 MB · Android API 3434 · code 90

Imported from the F-Droid repository index.

  • # Release Notes – v90
  • This update makes BLE reconnection automatic, and ensures all group members appear in the device list—even without uploaded recordings.
  • ### Sharing
  • - Stale recording flags are reset when a remote user stops recording.
  • - Group members who have never uploaded a recording now appear in the device list and on the map.
  • - The "recording ended" status includes the last known location, keeping a marker visible after a session ends.
health.READ_HEART_RATEhealth.READ_HEART_RATE_VARIABILITYhealth.READ_HEALTH_DATA_HISTORYhealth.WRITE_HEART_RATEhealth.WRITE_HEART_RATE_VARIABILITYFOREGROUND_SERVICEFOREGROUND_SERVICE_CONNECTED_DEVICEFOREGROUND_SERVICE_LOCATIONWAKE_LOCKBLUETOOTHBLUETOOTH_ADMINBLUETOOTH_SCANBLUETOOTH_CONNECTACCESS_FINE_LOCATIONACCESS_COARSE_LOCATIONINTERNETACCESS_NETWORK_STATEACCESS_WIFI_STATEorg.ojrandom.paiesque.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION

SHA-256 e89d8bf3e3e0516ad4ba774bf5cc8f42270ec3d1be0c8352f91289048f84e2f3

v89
Signature continuous

Jul 15, 2026 · 46.9 MB · Android API 3434 · code 89

Imported from the F-Droid repository index.

  • # Release Notes – v89
  • This updater ecords all selected BLE devices (even if they connect later), falls back to a phone‑GPS device when none are selected, saves and restores the map camera across pauses, updates the live status time every second, shows only recording remote devices on the map, and fixes several crashes and stale‑data issues.
  • ### Recording
  • - All selected BLE devices are recorded, even if they connect after the session starts. When no sensor is chosen, a virtual phone‑GPS device
health.READ_HEART_RATEhealth.READ_HEART_RATE_VARIABILITYhealth.READ_HEALTH_DATA_HISTORYhealth.WRITE_HEART_RATEhealth.WRITE_HEART_RATE_VARIABILITYFOREGROUND_SERVICEFOREGROUND_SERVICE_CONNECTED_DEVICEFOREGROUND_SERVICE_LOCATIONWAKE_LOCKBLUETOOTHBLUETOOTH_ADMINBLUETOOTH_SCANBLUETOOTH_CONNECTACCESS_FINE_LOCATIONACCESS_COARSE_LOCATIONINTERNETACCESS_NETWORK_STATEACCESS_WIFI_STATEorg.ojrandom.paiesque.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION

SHA-256 6f4ad37c5d2217217becf4d5fa72d5dc62555fde8cf881fe7eebc970df61c909

v88
Signature continuous

Jul 13, 2026 · 46.9 MB · Android API 3434 · code 88

Imported from the F-Droid repository index.

  • # Release Notes – v88
  • This update adds controls for how many days of past recordings are shared when joining a group, enforces a maximum group size reported by the server, and automatically cleans up old group directories on the server. Remote devices that stop recording are now hidden from the live view. The map can show all device tracks or only the selected one, and all tracks now use the same zone colours. The recording screen updates location values every second and fixes a stale GPS st
health.READ_HEART_RATEhealth.READ_HEART_RATE_VARIABILITYhealth.READ_HEALTH_DATA_HISTORYhealth.WRITE_HEART_RATEhealth.WRITE_HEART_RATE_VARIABILITYFOREGROUND_SERVICEFOREGROUND_SERVICE_CONNECTED_DEVICEFOREGROUND_SERVICE_LOCATIONWAKE_LOCKBLUETOOTHBLUETOOTH_ADMINBLUETOOTH_SCANBLUETOOTH_CONNECTACCESS_FINE_LOCATIONACCESS_COARSE_LOCATIONINTERNETACCESS_NETWORK_STATEACCESS_WIFI_STATEorg.ojrandom.paiesque.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION

SHA-256 768639739d452a674abc374875be7a595857dfd3249bfe68693ef06cfccf9248

Will it run on your device?

CompatibilityCheck the requirements

69%

  • Targets newer Android builds, so legacy devices may be excluded.
  • Multiple CPU architectures are covered.
What changed in this release
Size delta
0 MB
Added permissions
None
Removed permissions
None

Installation Guide

1

Open Settings on your Android device

2

Go to Security → Unknown sources (or Install unknown apps)

3

Enable "Allow from this source" for your browser or file manager

4

Open the downloaded APK file from your Downloads folder

5

Tap "Install" and wait for installation to complete

6

Launch the app from your home screen

Make sure to re-enable Unknown Sources restrictions after installation for security.

How to install this safely

How to verify the file you downloaded

Before you install anything, confirm the file is the one described here. On a computer, run shasum -a 256 your-download.apk (macOS or Linux) or certutil -hashfile your-download.apk SHA256 (Windows), then compare the output character-for-character with the SHA-256 on this page. If a single character differs, the file is not the build we recorded — delete it.

What the signing certificate proves

Every Android app is signed with a private key that only its developer holds. The fingerprint on this page is a hash of the matching public certificate, and it proves continuity rather than identity: it tells you a build came from whoever signed the earlier ones. Android enforces this at install time — if a package claiming to be org.ojrandom.paiesque is signed with a different key, the system will refuse to install it over your existing copy. A fingerprint that changes between releases is worth pausing on, because a repackaged app that has been modified by someone else cannot keep the original signature.

How to roll back to an earlier version

If the current release misbehaves, 89 is the last build before it. Android will not install an older version code over a newer one, so you must uninstall PAIesque first — which clears its local data unless you have a backup. Reinstall the older APK only if its signing fingerprint matches the build you already trust, and check the API range: an older release may target an Android version your device has moved past.

Why we list sources instead of hosting everything

The official store channel is almost always the right choice: it updates automatically and carries the publisher's own distribution guarantees. A direct APK is useful when a device has no store access, when a rollout has not reached your region, or when you need a specific version — and only when the publisher has authorized that copy. APKBrowse does not list pirated, cracked, or unauthorized rebuilds of PAIesque, and a listing is removed when the evidence for it stops holding up.

Get PAIesque

Every source we list for org.ojrandom.paiesque is legality-reviewed. Pirated or cracked builds are never offered.

Other sources

F-Droid listing

official

F-Droid builds this app from source and signs it. This is its official listing, with older builds and full release notes.

Source code

verified publisher

The upstream repository this build is compiled from.

We check legality and signature continuity, but device behaviour still varies. Install at your own discretion.

App Information

Developer
F-Droid
Category
Social
Android
14+
Architectures
arm64-v8a, armeabi-v7a, x86, x86_64
Version
90 (code 90)
Size
46.9 MB
Updated
Jul 16, 2026
Package name
org.ojrandom.paiesque

Security Verification

File integrity
SHA-256 recorded
Signing certificate
Fingerprint on record
Official source
Download APK (v90)

We record provenance; we do not run malware scans. Verify the hash yourself before installing.

SHA-256 Hash

e89d8bf3e3e0516ad4ba774bf5cc8f42270ec3d1be0c8352f91289048f84e2f3

Signing certificate

2c5be05a58c7a79415aa120f8299cec8ceb42feb34d1fff7655df8965bfb23fe

Permissions Required

health.READ_HEART_RATE
health.READ_HEART_RATE_VARIABILITY
health.READ_HEALTH_DATA_HISTORY
health.WRITE_HEART_RATE
health.WRITE_HEART_RATE_VARIABILITY
FOREGROUND_SERVICE
FOREGROUND_SERVICE_CONNECTED_DEVICE
FOREGROUND_SERVICE_LOCATION
WAKE_LOCK
BLUETOOTH
BLUETOOTH_ADMIN
BLUETOOTH_SCAN
BLUETOOTH_CONNECT
ACCESS_FINE_LOCATION
ACCESS_COARSE_LOCATION
INTERNET
ACCESS_NETWORK_STATE
ACCESS_WIFI_STATE
org.ojrandom.paiesque.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION

Previous Versions

Signature verified

The signing certificate fingerprint for this release is on record, so a build that does not match it did not come from this publisher.

Report a problem with this listing

A listing is only as good as its corrections. If a source is broken, a signature looks wrong, or this app should not be here, tell the moderation team.

Report a problem