F45 · Lionheart Monitor
Upload your exported Lionheart session history to see your own heart-rate, calorie, and score trends — by date or by workout type. Nothing leaves your browser; the file is parsed locally.
sample-lionheart-data.json (included in the repo alongside this app) — it's synthetic dummy data, no F45 account needed.
There's no public way to look up your user_id, but you can find your own one of two ways:
1. Check your phone's own logs (easiest)
adb logcat | grep externalId, then open the F45 app — look for a line like login(externalId: 12345678, jwtBearerToken: null). That number is your user_id.externalId.2. Intercept your network traffic with a proxy (more involved)
user_id out of the request URL to api.lionheart.f45.com.Once you have it, use it with the “fetch directly” option below, or with the manual export script if you'd rather run something locally and upload the result.
This dashboard talks to a Cloudflare Worker that proxies F45's Lionheart API (which doesn't allow browsers to call it directly). If you were given an access token for it, enter that and your user_id (see “How do I get my userid?” above) below to fetch your history directly — no file to download or upload.
Want to run your own instead (e.g. you're forking this project)? The worker code and step-by-step setup are in the repo under cloudflare-worker/ — deploy it (free tier, a few minutes), then update the WORKER_URL constant near the top of this page's script to point at it.
No sessions match this filter. Try widening the date range or choosing a different workout.
| Date | Workout | Avg HR | Max HR | Calories | Score | Z1 | Z2 | Z3 | Z4 | Z5 |
|---|
No workouts match this filter. Try a different type.
Workouts ranked by average calories burned. Bars average across every logged session of that workout.
| Workout | Sessions | Avg HR | Max HR | Calories | Score |
|---|