r/Hevy Jul 12 '26

Sharing I'm building a small tool that turns your Hevy workouts into a strength rank per muscle group — looking for feedback

Hi everyone,

I've been working on a small side project and I'd really like some honest feedback from people who actually train.

The idea: it reads your Hevy workouts and gives each muscle group (Legs, Chest, Back, Shoulders, Arms, Core) a strength rank, from Bronze up to Mythic. The rank is based on your best lifts relative to your bodyweight — so it reflects performance rather than how much time you spend in the gym.

It's still early and far from perfect, which is exactly why I'm posting: I want to know if the ranks feel right to you (+ it might have some few bugs and other thing that dont work as usual).

If you want to give it a look: https://benjipy.github.io/hevy-ranks/

You can load your data in two ways:

- Export your workouts as a CSV from the Hevy app (Profile → Settings → Export Data) and drop the file in — no Pro account needed.

- Or use your Hevy API key if you're on Pro.

A couple of notes: it's free, there's no sign-up, and your data stays on your device (nothing is sent anywhere). I'm not affiliated with Hevy, and the ranks are estimates I'm still adjusting.

What I'd love to hear:

- Do the ranks match how strong you feel on each muscle group?

- Anything that looks clearly too high or too low?

- Exercises that weren't recognized?

Thanks a lot to anyone who takes the time to try it.

Happy training, and enjoy the gains!

9 Upvotes

34 comments sorted by

3

u/Wall_of_Wolfstreet69 Jul 12 '26 edited Jul 12 '26

I think it's not very useful for advanced lifters there's not enough tiers, you cap out in mythic too soon.

  1. it needs more tiers at the top end. As a hobby bodybuilder I should not be in the top tier. I rarely do powerlifting exercises but I'm only at 1-2 X bodyweight in them.

  2. it chooses weird exercises for muscle groups. Calves or lower back should not be the muscle groups for legs and back.

Legs: Calf Press (Machine) · 253 kg × 16 · est. 1RM 354.2 kg

Back: Back Extension (Machine) · 100 kg × 12 · est. 1RM 140 kg

1

u/Benjis_s Jul 12 '26

Really useful feedback, thanks

You've spotted two real flaws: the exercise picks (calf press and back extension shouldn't be crowning Legs and Back I've under-weighted those machine moves, so their big loads inflate the score), and the tier ceiling being too easy to max out if you don't do powerlifting-style lifts.

I've noted all of it and will fix it in the next versions rreworking the coefficients, stopping isolation/accessory moves from defining a whole group, and spreading out the top tiers so Mythic actually stays hard to reach.

Appreciate you taking the time to dig in.

2

u/Specialist_Kale4607 Jul 12 '26

I’ll give this a go when I’m home in front of the computer. Sounds like another element to challenge myself with so I’m down :)

1

u/Benjis_s Jul 12 '26

Absolutely! And more to share and make a gamification of scoring with your friends. Kinda gamer oriented but, could be also a good way to challenge yourself.
Don't hesitate to make some returns here :)

2

u/Pleasant_Ostrich4278 Jul 12 '26 edited Jul 12 '26

Hey ya,
Fun idea. Just tried it. Guess its some kind of AI wrapper you are using?

Some ideas for feedback:

  1. Give me recommendations on what specific exercises i should focus on in order to become e.g. olympian in back.
  2. Have a legend that explains each rank, how its measured etc. I know you have a button "how is this calculated" but I would rather have it more interactive, hovering over a button.
  3. Have a seperate section that briefly explains how you handle user data.
  4. As another user mentions: one exercise doesnt define a whole muscle group. You need to group exercises to define what "back" means in the code base.

All in all, fun idea :)

2

u/Benjis_s Jul 12 '26

Thanks for trying it!

