PAIesque
fix: BLE device dialog always shows all discovered devices
Previously, if a device had been selected in a prior recording
session, its manufacturer info was stored. The discovery
listener then filtered out any device for which that stored
info already existed. This meant deselecting all devices made
the dialog permanently empty – no device, known or unknown,
would ever reappear.
Now the discovery listener adds every discovered device to the
list, without checking
1. Measure training impulse (TRIMP) — The faster and longer your heart beats, the higher your daily score.
2. Analyze patterns over time — Track how your TRIMP accumulates and distributes
3. Monitor your body's response — Compare how your body reacts to training load
PAIesque is different from commercial fitness apps (e.g. Garmin,
Whoop, Polar). Every metric comes from published, peer-reviewed research with transparent methods that can be calculated from heart rate data alone. The app only includes metrics we can verify and reproduce from first principles — no proprietary black boxes, no undisclosed algorithms. And, all your data stays on your device.
1. TRIMP:
• Banister TRIMP — The original exponential model with sex-specific coefficients (a=0.64/0.86, b=1.92/1.67) [Banister, 1991; Morton et al., 1990]
• iTRIMP — Individualized TRIMP with customizable b coefficient (1.5-4.0) [Stagno et al., 2007; Akubat et al., 2012]
• LT-TRIMP — Lactate Threshold-based model with β coefficient (0.04-0.11) and smooth transition at LT [Cheng et al., 1992; Mader et al., 1976; Gaesser and Poole, 1986]
• PAI-esque — PAI-inspired metric using EWMA (not the official commercial algorithm) [Nes et al., 2017; Kieffer et al., 2021]
2. Patterns over time:
• Intensity zones — Time and TRIMP spent in low/moderate/high zones (polarized training model) [Seiler and Tønnessen, 2009; Stöggl and Sperlich, 2014]
• EWMA — Exponentially Weighted Moving Average for rolling loads (more sensitive than simple averages)
• ACWR — Acute:Chronic Workload Ratio for injury risk monitoring (0.8-1.3 = sweet spot) [Murray et al., 2017; Griffin et al., 2021; Gabbett, 2016]
• Polarized Training Score — 0-100 measure of how closely your distribution matches your targets
3. Body's response:
• Resting Heart Rate (RHR) — Calculated from your defined sleep window (adaptive percentile: 5th-15th)
• Heart Rate Variability (HRV) — Daily RMSSD averages during sleep [Task Force, 1996; Plews et al., 2013; Buchheit, 2014]
• EWMA trends — Exponentially weighted moving averages for both RHR and HRV (acute and chronic windows)
• Combined interpretation — RHR ↓ + HRV ↑ = positive adaptation; RHR ↑ + HRV ↓ = possible fatigue
Data Management:
• CSV export/import
• Complete backup/restore (db)
• All data stays on your device — no accounts, no cloud uploads, no tracking
Creative Use Cases:
• Coach analyzing athletes — Import athlete exports, analyze charts, provide feedback
• Research analysis — Export CSV files for custom analysis in R, Python, or spreadsheets
• Switch between athletes — Use "Delete All Data" + CSV import to analyze multiple individuals
Requirements:
• Google Health Connect installed on your device
• Heart rate (and HRV) data in Health Connect from your wearable device (Gadgetbridge, Garmin, Polar, Samsung, etc.)
• Android 8.0 (API 26) or higher
Note on PAI:
Our PAI-esque implementation is NOT the official commercial PAI® algorithm (which is proprietary). It uses EWMA and scaled TRIMP values to provide a similar intensity-weighted weekly score. The 100 PAI target remains the evidence-based health outcome from the HUNT Study research.
- Author: OJ Random
- License: MIT License
- Website
- Issue Tracker
- Source Code
- Build Metadata
- Reproducibility Status
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-
This version requires Android 14 or newer.
It is built and signed by the original developer, and guaranteed to correspond to this source tarball.
Download APK 4 MiB PGP Signature | Build Log
-
This version requires Android 14 or newer.
It is built and signed by the original developer, and guaranteed to correspond to this source tarball.
Download APK 4 MiB PGP Signature | Build Log
-
This version requires Android 14 or newer.
It is built and signed by the original developer, and guaranteed to correspond to this source tarball.
Download APK 4.0 MiB PGP Signature | Build Log
What's New – Live Heart Rate Recording
You can now record your workouts directly in the app using your Bluetooth heart rate monitors. The new recording screen lets you:
- Connect to multiple heart rate sensors at once and see live values in huge text – easy to read during training, even without glasses.
- Track GPS speed, distance, altitude, and elapsed time.
- Start, pause, resume, or stop recordings – the session continues in the background even if you leave the
Reliable calculations on large data sets
Resting heart rate (RHR) and heart rate variability (HRV) can now be calculated for years of data without risking out‑of‑memory crashes. The app reads your raw measurements day‑by‑day and only keeps the final daily values in memory.
Correct metrics after each sync
Training load metrics (EWMA, ACWR, rolling scores) are now always up‑to‑date, no matter how many incremental syncs you perform. After every Health Connect refresh,



























