Workout.cool – Open-source fitness coaching platform
82 comments
·June 18, 2025surgomat
abtinf
Just out of curiosity: if the original project was open source, why did you decide to restart from scratch?
surgomat
I actually tried really hard not to
sent 15 emails over 9 months to the new owner, offering to help or even take over the repo but i had no replies.
Issues and PRs were ignored(you juste have to see the issues section of the report). Rebuilding from scratch was the only way to fix the licensing & continue the project i guess
Asraelite
So why didn't you fork it?
And what specifically were the licensing issues? workout.lol is MIT from what I can see.
abtinf
I think the missing context here is what is meant by “fix the licensing”. Both the original project and this new one are MIT, so naively there doesn’t seem to be an issue.
cAtte_
just fork it?
KPGv2
Open source just means the source code is available. It doesn't mean you can legally use it. That is, in fact, the whole point behind the most famous open source license, GPLv3: code is open source, but there are still restrictions on how you can use the code. I don't know about now (most projects I work on are MIT-licensed, these days), but there was rancor around the move from v2 to v3 because v3 was more restrictive.
bramhaag
'source available' means the source code is available. Open source comes with a whole set of guarantees [1] about free redistribution and derived works.
Copyleft licenses like the GPL come with extra guarantees that do not violate the core guarantees of open source software. Instead, they make them stronger. The 'restrictions' GPL imposes essentially boil down to this: "if you use (parts of) GPL software, you must give your users the same freedoms the GPL guarantees." GPLv3 and AGPL closed up loopholes that allowed people to bypass those clauses.
thayne
Even if it was licensed under GPL, which it isn't, forking the project to create another open source project is allowed, as long as the fork is also GPL licensed.
But in this case the original project used the MIT license, so the only requirement is that it the form includes attribution to the original project.
adobrawy
It looks promising.
I retrieve error response when fetching exercise:
0:{"a":"$@1","f":"","b":"eETmgndxtv4Ar0i8Wync1"} 1:{"serverError":"An unexpected error occurred."}
My request: curl 'https://workout.cool/' \ -H 'accept: text/x-component' \ -H 'accept-language: en-US,en;q=0.9,pl-PL;q=0.8,pl;q=0.7' \ -H 'cache-control: no-cache' \ -H 'content-type: text/plain;charset=UTF-8' \ -b 'Next-Locale=en; _fbp=fb.1.1750253718188.954698194752805529' \ -H 'next-action: 7f80b017f78704b00d2411aebde5ba8318b475de6d' \ -H 'next-router-state-tree: %5B%22%22%2C%7B%22children%22%3A%5B%5B%22locale%22%2C%22en%22%2C%22d%22%5D%2C%7B%22children%22%3A%5B%22__PAGE__%22%2C%7B%7D%2C%22%2F%22%2C%22refresh%22%5D%7D%2Cnull%2Cnull%2Ctrue%5D%7D%5D' \ -H 'origin: https://workout.cool' \ -H 'pragma: no-cache' \ -H 'priority: u=1, i' \ -H 'referer: https://workout.cool/' \ -H 'sec-ch-ua: "Google Chrome";v="137", "Chromium";v="137", "Not/A)Brand";v="24"' \ -H 'sec-ch-ua-mobile: ?1' \ -H 'sec-ch-ua-platform: "Android"' \ -H 'sec-fetch-dest: empty' \ -H 'sec-fetch-mode: cors' \ -H 'sec-fetch-site: same-origin' \ -H 'user-agent: Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Mobile Safari/537.36' \ --data-raw '[{"equipment":["PULLUP_BAR","BANDS","BODY_ONLY"],"muscles":["TRAPS","BACK","SHOULDERS","TRICEPS","FOREARMS","GLUTES","HAMSTRINGS","CALVES"],"limit":3}]'
surgomat
Thanks a lot for reporting! The traffic from HN hit hard (which I didn’t expect tbh).
I’m working on stabilizing it and will have a fix in the next minutes / hour
Appreciate you testing it out! thanks again.
mandeepj
HN Kiss of death or love :-). You are #1 on the front page now, so that was expected. Can I say the HN audience is very health-conscious? :-)
Selected a few workouts and got this error - *Error loading exercises*. I'll try again after a few hours. Congratulations on the launch!!
nickjantz
Thanks for doing this! I recently was looking at enhancing workout.lol and noticed that but was wondering what happened. I have some enhancements and think still an open PR on the original repo I will port over.
surgomat
That would be amazing
I’d love to see your ideas make it into Workout.cool!!
Let me know if you need help porting the PRs îll support and merge contributions quickly.
mariotacke
Love it! Would be cool to be able to optionally select muscle groups first, i.e. before selecting equipment. Also, seeing all available exercises for a muscle group rather than the pre-defined 3 would help tailor the experience more.
surgomat
Mhh yes that was a question.
Bcs a lot of beginners don’t know what to do with certain equipment, but they do know what they want to train.
That said, I’ll maybe make both paths easier and let users toggle between them!
PR ares welcome
davidmurdoch
Why muscles first?
pc86
You generally want to make sure you're working out specific muscles or muscle groups a certain of times each week and with a certain number of working sets, rather than "I have used $MACHINE recently so I need to do that today."
kleiba
Because the purpose of exercising is usually not to use a certain machine but to train a certain muscle (group).
atrus
I was just poking around, but how/why aren't there issues with the videos now. Sure you're just embedding youtube videos, but what's to stop them from taking that down?
Are there really no open licensed workout-movement animations out there? That sounds like a fun beginner animation project honestly.
bityard
Do we have any assurance that you won't sell it again?
surgomat
To be clear: I never owned workout.lol, I was just the main contributor.
For the sell process, like with any open-source project whether it's an NPM package or anything else, there are no absolute guarantees... that's just the nature of open ecosystems...
But I've built Workout.cool with transparency in mind, no hidden business model, and self-hostable.
Just what I can tell you is this :
I've been passionate about fitness my whole life let's say. I started sports at 3 years old, and I've been into strength training for over 15 years.
I didn't build this to make money. I built it because I genuinely care and because I see more and more people missing out on the benefits of training, often overwhelmed by complexity, closed ecosystems, or paywalled apps, including people close to me, like my sister.
Hope that my reply counts for something...
tonyhart7
wow, its great tool
has muscle selection is so much more help full than 80+% apps on app store right now
Funes-
I've always found this kind of approaches to fitness or exercise too contrived and useless. Just find exercises you enjoy and find to be effective, practice sports you like, be consistent, and that's it. Working out is one of the simplest and most straightforward things I've done in my life; I don't know how people are tying themselves up in knots over this.
Vincenius
Oh funny to see it here. I'm the original author of workout.lol.
I sold the app to a guy who seemed to just abandoned it. I also texted him multiple times if he needs support, but he didn't answer anymore. It makes me really happy to see it being maintained again!
Great work on the UI improvements.
surgomat
Ohoh ! Vincenius !!
You have no idea how happy I was when I saw your name pop up ahahha
Yeah, no luck either. It really broke my heart to see the project stall like that.
That's what pushed me to rebuild everything, keeping the same open spirit you had from day one.
Thanks a lot for the kind words about the UI it means a lot coming from you.
And if you ever feel like jumping back in (I totally get that it might be tricky, especially since you sold the original project and this one is so close) but you’d always be welcome.
Your input, ideas, or even just your presence would mean a lot !
Cheers !
minimalist
It does not appear to be working for me right now, I get "error loading exercises".
What are your thoughts about the wger project [0]? It is a FLOSS AGPL-licensed self-hosted fitness/workout/nutrition manager that has existed for almost a decade (I think?) It's a django app and has a companion flutter app that runs on android/ios/windows/linux/macos. It supports multiple users and could even be used to run a gym. Body.build [1] is a newer FLOSS project (also browser-based) that is focused around building a weight lifting program. The author of body.build also contributes to wger.
I'm using wger in my homelab and while there are a lot of moving pieces to the self-host process, it works well. I'd say the biggest limitation is the comprehensiveness of their exercise database, but that is something that many people have recognized and are steadily expanding. If anyone is willing to contribute exercises (and exercise media) to this AGPL licensed project, they would definitely appreciate it!
olliejennings
Am not sure what your data source is, but l run the following:
- https://wrkout.xyz/ (exercise database api with images and videos) - https://github.com/wrkout/exercises.json (open source exercise dataset)
If they are of any interest / help
toyetic
This is cool, as someone whose been lifting for ~5 years its nice to see a fleshed out opensource tool for weightlifting.
The main problem with any app I've tried is that after enough experience the bells and whistles of the app don't really matter and mostly what you care about is consistent tracking for progressive overload.
I think this is a good app for people who want to get started weightlifting I would say the two main things needed for wider adoption would be 1. A mobile app ( or pwa, I've made and used my own personal workout app for a while as a PWA and its been just as good as any native app I've tried) 2. A way to save specific workouts as routines and track those for long periods of time
LostMyLogin
Hesitating to write this because I don't want to push back at all on OP but I'm not sure I agree that something like this is a good option for people wanting to get started in weightlifting. I'm not sure it's a good option for anyone really. I applaud OP for the effort but this is recommending some pretty awful workouts. For example if I select back and bi, it's giving me nine different exercises with complete disregard for the order they are in or what other exercises are in the workout.
Why are compound lifts in the middle of the workout and why am I doing three different types of chin ups? There are also no reps / sets calculated nor are there 1RM percentages for weight.
Bro splits are some of the lowest quality routines you can use and this somehow makes them worse. You could replace all of this, remove the bells and whistles, and create a bare bones PPL app that determines exercises based on equipment available and it would be light years better than this.
RankingMember
Agree. IMO a simple 5x5 is going to be the better option for someone just starting out. Stronglifts is one flavor with a great app that just works and tracks all the little stuff (progression, giving you a specific rest time) and, once you plateau, you can start digging in to other options.
duxup
Were those intended to be "do it in this order" or were they just options?
I got the feeling they were more options and you could reorder them if you wanted or shuffle or just do one or another.
To me a more casual / getting started is just about doing the thing.
LostMyLogin
I'm not sure a beginner would know what order to place them in nor would they recognize the potential injury risk associated with stacking some of these exercises.
Beginners should be focusing on form and simple compound lifts. Throwing them into things like heavy accessory lifts with no regard for exercise choice or format is a quick way to get hurt. Again, I want to applaud OP for doing this. The fitness industry is in a terrible place and tools like this have a great place. I just think it needs a ton of work to make it useful. Maybe if I find some time, I'll try and contribute but in it's current state I would never recommend something like this to anyone.
_justroy
Awesome tool. Thanks for Sharing
Sander_Marechal
It would be great if the equipment and muscle selection wasn't mandatory. For example, I have a pull-up bar but I have no idea what muscles I can train with it. Why not let me filter on beginner exercises instead?
lifesaverluke
then you should choose your pull-up bar as equipment, right?
captainkrtek
This is awesome! Thanks for sharing :-)
cssanchez
I started working out without a trainer a few months ago as well as doing rehab for a nasty shoulder tear. Today I see the benefit of targeting precise muscles and muscle groups, unlike other beginners in this thread.
One feature request I'd add to the pipeline is to filter exercises available by Gym. Planet Fitness is ironically super unfriendly to beginners and limited in what they offer. People could add the exercises available at their gym and grow the database. Conversely, this could help beginner home gymmers plan what machines / weights to buy to maximize their routine.
ryanwhitney
This looks great. Yours isn't loading for me, but workout.lol looks like it'd provide the perfect level of instruction. (I'd skip the exercises/sets screen and DIY, but picking muscles and getting ideas/examples is helpful.)
One note: if you're using the same video set as workout.lol, the one that loaded for me (male_dumbbell_hammer_curl_front_ani.mp4) could be compressed from 3.3mb to <300kb with little quality loss.
surgomat
Hey, the issue is fixed.
I’m only embedding YouTube videos now, all with permission or public use from the original author.
If you’re into 3D or want to help create open assets, I’d love to chat!
stephenhandley
I don't get the pick the muscles thing almost as much as I get the open source fitness thing.
mtalantikite
I think this is geared more towards people doing bodybuilding splits, rather than fitness in general.
Personally, as someone that exercises but not for aesthetics, I think of strength training in terms of movements not muscles worked. So I'm thinking "press, pull, squat, hinge" not "chest, lats, glutes". Thinking of function and then doing fundamental compound movements just makes more sense to me, although I do sometimes need to hone in on a muscle for functional reasons -- like targeting the glute medius for opening up my kicks in my Muay Thai training.
Neither is more correct, they're just different approaches.
marcuskaz
Agree, it seems like a mismatch of features and audience.
As someone who doesn't know much about working out or what exercises to do this sounds like a good app. I need help, but picking based on muscles is off. My thought and goals are not by muscle group, but losing weight or getting more toned.
Conversely, someone who knows what muscle groups they want to target, probably already has some sense of the exercises to target and thus less likely to need the app.
dybber
For someone like me, who have had an accident (dislocated kneecap) and need to focus on special muscle groups to compensate it makes sense to search for exercises based on muscle groups.
jhaile
Interesting, although I wouldn't say that's the audience that the author says he's targeting.
Also - for most people who had accidents they'd probably rather click on "Dislocated Kneecap" and then have the software suggest exercises to help with that condition - vs needing to bring that knowledge to the app.
I was the main contributor to workout.lol, an open-source fitness app to easily build a workout routine.
The project had traction (1.4k GitHub stars, 95 forks, ~20K visits/month), but was eventually sold due to video licensing hurdles. The new owner stopped maintaining it, and the repo went abandoned.
Over the next 9 months, I sent 15 emails to try to save it : no replies. Feature requests & issues were ignored. The community was left with a "broken" tool let's say.
I couldn't just let it die So I built the new version from scratch with the same open-source spirit, but a better architecture long-term vision, more features and no license problems.
It's called : Workout.cool (https://workout.cool)
What it offers:
100% open-source, MIT-licensed
1200+ exercises (with videos, attributes, translations)
Progress tracking
Multilingual-ready
Self-hostable
I'm not doing this for money. I'm doing it because I believe in open fitness tools, and I’ve been passionate about strength training for 15+ years.
If this resonates with you, feel free to:
- Star the repo
- Share with fitness/tech friends
- Suggest features
- Contribute code/design/docs
Together, we can build the open-source fitness platform we all wanted to easily build a workout routine and get in shape
Website: https://workout.cool GitHub: https://github.com/Snouzy/workout-cool