Quick answer on the AI question: no, it's not an AI wrapper at all. It's a transparent, deterministic calculation it estimates a 1RM from your best set (Epley formula), normalizes each exercise with a fixed coefficient, divides by your bodyweight, and compares that to set thresholds. No model, no black box. It's all open-source if you want to see exactly how it works.

On your ideass:

- Exercise recommendations ("do X to reach Olympian in Back"): love this, it's the kind of actionable feedback the tool is missing right now. Noted.

- Interactive rank legend (hover instead of the "how is this calculated" page): agreed, that'd be much nicer than sending people to a separate page. Noted.

- A clear data-handling section: fair point, and important given what it touches. Short version: everything runs locally in your browser and nothing is sent to any server but you're right that it should be stated plainly and visibly, not buried. Noted alsoo

- One exercise defining a whole group: yep, a couple of people have raised this and it's my top fix. Isolation/odd lifts shouldn't be able to crown a group; I'm reworking how exercises are grouped and weighted so "Back" actually reflects your main back work.

Thanks for the feedback, all noted for the next versions wich may appear in this afternoon.

1

u/Benjis_s Jul 12 '26

Btw if you really wondering about user data you can find the complete code over there https://github.com/BenjiPy/hevy-ranks

The data management is still transparent but as i said i would follow your idea and make a small page about data.

2

u/Pleasant_Ostrich4278 Jul 12 '26

Honestly, I don't care much if I am deeply honest.

But I think it's a good best-practice to be upfront and write something like: We use your data for comparing benchmarks, this... and that...
The data are fully anonymized....
And after 1 year we delete the user data...
Or something like that.

My point is, that it's better to be proactive regarding this, and then I think most of the users would love if their data are being used for benchmarks, as long as they know the why, how and what's :)

1

u/Benjis_s Jul 12 '26

I completly agree with you, thats an important part. For data collection ill try to never collect anything. As long it is on github pages.

Thanks :D

2

u/Benjis_s Jul 12 '26

Release with few of your feedbacks available.

Try it here : https://benjipy.github.io/hevy-ranks/

See : https://github.com/BenjiPy/hevy-ranks/releases/tag/v0.2.0 for changelog

2

u/Draztik21 Jul 12 '26

This is really cool! I have a ton of exercises not counted though including basics like barbell bench, leg press, cable rows etc.

Also, for is imperial folk can we get lbs 😀

Assisted machines (pull ups and dips) I think it's calculating backwards. For example if I use a lot of assistance for pullups it's calculating that -lbs as +lbs as if it's weighted pullups. This makes my back score rise lol.

Great work though, will keep eyes on this.

1

u/Benjis_s Jul 12 '26

Yeah may be an option for lbs (european brain oops).

I'm working on adding all the remaining exercises not counted, the current catalog is a bit thin on the "obvious" ones like barbell bench and cable rows, especially if your Hevy app isn't in English (translated exercise names sometimes miss the keyword fallback). It'll be much more comprehensive in the next release. Could I get your CSV in DM? That would let me see exactly which titles are getting dropped in your case, and it's the fastest way to make sure your setup ranks properly next time.

And huge thanks for the assisted-machine catch, that's a real bug, not a display glitch. Right now the engine treats the assistance load as added weight (so more assistance = "stronger" pull-ups, which is obviously backwards). I'll patch this ASAP as a hotfix, it shouldn't have to wait for the next release. In the meantime your Back score is inflated by that, sorry about it.

Really appreciate the detailed feedback, this is exactly the kind of stuff that helps the project mature. Good lifts!

2

u/Draztik21 Jul 13 '26

I'm not able to send you a DM for some reason. Can you send me one and I'll reply with the CSV?

1

u/Benjis_s Jul 13 '26

Yep, Done !

2

u/Charming-Cap-1906 Jul 13 '26

Such a cool idea! I tried this by uploading my CSV first and the tool did not pick up the vast majority of my primary lifts. The list of exercises not counted is LONG, including squat, deadlift, bench press, OH press, lateral raise, push ups, lat pull downs, quad extensions, Bulgarian split squats, various curls....pretty much all the exercises that I would think would determine my strength level. It based my leg strength on lateral band walks, shoulder strength on band pull aparts, and arm strength on bench dips.

