package icon

PAIesque

Privacy-first fitness analyzer with built-in BLE/GPS recording and group sharing
New in version 91
v91 improves map performance with zoom‑based track simplification,
moves heavy operations off the main thread to prevent ANRs,
and fixes several map and recording issues.

## Map Performance

- Tracks are simplified using the current zoom level via a new
`PolylineSimplifier` utility. Points closer than one screen pixel
are removed before rendering, keeping the map responsive without
visible quality loss.
- Heavy operations – track simplification, fit‑to‑track, offline map
file loading,
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.).

Versions

Although APK downloads are available below to give you the choice, you should be aware that by installing that way you will not receive update notifications and it's a less secure way to download. We recommend that you install the F-Droid client and use that.

Download F-Droid
  • Version 91 (91) suggested Added on Aug 14, 2026

    arm64-v8a armeabi-v7a x86 x86_64

    This version requires Android 14 or newer.

    It is built and signed by the original developer, and guaranteed to correspond to this source tarball.

    Permissions
    • access approximate location only in the foreground
      This app can get your approximate location from location services while the app is in use. Location services for your device must be turned on for the app to get location.
    • access precise location only in the foreground
      This app can get your precise location from location services while the app is in use. Location services for your device must be turned on for the app to get location. This may increase battery usage.
    • view network connections
      Allows the app to view information about network connections such as which networks exist and are connected.
    • view Wi-Fi connections
      Allows the app to view information about Wi-Fi networking, such as whether Wi-Fi is enabled and name of connected Wi-Fi devices.
    • pair with Bluetooth devices
      Allows the app to view the configuration of the Bluetooth on the phone, and to make and accept connections with paired devices.
    • access Bluetooth settings
      Allows the app to configure the local Bluetooth phone, and to discover and pair with remote devices.
    • connect to paired Bluetooth devices
      Allows the app to connect to paired Bluetooth devices
    • discover and pair nearby Bluetooth devices
      Allows the app to discover and pair nearby Bluetooth devices
    • run foreground service
      Allows the app to make use of foreground services.
    • run foreground service with the type "connectedDevice"
      Allows the app to make use of foreground services with the type "connectedDevice"
    • run foreground service with the type "location"
      Allows the app to make use of foreground services with the type "location"
    • have full network access
      Allows the app to create network sockets and use custom network protocols. The browser and other applications provide means to send data to the internet, so this permission is not required to send data to the internet.
    • prevent phone from sleeping
      Allows the app to prevent the phone from going to sleep.
    • android.permission.health.READ_HEALTH_DATA_HISTORY
    • android.permission.health.READ_HEART_RATE
    • android.permission.health.READ_HEART_RATE_VARIABILITY
    • android.permission.health.WRITE_HEART_RATE
    • android.permission.health.WRITE_HEART_RATE_VARIABILITY
    • org.ojrandom.paiesque.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION

    Download APK 46 MiB PGP Signature | Build Log

  • New in version 90
    # 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.

    ### Recording
    - Periodic BLE reconne
  • Version 90 (90) - Added on Jul 16, 2026

    arm64-v8a armeabi-v7a x86 x86_64

    This version requires Android 14 or newer.

    It is built and signed by the original developer, and guaranteed to correspond to this source tarball.

    Permissions
    • access approximate location only in the foreground
      This app can get your approximate location from location services while the app is in use. Location services for your device must be turned on for the app to get location.
    • access precise location only in the foreground
      This app can get your precise location from location services while the app is in use. Location services for your device must be turned on for the app to get location. This may increase battery usage.
    • view network connections
      Allows the app to view information about network connections such as which networks exist and are connected.
    • view Wi-Fi connections
      Allows the app to view information about Wi-Fi networking, such as whether Wi-Fi is enabled and name of connected Wi-Fi devices.
    • pair with Bluetooth devices
      Allows the app to view the configuration of the Bluetooth on the phone, and to make and accept connections with paired devices.
    • access Bluetooth settings
      Allows the app to configure the local Bluetooth phone, and to discover and pair with remote devices.
    • connect to paired Bluetooth devices
      Allows the app to connect to paired Bluetooth devices
    • discover and pair nearby Bluetooth devices
      Allows the app to discover and pair nearby Bluetooth devices
    • run foreground service
      Allows the app to make use of foreground services.
    • run foreground service with the type "connectedDevice"
      Allows the app to make use of foreground services with the type "connectedDevice"
    • run foreground service with the type "location"
      Allows the app to make use of foreground services with the type "location"
    • have full network access
      Allows the app to create network sockets and use custom network protocols. The browser and other applications provide means to send data to the internet, so this permission is not required to send data to the internet.
    • prevent phone from sleeping
      Allows the app to prevent the phone from going to sleep.
    • android.permission.health.READ_HEALTH_DATA_HISTORY
    • android.permission.health.READ_HEART_RATE
    • android.permission.health.READ_HEART_RATE_VARIABILITY
    • android.permission.health.WRITE_HEART_RATE
    • android.permission.health.WRITE_HEART_RATE_VARIABILITY
    • org.ojrandom.paiesque.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION

    Download APK 46 MiB PGP Signature | Build Log

  • New in version 89
    # 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
  • Version 89 (89) - Added on Jul 15, 2026

    arm64-v8a armeabi-v7a x86 x86_64

    This version requires Android 14 or newer.

    It is built and signed by the original developer, and guaranteed to correspond to this source tarball.

    Permissions
    • access approximate location only in the foreground
      This app can get your approximate location from location services while the app is in use. Location services for your device must be turned on for the app to get location.
    • access precise location only in the foreground
      This app can get your precise location from location services while the app is in use. Location services for your device must be turned on for the app to get location. This may increase battery usage.
    • view network connections
      Allows the app to view information about network connections such as which networks exist and are connected.
    • view Wi-Fi connections
      Allows the app to view information about Wi-Fi networking, such as whether Wi-Fi is enabled and name of connected Wi-Fi devices.
    • pair with Bluetooth devices
      Allows the app to view the configuration of the Bluetooth on the phone, and to make and accept connections with paired devices.
    • access Bluetooth settings
      Allows the app to configure the local Bluetooth phone, and to discover and pair with remote devices.
    • connect to paired Bluetooth devices
      Allows the app to connect to paired Bluetooth devices
    • discover and pair nearby Bluetooth devices
      Allows the app to discover and pair nearby Bluetooth devices
    • run foreground service
      Allows the app to make use of foreground services.
    • run foreground service with the type "connectedDevice"
      Allows the app to make use of foreground services with the type "connectedDevice"
    • run foreground service with the type "location"
      Allows the app to make use of foreground services with the type "location"
    • have full network access
      Allows the app to create network sockets and use custom network protocols. The browser and other applications provide means to send data to the internet, so this permission is not required to send data to the internet.
    • prevent phone from sleeping
      Allows the app to prevent the phone from going to sleep.
    • android.permission.health.READ_HEALTH_DATA_HISTORY
    • android.permission.health.READ_HEART_RATE
    • android.permission.health.READ_HEART_RATE_VARIABILITY
    • android.permission.health.WRITE_HEART_RATE
    • android.permission.health.WRITE_HEART_RATE_VARIABILITY
    • org.ojrandom.paiesque.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION

    Download APK 46 MiB PGP Signature | Build Log