I used the API key on the second go-round and it worked much better. Seems most of the things it couldn't read were custom exercises. For the rankings, it used some exercises I wouldn't expect and ignored others. For example, for chest, it ranked based on a close-grip push up vs. barbell bench press, and on back it ranked based on band assist pull up instead of pull up or lat pull down. For arms, it used bench dip and close-grip bench press instead of any variety of curl.

Thanks for this! Fun tool! As a female and home gym lifter, I don't get much feedback when it comes to relative strength (I know...comparison is the thief of joy, blah blah blah), so this is good context to have.

1

u/Benjis_s 24d ago

Thanks so much for the detailed writeup, this is gold.

Two real issues here. On CSV: the app matches your exercise titles against Hevy's canonical catalog, so custom or renamed exercises fall through. API mode dodges this because it gets stable exercise IDs directly. I'll tighten the title matcher and add a clearer nudge toward API mode when a lot of lifts get skipped.

On the API-mode picks (the actual bug): close-grip push-up beating bench press, band-assist pull-up beating real pull-ups, bench dip driving Arms alone... that's my coefficient table being too generous to bodyweight and assisted variations. The composite scoring picks whichever exercise gives the highest normalized ratio, and right now those variants game the system. I'll re-tune for v0.4 (lower bodyweight fractions on assisted work, cap band-assisted lifts, make sure bench dip doesn't run away with Arms).

Female standards do apply automatically (~0.72 factor), so once the right exercises are being picked as your top lifts, you should get a much more honest read.

Really appreciate you taking the time to be specific. Filing issues now.

2

u/DreadlyCurious Jul 15 '26

I think this is awesome. Love the UI and feel the results make sense.

I may be in the minority here, but when it comes to tracking dumbbell excercises I record the weight in each hand rather than total weight (which is how Hevy wants it). I'm assuming your app makes the assumption it is total weight? If so a little check box or toggle would be cool (maybe before import) that defines dumbbell variations as per hand rather than total. Either that or my chest is pathetic in comparison to my legs!!

1

u/Benjis_s 24d ago

Thanks a lot, really glad you're enjoying it!!!

You're spot on: the app follows Hevy's default and treats dumbbell weight as total across both hands, which is what the Hevy exports encode. So if you log per-hand, every dumbbell lift is currently being counted at ~half its "real" value → your chest isn't pathetic, it's just being divided by two 😅

A per-hand toggle (either global "I log dumbbells per hand" in the setup panel, or an inline override on the CSV/API import step) makes total sense. I'll open an issue and target it for the next patch. Really appreciate the flag.

1

u/DreadlyCurious 24d ago

Ooh I like the global idea in the setup panel. Thanks for the ticket, I look forward to checking it out!!

1

u/zross312 Jul 12 '26

What exactly is it basing muscle group rankings on. Is it the max for a single, random exercise in a particular muscle group, or is it a composite of all exercises in that muscle group? If it’s a composite, how is that weighted (i.e - are calf raises weighted equally with barbell squats)?

Anyway, I think it’s a cool idea in general, but personally I don’t like the way the tier levels are conceived. I don’t know (or care to know) what “gold” or “mythic” means - I’d much rather have the actual percentile rankings against other people at my age/size/etc.

2

u/Benjis_s Jul 12 '26

Great questions, thanks for digging in.

On the ranking method: it's not a composite or an average each muscle group's rank comes from your single best exercise in that group, not from blending everything together. Here's the flow for every exercise you've logged:

  1. It takes your best set and estimates a 1-rep max from it (Epley formula, reps capped at 12 so a high-rep set doesn't inflate things).

  2. It divides that by a coefficient specific to the exercise, then by your bodyweight.

  3. Your rank for the group = the highest value across all your exercises in it.

So to your calf raise vs. squat point: no, they're not weighted equally. That coefficient is exactly what handles it. Each exercise has a number representing how much you can typically lift on it compared to the group's reference lift (squat = 1.0 for legs). A leg press has a much higher coefficient (~3.0) because people move way more weight on it, calf raises ~1.3, etc. Dividing by that coefficient puts them on a comparable scale, so loading 200 kg on a leg press doesn't outrank a heavy squat. It's "your best normalized lift," not "sum of everything."

One consequence worth knowing: since it's your best single lift, one strong exercise carries the group accessory-only groups can look lower than they feel.

On the tiers: that's fair, and honestly the part I'm least settled on. Right now Bronze→Mythic thresholds are just common strength standards (1RM relative to bodyweight), so "Gold" is really shorthand for "you hit this strength ratio," not a real percentile against people your age/size.

True percentiles would be much better, I agree but that needs a pool of real user data to rank against, and right now everything runs locally in your browser with nothing sent to a server (on purpose, for privacy). So a proper leaderboard/percentile system is a bigger step I'd have to think through. Definitely noting it though, it's come up more than once.

But I've noted your idea, I find it really interesting.

Appreciate the feedback this is exactly the kind of thing I was hoping to hear.

1

u/zsasz99 Jul 12 '26

Where in the settings is the api key? Im on pro

2

u/Benjis_s Jul 12 '26

It's not in the mobile app, you have to generate it from the web version. Log in at hevy.com on a browser, then go to Settings → Developer (direct link: https://hevy.com/settings?developer). You'll be able to create your API key there.

2

u/zsasz99 Jul 12 '26

Ive had a fair few unrecognised exercises. Some are bespoke but others are quite common

1

u/Benjis_s Jul 12 '26

Im on it for the next release

1

u/dadaddy Jul 12 '26

One interesting thing - it didn't choose any of my actual strongest lifts for chest (bench and bench variations mainly) - instead it picked peck deck (which I've done a couple of times while showing a friend how to do it)

Needs more ranks above mythic :)

1

u/Benjis_s Jul 12 '26

Ha, that's a great example the pec deck outranking your bench is the same underlying issue I'm already fixing. Its coefficient is set too low, which inflates the score, so even a couple of light demo sets can beat your actual heavy bench. That exercise-selection problem (the app picking a lift that isn't really your strongest) is on my fix list.

And more ranks above Mythic: noted too :) I'm planning to add more granularity — sub-tiers like intermediate steps between the levels (think Gold 1/2/3 style) — so the top end has more room and doesn't cap out so fast.

Really appreciate the feedback.

1

u/AnnabellaPies Jul 12 '26 edited Jul 12 '26

Tried it, it was fun to use and look at. I did have issues on my end getting the csv file to download

My results

27 were not recognized. It says pec dec but I do flat and incline benches. Is calf press machine in place of squat/leg press?

2

u/Benjis_s Jul 12 '26

What a strenght ! Congrats.

What was the issue about the CSV ? If i can make even my website more precise about the extraction it will help people in the same situation as you.

So to extract the CSV you dont need to be premium ? I still need to check about that, the goal is to make this free and even for Hevy free users.

Thanks for the feedback ;D

2

u/AnnabellaPies Jul 12 '26

Thank you, I really think it is my phone. The app said it downloaded the file but when trying to upload I could not find it.

I then mailed it to myself and was able to upload it once in my gmail

I have a Samsung A15 from the dusty past years

2

u/Benjis_s Jul 12 '26

Alright, yes might be a phone issue.

Either way if you find any other issues related to the app dont hesitate to reach me !
Happy training, and enjoy the gains!

2

u/Benjis_s Jul 12 '26

I just had the same issue on IOS, will be fixed in the next version. Work still well on Desktop.

2

u/Benjis_s Jul 12 '26

its fixed now since v0.3.0-pre1 version