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
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.
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!
I just tried Wget the other month and sadly can't recommend it. The UX of the website is horrible, and their mobile app is a buggy mess (at least on iOS). No matter if I wanted to start a workout, edit weights for an exercise, or browse previous session, the app kept crashing, hanging and logging me out. I am now using LiftLog which does everything that I need. FOSS too. https://github.com/LiamMorrow/LiftLog
It's interesting that fitness and weightlifting are pretty common these days, but there are so few non-commercial applications out there that are usable and well maintained. At least that's my perception after digging through dozens of Github projects.
Have you paid for the AI Planner, and if so, can you recommend it?
No. I indeed paid a human to set up a training plan and show me how to correctly execute the exercises. Highly recommend that to anybody starting with weightlifting. There's so much you can do wrong.
How did that work? Did you have to sign up to a subscription at a gym and use a personal trainer there?
I disabled the adblocker and it worked…
I got the same error.
Yes totally unexpected! It is fixed right now.
Traffic spiked and my backend rate limits kicked in too hard.
Thanks so much for trying it out
I'm still getting the same error
I'm seeing the error too as of now.
Still.
same for me >> Error loading exercises
Thanks for flagging it should be fixed now !
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
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.
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.
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.
Even without weights, you can permanently injure yourself with bad form. Bringing weights into the picture makes it much easier.
Pretty high if you don't know what you're doing with a weight that you're not strong enough to handle.
Pretty high.
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.
I also wanted to say that for people starting out keep it super simple. I wouldn't even use an app. At most a notebook or spreadsheet. Do "Starting Strength" (squats, bench, deadlift. 3 sets of 5). Start with a weight you can handle with good form, even if it's just the empty bar. When you can do that add 5 pounds at the next workout. Increasing the load is important but don't let your form break down. An app is not going to help you with form, and proper form is critical to avoiding injury, especially if you are at all older.
Honestly for beginners just building a habit of regular lifting is by far the most important thing. Progressive overload, going to failure, periodization etc won’t do much if you don’t have consistency. My advice to beginners would be to go to the gym 3 times a week and do whatever interests you for about 45 minutes. Once you have that habit nailed down for 6 months then we can talk about more advanced stuff.
Couldn't agree more about form and keeping it simple. I would note, though, that an app can help with that, e.g. the one I mentioned has videos demonstrating proper form, and what I would do when starting out is video myself from the side and compare. An app will also track progression more easily on something you naturally carry around (your phone), versus needing to remember a notebook.
Hardly anybody would recommend 5x5 these days for anyone, much less beginners.
5x5 and 3x5 are out of vogue for lots of reasons but it largely boils down to:
* Not enough volume
* Non-periodized
That first bit means different things at different phases of a lifting "career". But generally speaking "time under tension" and research into effective rep ranges has changed modern thinking on set sizes and volume.
These days people, including World's Strongest Men, tend to recommend higher rep ranges for beginners and those coming back to the gym to build work capacity and reduce risk of injury.
Community-made working plans would be a killer feature.
But I do agree with your assessment. Each exercise needs a categorization (compound, isolation), compliments (if an exercise is a push, then what are some pulls), companions (if you're working arms at the cable stack, might as well do a bunch of arm/shoulder/back cable exercises), and a est. time to perform (including warmup, setup). This will allow plans to be generated in a way that makes sense.
Though, I think community made exercise plans are a better solution than trying to devise algorithms to generate good plans. Though, an LLM integration might work well for beginners, send a prompt with a list of exercises and goals (i.e., beginner looking for a 3 day a week strength plan, build one using these 20 exercises).
My next question would be why are we trying to use algorithms to generate good plans? Good and simple plans have been around for decades that are easy to find.
Ideally, some way to export and share between different UIs.
https://json-schema.app/view/%23?url=https%3A%2F%2Fgist.gith...
Thanks a lot means a lot coming from a gym bro hehe
Btw I totally agree: once you’ve been training a while, the only thing that really matters is tracking your progress and showing up consistently (or "mental" side in my case, i do not train anymore for performances).
Good news : saving + tracking routines over time is in the roadmap.
That's why the architecture of the "workout session" is the part that is the most different from the old app.
I want users to create, reuse, share, analyse and evolve their own training blocks with minimal friction.
Would love to hear how you handled that in your own PWA sounds like we've walked similar paths :)
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
Hey actually came across wrkout.xyz a while back, really cool project!
For this, i rebuilt the entire dataset from scratch with a partner to avoid any licensing ambiguity (especially with videos), and to have full control over attributes, translations, etc.
But I absolutely love seeing other open projects in this space and I'd be happy to explore possible synergies if it can help both communities.
DMs open !
This is how you do contribution. Thank you. Everyone has ideas about fitness, but this makes it super easy to start because you already did a collection for us.
Wow, this doesn't suck at all.
The thing that's missing for me is suggestions on how much to lift / how many reps. There's a fitness program called 100 Pushups that came up with a good solution for that…
- Repeat the exercise (in this case, a push-up) as many times as possible until failure. A person might achieve 8, for example.
- The app comes up with a schedule; every other day, the user is expected to do a set of 3, 4, 3, 3, 5 (with a 2-minute rest between each set)
- The app's schedule has an algorithm that ramps up the reps at a pace that the user can manage — and self-adjusts if the schedule is too easy or too hard…
- until the user can do 100 push-ups at the 6-week period.
If there's any interest in this, I'd be open to discussing a UI and contributing.
Curious about the 100 pushups program app — do you have a particular one you like that you can share?
Edit: Followed the github issue and found the link!
If you wanted to ditch the backend, you could hook this up to AT Protocol, have all the users’ data in a PDS. No need for servers — ever — and if this project fell to a similar fate of the old one, it could keep working forever.
I love that idea. Yeah i know this app : it is a great example of how simple, adaptive progression can really motivate people (specially beginners).
And yes I'd absolutely be interested in discussing a UI + flow for a self-adjusting progression system like that. Yeah. Let's talk about that, drop me a DM? I can think about some (ugly) alhorithm first
I don't think they do DMs here? but anyway I posted on the Github issues with some thoughts on UI and basic sketch of data needs
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}]'
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.
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!!
Haha thank you! Wasn’t expecting this kind of attention so quickly tbh
The issue should be fixed RN !
Definitely feeling the HN kiss of traffic right now lol, Ii’m scaling things up and fixing the bottlenecks
Really appreciate you trying it out.
And yes seems like the HN crowd is more health-conscious than I thought. Loooove it !
Thanks again for the kind words and support!
Cool problems to have, enjoy the ride!
I ran into a handful of technical issues, which are understandable at this early stage. But on a more fundamental level, the exercise recommendation doesn't seem like it demonstrates a good knowledge of fitness program design. So I really would not recommend anyone use it to design a fitness program, at least in the current state.
It might be better to focus not on generating routines from scratch for users, but rather logging existing workouts, and importing routines/templates other people have designed. (I know you expressed interested in working on the latter in the comments here.)
Some specific issues I encountered:
1. I said that I wanted a full-ish body workout, and it recommended 33 distinct exercises for a single session. That's wildly impractical.
2. The exercise selection seems to just pick 3 random lifts (based on available equipment) for each selected muscle group and ignores the fact that many lifts hit more than one muscle group at a time. It also disregards the widely accepted notion that certain muscle groups respond better to different training volumes.
3. The selection of specific exercises seems arbitrary, recommending some that are very far out of the mainstream and with poor resistance curves.
4. It recommended exercises with equipment I do not have (I'm a home gym person - no way to exclude machines)
5. It suggests strange branded equipment (e.g., "Dynaband Shoulder Press")
6. If you go back to select different equipment, it will continue to recommend exercises with that equipment.
7. Can't delete recommended exercises, nor even add new ones.
Similar take. The UI and lift explanations are nice but the lift selections (when even available) are a bit dubious at best. In some cases, sub-optimal, in other cases out of left field.
My personal suggestion would be to populate the data base with all the standard primary/secondary lifts (bar, dumbell, machines) and let users build their own program. Maybe have an option to suggest alternatives for any given lift.
After that is done, then maybe work out routine creation, hopefully with some general input to the developer from actual trainers.
Also agree, keep the equipment simple/standard and avoid branded machines,etc.
Thanks for the honest feedback.
Yeap ! Once that foundations are stable: introduce routine creation tools, ideally shaped with input from "real" trainers and a free "marketplace" to pick any workout session / program, provided by the community.
I guess we are aligned, lol :) Thanks again !
Wow, Thanks a lot for taking the time to write this seriously. This kind of detailed feedback is incredibly valuable, especially at this early stage. Thanks !
So, yeah you're absolutely right: the exercise suggestion logic is very basic for now, and doesn't reflect proper programming principles (volume, movement patterns, recovery, compound/isolation balance, etc.). It’s more of a discovery tool than a real "smart" coach let's say. I probably need to make that clearer in the current UI.
To your specific points:
1. 33 exercises for a single session YES that's overkill, lol.
2. It currently just picks 3 per muscle group, with no upper cap or "contextual logic" let's say, and that'll change soon.
3. I'm already working to "categorize" the exercises by introducing metadata like compound/isolation, primary/secondary muscle groups, movement patterns, and tags for resistance "quality" let's say or "popularity".
4. I’m not sure I fully understood your expectation here. Do you mean you'd like to explicitly exclude certain machines or "types" of equipment, even if others are selected? (e.g. : "I have dumbbells and a pull-up bar, but please exclude all cable or machine-based exercises"). If so, that makes total sense. I'd love to clarify and improve that part of the UI. Thanks.
5. OK
6. Changing equipment doesn’t fully update the list : bug confirmed, I'll fix that. (For the moment yes you have to do it 2 time - render problem).
7. It's high on roadmap. You'll be able to fully edit your routine very soon.
Really appreciate the critique. No ego here I want this to be useful and respectful of good training principles. If you're ever up for helping shape that direction (even just high-level ideas), I'd love your input, what do you say?
Would be cool to see some sort of difficulty/strength setting as I'm definitely not able to do handstand push ups to train my shoulders. ;)
Interesting timing, Stronger By Science have just made their programme bundle free for every body: https://www.strongerbyscience.com/program-bundle/
Maybe making use of these could solve the exercise selection and programming issues in the app?
Awesome move from Stronger By Science
That said, they're mostly full training programs i guess, while what Workout.cool or the old Workout.lol project needs is more at the "individual exercise level" let's say. Videos, metadata, structure, etc.
If they ever open-source a library of exercise videos with clear licensing, that could definitely help yep
But I think that's my major issue with the app as I understand it.
Starting by choosing which muscle to work is a really odd choice. If you're novice enough that you don't know which movements to choose then you're also likely to not know which are the most effective muscles to target for your goals.
Then the app gives you a bunch of exercises to target that one muscle, but doesn't tell you which other muscles the exercise also targets. Or any clues on suitable weights or rep ranges, never mind progression. It also seems it's suggesting doing all the suggested movements. I picked barbell and pecs and it gave me three exercises. Then, even more weirdly, I came in again to write this comment and selecting the same options it gave me a different set of three exercises. First time around it didn't even suggest barbell bench press - the most obvious and common exercises for that muscle and equipment. That's all really confusing and un-obvious.
Being able to pick a template programme and tweak from there seems a much friendlier way of getting started.
I suggest https://www.reddit.com/r/bodyweightfitness/wiki/kb/recommend... , they also have a spreadsheet to track sessions.
Thanks for the suggestion, yeap their resources are definitely solid for beginners
That said, I'm not sure how directly it would help in the context of Workout.cool, can you provide more context ?
Maybe when adding structured training plans? is that the kind of use case you had in mind?
Would love to hear how you think it could fit! Thanks
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?
Mh yeah i didn't expect that but it shows that the current flow assumes a bit too much knowledge up front, I"ve heard similar feedback from others.
I'm already planning to make the filters optional, and add things like "beginner-friendly", "popular exercises", "calisthetics", ...
Thanks for pointing it out
This is the number one complaint I have with all of these solutions (and my tone here is friendly, not irritated): they assume you're already far along your fitness journey. Watching Apple's iOS updates talk about AI coaches to "help ensure you stay in your max results zone" or whatever ... my dude, that person doesn't need an AI coach. That person is already optimizing by fractions of a performance percentage point. People need, and benefit from, tools and coaching when they're starting from zero.
> that person doesn't need an AI coach. That person is already optimizing by fractions of a performance percentage point.
But that is the person who will use and pay for the app. If spending $100 will get them a training plan that is 0.01% better they will do it. Couch potatoes know they need to change, but they probably won't pay for a app (if they do they won't use it).
> "ensure you stay in your max results zone"
lol true
Tbh that's exactly the gap Im trying to fill with Workout.cool. After reading all the feedback here (including yours), I've realized we need to make things even simpler and more beginner-friendly.
not some hyper-optimized tracker, but yeah a simple, open, and welcoming entry point into strength training. Got it. It's faaaar from perfect yet, but it's made with that intention at heart. Trust me !
Thanks again for your feedback mate.
then you should choose your pull-up bar as equipment, right?
A pull up bar is the first thing you should get since it can target muscles that are hard to do any other way. For most other muscles you can find some other way to strengthen them just using body weight exercises.
For most people a pull up bar plus body weight exercises will get them everything they want: enough fitness for good health. If you want to win competitions you need the right equipment (different competitions need different equipment).
In my specific case, yes. But you could also flip it around. Maybe select some muscles and not select any equipment. They you can see what kind of equipment you might want to buy.
Liftosaur is an interesting project in this space that I use for tracking my weight lifting. The lifting routine is programmable and shareable. They have a database of exercises that are based around linking to YouTube videos.
Thanks for sharing. I actually didn't know about Liftosaur before, but I just checked it out and I love their UI! Super clean and well thought out.
Definitely going to keep it in mind.
Thanks for the discovery
[dead]
Love seeing open-source takes on things like this. Curious how you’re handling progress tracking over time are you storing data locally or syncing with a backend?
I don't get the pick the muscles thing almost as much as I get the open source fitness thing.
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.
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.
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.
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.
great feedback and I agree that (i forgot tbh..) most beginners don't think in muscle groups, but in goals like "lose weight" "feel better", "beginner friendly", etc...
The goal is to make the app more welcoming by offering goal-based (or filters,let's see) entry points like "fat loss" "beginner full-body" or "3x/week routine" and not require anatomy knowledge to get started.
The muscle filter will just be one of many ways to browse, not a gatekeeper i guess. Thanks a lot for highlighting this!
As a fitness newbie, my first and most immediate feedback is confusion at the otherwise delightful muscle selection interface, which seems to be required during onboarding before I can see what the product does. I'm loosely aware of "push", "pull" and "leg" groupings, but I'm not personally familiar with what specific muscles each routine is actually meant to target.
This seems to mean the app is currently only meant for those who want to seriously study their anatomy. Would it be possible to ease a novice into things more gently somehow? Perhaps with recommended muscle groups?
Thanks so much for this feedback
The current onboarding assumes a bit too much knowledge up front (didn't expect that).
Bcs yeah, most beginners don’t think in terms of "rear delts" or "lats" they just want to "get stronger", feel better i guess
I'll be adding:
Optional muscle selection (or skipping it entirely)
Beginner-friendly presets like "Full Body", "Upper Body", etc.
OR suggested muscle groups with labels like "Chest + Triceps (Push)" / back-biceps... etc.
The goal is definitely not to make you study anatomy before you can get started lol and your feedback helps to build a smoother, more welcoming flow
Thanks again for that ! And welcome to the fitness journey! Hope to see you soon
push and pull i can understand struggling on, but if you don't know legs that's kinda on you
Some of the other comments have identified the priority of proper form when lifting… are there any accurate and effective computer vision solutions for checking correct lifting form and posture throughout different types of moves? Preferably open source and deployable with off the shelf consumer hardware.
The login seems broken. I always get "Invalid credentials or account does not exist", even after password reset.
Thanks for flagging that and sorry you're running into login issue mate.
That error can sometimes appear even after a password reset due to a session mismatch (I'm working on improving that flow this afternoon).
In the meantime, you can try logging in with Google? it should work smoothly and skip the password altogether...
I like the youtube videos, how each exercise is highlighting the engaged muscles. Would like to see the whole list (searchable) of exercises for quicker access.
Glad you liked the videos
And yes, you're totally right: having a searchable, complete list of exercises is something. We are working on it. The current experience is a bit too "filter-dependent" let's say and I want to make exploration more "flexible".
Thanks for the feedback it's definitely coming soon!
Incredible! Would like to see workout animations without having to watch a YouTube video though. Is there no currently existing free library?
M'yeah... having clean, native workout animations would make the experience muchhhh smoother.
Right now, the videos are embedded from a partner app that kindly gave me permission to use them for this open-source project. I really wanted to avoid any gray areas around licensing or scraping/unapproved reuse.
The challenge is this: producing quality 3D exercise animations is very expensive often €10–20 per animation let's say, or thousands per month via "proper/serious" APIs. That's part of why it's so hard for open-source fitness tools to offer the same polish as commercial apps.
That said, I'd love (will?) to help kickstart a community-driven, open-licensed library of movement animations long-term something reusable by anyone building fitness tools. it's a REAL need.
Appreciate you bringing it
"Error loading exercises". Are you getting hackernewsed?
Just ran into the same issue. The start of the flow certainly looked interesting. Too bas I couldn't get further along. I'll try to look at it again later.
same
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.
Why muscles first?
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."
I only have dumbbells, so selecting the equipment first is actually ideal for me
Yeah, that's what the feature is for, not "what equipment do I want to use".
Because the purpose of exercising is usually not to use a certain machine but to train a certain muscle (group).
The feature is definitely not meant to serve as option for what you want to use, but what you can use. You could use it that way, of course, but that's not what it's there for.
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
If you'd like to chat, ask questions, suggest features or just hang out with other fitness & dev folks
we’ve just opened a small Discord server: https://discord.gg/NtrsUBuHUB feel free to join!
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.
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.
I don't want to track any of this myself. I want to walk into a gym, have some cameras follow me around, and have it analyze what I did while I was there, including statistics over time.
Wow I really do not want this…cameras to track you in a gym? What kind of dystopia is that?
To be fair, the cameras are already there. This would just make them more useful I guess?
Well if I had to do this, I'd build the whole system just procrastinating walking into the gym :P
I was interested in making an open-source version of strava, so along the same lines. I hate how strava blocks so many features if you don't pay. The idea was to make a lichess to strava's chess.com.
I'm just not sure if there are people who would want to work on such a thing, though. I built a few pieces, but kind of got stalled out.
I love that idea making a "Lichess for Strava" lol.
I totally relate to your frustration so many basic features are paywalled on Strava (i paid...lol) and there's real room for a community-driven, open alternative. Can't encourage you more to continue !
I felt the same way when starting Workout.cool. On the old app, I realized a lot of people want open, transparent tools in the fitness (bodybuilding / weightlifting specially) space.
If you ever feel like picking it back up or want to brainstorm how pieces of what you built could plug into something broader I'd be super happy to chat?
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.
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!
This is great! I've been looking for an alternative to Strong, since it has a limit on the number of workout templates that you can have in the free version (and $100+ for such a simple app feels excessive).
I added a link to my home screen to make it feel like an app and I'll give it a go for a week to see how it goes.
Really appreciate you giving it a shot!
Adding it to your home screen is exactly the right move ahah i've done the same
Would love to hear your thoughts after a week of usage feel free to drop feedback anytime, i will add a button in the topbar called "Feedback" by the end of the week.
Thanks !
Ironically I made something just like this 2 years ago, but much less sophisticated and pretty.
If you want any help or to collab on future iterations please shoot me an email.
https://compute.rorwashere.com/
cheers@rorwashere.com
Awesome, love seeing others exploring the same health/dev space!
FYI your link is bringing me to a Typeform (?) feel free to resend a link
For collaborating, yes i'd be up or even just bounce around ideas for future iterations.
I’ll shoot you an email soon so we can chat more
Would love to collaborate. In the meantime PRs are always welcome if you ever feel like contributing directly :D
Cheers!
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.
The videos currently embedded are "watermarked" and come from a partner app that granted permission to use them for this open-source project.
I wanted to make sure everything is legally safe and not just scraped or reused without rights.
Producing proper 3D exercise videos is actually VERY expensive we’re talking €10–20 per animation, or thousands of euros per month if you go through a good/high quality API provider. That’s why it's such a tough space for open-source tools to compete in.
Long-term, I'd love to help build a community-driven, open-licensed library of movement animations but until then, this partnership was the best balance between cost, legality, and quality.
Thanks for raising it
Damn, I made an app to track gym progress back in college; I've made a deal with the gym owner so I could workout for free. I hoped one day to polish it up and release it to the public.
Mine had some good features, like the ability to share your protocol with other people
Awesome would love to see this app!
The idea of sharing your protocol (or full workout templates) is something I'm definitly building into Workout.cool as well. Users will be able to create routines, save them, and share them publicly (or privately) super useful for friends, coaches, or even just "community inspiration"?.
If you ever feel like revisiting your old project or contributing some ideas/features, I'd love to hear more!
mine was a php mysql backend with a js spa running on the browser. back then I got a cheap server to host everything, but once the app (pwa) was installed there were only a handfull of requests per user.
my idea was to actually have a centralized backend and distribute the app. I need to take a look at the source code for that project...
Thanks for sharing -- I'm a personal trainer and will give this a shot. Is there any plan to allow users to create workouts to share (or does it already and I haven't discovered it yet?)?, or API integration with common platforms like Strava, Garmin Connect, Healthkit, Google Fit, Coros, etc?
Thanks to you ,really cool to have a personal trainer trying it out.
Yes, sharing workouts is on the roadmap. Users will be able to create routines, save them, and share them with others (even with public links) as the previous workout-lol project.
As for API integrations (Strava, Garmin, HealthKit, etc.) definitely something I’m open to.
Curious to know : what kind of data would you want to sync or pull in? Workouts? Step counts? Heart rate zones?
For your reference, Medbridge is one of the leading players in this market, for trainers creating prescribed programs for their clients/patients. The mobile app does everything you've created so far, but adds a governance and analytics layers for the trainer to specify sets and reps, track weights, and for the client to assess their rpe/comments/feedback.
Think of it similar to the Strong app, but aimed at trainers/PTs.
I like the idea of some of these every day basic information type things having nice free sites.
yup, glad it resonates with you :)
wow, its great tool
has muscle selection is so much more help full than 80+% apps on app store right now
Does that mean that i got to do a mobile app? Do you think its worth it ?
It could potentially help with discoverability. As it stands, I’d imagine it takes a very particular sort of search query (either “open source fitness” in Google or “fitness” on GitHub) to have a chance at finding this. Unless your target audience is only the intersection of FOSS-advocates and fitness folks, you might be limiting adoption.
With that said, the website works just fine on my phone.
Amazing! For the muscle group selector, could it have an option for things like 'full body', 'core', etc?
Curious on the design decision to have a server backend, instead of just offloading everything to the client to avoid the hug of death issue and server costs.
Great question i definitely considered going fully client-side at first to avoid backend costs and "risks" lets say.
I choose to keep a server backend for a few key reasons:
- Centralized updates to the exercise database (videos, translations, attributes) without shipping a new frontend each time. (The goal is to have 5 to 10 new exercices per week)
- The ability to offer shared features like community workouts, saved routines, and (eventually) syncing across devices, etC...
Room to grow into more advanced features like progression tracking, public/privates APIs (strava, garmin, ...), and integrations all of which are much harder to manage purely client-side in my humble opinion.
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.
Thanks for sharing your experience I’m glad to hear you're finding value in understanding muscle targeting.
Bcs It's true that most beginners tend to think in terms of "full body" or "upper body" rather than doing a structured split let's say. They don’t usually say "I want to train my posterior deltoids and lats" lol
I love the idea of filtering exercises by gym type or gym but can be hard to handle for "private" gyms and will also need some kind of moderation... Could work for large branded gyms though.
If I were to want to experiment with my own gym app idea, would I be able to license the data set?
Are you speaking about videos ? If yes, it comes from a partnership, and while it's allowed for use within this open-source project, it’s not automatically "sublicensable" let's say.
That said, if you’re interested, you can either:
Reach out directly to the partner for permission, or
Let me know more about your project idea, and I'd be happy to introduce you or ask on your behalf to see what's possible.
It looks promising. I retrieve some error response when fetching exercise, will check again
Fuck yeah us nerds are working out, the bullies are so cooked
Ahahah hell yeah! Nerds with routines, spreadsheets and gains let's keep pushing both code and plates
Honestly, I think it's also tied to growing awareness around how much time we all spend sitting. Yesterday i was sitting 19h.
More devs and tech folks are realizing that staying active is kind of essential if we want to feel good and stay "sharp" long-term let's say.
I guess Sign in with Apple costs money compared to Sign in with Google, right?
Technically sign in with Apple doesn't cost money (directly) it's free to implement
But you do need to have an active Apple Developer account (which is $99/year) to set it up and maintain it.
Tried to register.
Error: window.fbq is not a function
possible to use sqlite for simplicity? really need postgresql ?
not "really" let's say but we chose PostgreSQL mainly for scalability and flexibility long-term.
Features like JSONB, advanced filtering, full-text search, and complex joins are key to how we handle (-exercises specifically- but also user data, and routines in the future)
That said, I totally get the appeal of SQLite for quick local setups. I might add an experimental SQLite mode in the future for simple and/or personal use cases but for now, PostgreSQL is required to support the full feature set
Appreciate the interest (and open to suggestions on making setup smoother) :D
Cheers
This is awesome! Thanks for sharing :-)
Thanks mate.
Got an error immediately.
Uh, sorry about that we got hit with a "surge of traffic" let's say (earlier).
It should be back to normal now! Mind giving it another try é_è?
Keep me posted !
Wow! You're a legend! Thank you!
Thanks for your comment !
Awesome tool. Thanks for Sharing
Thanks to you for testing the app !
Got an error when trying to build a workout. Looks useful though! When I travel I only have bands if there are no local gyms offering reasonable prices, and doing the same 3 workouts gets boring
One thing that would be super nice, make the back button and forward button work. Its really tempting to want to hit the back button when you select equipment, click next, and realized you missed one.
The error should be fixed, thanks for the screenshot mate. As a digital nomad, i totally hear you on the traveling with bands situation and yeah, repeating the same 3 workouts gets old reeeeally fast.
One of the goals with Workout.cool is to offer more "variety" and inspiration let's say. Planning to add 5 to 10 exercices per week.
I struggle to see the point of most fitness apps.
Fitness really is a solved problem. The fitness apps and influencers will try to convince you that you need a whole database of “creative” and new exercises to see progress, making it seem like there’s “secrets” to getting the body you want fast.
There are no secrets. The truth is, you just have to do the same dozen or so “boring” exercises that everyone already knows. But you have to do them consistently, and you have to increase their difficulty over time. And then make sure you eat right.
A lot of coaching should just be on getting the numbers right and correcting your form. But once you learn how to get that right, you can pretty much be on your own, and fitness apps become little more than a place for you to track progress, if you even care about tracking progress. Progress will happen whether you track it or not, you can just go by feel.
The boring exercises too were once novel but you're right in that continued progression is the most important thing. However, you can't improve what you don't measure.
error loading now, 4:40PST thanks. :-)
thank you
You're very welcome mate:)
Make it a desktop app also, not just mobile
"Error loading exercises" on what should be a simple SQL where query? and no way to retry the selection without refreshing the page.
Yeap,was due to some backend rate limiting issues (got unexpectedly HN'd lol), but should be fixed ! Thanks for calling it out !
I count calories and use chatGPT to do so by taking pics of my meals / what I eat.
I'm looking forward to Meta adding this feature to their Ray Ban smartglasses so the glasses automagically count my calories each time it sees food on my plate or going into my mouth. A feature they possibly should make optional, but for me who has prescription Metas it would be a big time saver (try to eat 1500 to 2000 calories a day and burn 250 to 500 in exercise). I think the knowledge of how many calories you consume done automagically would prompt 1/4 of people thinking and or on Ozempic to not do it.
You know counting calories by taking a picture literally doesn't work right? In fact, I'd argue it's one of the best examples of when an LLM confidently feeds you misinformation. An obvious example, a chicken breast fried in oil and a chicken breast air fried look identical, yet the oil fried one would have 3-4x the calories at least. Don't take my work for it though - this was just on HN the other day: https://news.ycombinator.com/item?id=44220135
I agree in principle, but I'll say that the number of calories are likely not 3-4x. The 3-4x number is for deep frying chicken. You usually don't do that if you aren't also breading the chicken.
A pan-fried chicken with a little oil in the pan to avoid sticking/make better thermal contact will add calories but not 3-4x more. You're likely using about 1 tbsp of oil which is around 100 kcal. 100g of chicken has around 160 kcal. Even assuming all the oil ends up on the chicken (it isn't) that's ~2x the calories at most.
Perspective wise, though, it'll by the white rice or mashed potatos that are more problematic in terms of calories. Both have a load of calories and can't be eyeballed by camera. It's all about the weight for those. And if you threw in butter/oil, even harder to know what the actual calories are.
Even a little bit of variation in the amount of calories consumed vs detected by AI will be the difference between gaining or losing weight. Also, since fats are the most dense calorie wise (9 per gram), and also hardest to detect by AI as fats are usually transparent (oil), it's even harder to get a remotely accurate measurement of calories.
Not if you eat out at well known healthy chains they already have their nutrition details on their sites that AI pulls from.
What happens if you give it that context though? Or prompt it to search the web for comparable meals?
At that point I just have to ask what the AI is actually doing for you?
I can just hit a search engine and say "number of calories in X" and get a precise answer with 2 seconds of calculator math.
If I have to take a picture, send it to ai, but then amend it with "This is air fried chicken, it weighs x, it's a breast cut. I didn't add salt."
Why do all that when a single search will give me the answer I want without the picture upload or context?
I agree but with smart glasses doing it for you i feel it's a whole different experience and utility.
Well i eat out almost always at healthy-ish chains (Cava, Panera, etc) so GPT gets the calories directly from each chains website. As for food prepared in regular restaurants I use it the same and its not precise but close same with home cooked meals per my testing the data.
Overall I am a bit obsessed but not that obsessed to the point it needs to be exact on-point precise.. just give me an idea of where my calorie count stands for anytime of the day. Just be way better if it was done auto-magically and Im betting this will be a good future use that gets people excited for smart glasses one of many upcoming innovations with them.
Looks a lot like https://workout.lol/
It reminded me a lot of https://musclewiki.com/ (or vice versa).
Ah I see he mentions this
Do we have any assurance that you won't sell it again?
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...
Just out of curiosity: if the original project was open source, why did you decide to restart from scratch?
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
So why didn't you fork it?
And what specifically were the licensing issues? workout.lol is MIT from what I can see.
the code was indeed MIT.
The licensing issue I referred to was about the videos: many of them came from paid/licensed sources
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.
just fork it?
the original project was built in javascript with a NoSQL backend (mongo).
I wanted to move to a more "new", (robust?) and maintainable stack with TypeScript and a SQL-based backend (PostgreSQL)
This makes a lot more sense and sounds like a good move for the overall health of the project.
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.
'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.
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.
[dead]
[dead]
Is this not just more AI slop? Why is anyone commenting or voint it up?
Mh no in this case, just... me. I posted this before going out to grab dinner with my sister, and honestly didn't expect any of this traction. Came back to dozens of comments, stars, traffic spikes, app down... lol
How do you even come to that conclusion? There's nothing on that page that screams "AI slop" to me.
The readme and the emojis seem heavily AI.
I hope people come to realize that this kind of stuff is a major turn-off right out of the gate.
Could be, I've seen a weird trend of using AI to write content when it doesn't make sense. Sure, using it to write a blog post about a topic is "slop" but I can see arguments for it. Using it to improve thoughts you have in your head, by making up details and add emojis however, I can't understand.
For example as a heavy FB Market place user I see a lot of stuff like:
[picture of an iPhone 12]
- iphone 14 - new battery - delivers to [enter your state here] - comes with [enter accessories it comes with]
Like they were too lazy to even fill in the brackets or ensure some level of accuracy. What's the point?
That's a problem that was solved in the 1980s with the introduction of "mail merge" functionality in word processors. Using an LLM to do this is like using a sledgehammer to swat a fly.
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 !
yo @dang, a section on HN for missed-tech-connections would be RAAAAAAAAAD
What do you have in mind?
That would be interesting to see. Kinda like a tell-hn, but for old/abandoned projects? I've worked on a few of those internal projects (such as time-traveling vector db for ML tools back in '19), and stuff like that.
Dunno how useful it would actually be, but an interesting thought.
This is SO COOL!!!
I’ve been working on an automated calendar scheduling api that integrates with Apple CalDAV (iCal) that lets you schedule your life around goals (it uses Google OrTools to solve a great big CP-SAT constraint model blazing fast, a year in under 5 seconds), along with meal planning around macro goals. I knew I wanted to integrate a workout/training plan system but had no idea what component I’d end up using.
Now I know! Thanks for building this project.
Thanks mate.
I'd love to hear more about your setup and if Workout.cool can fit as a "component" let's say? in your system, that's exactly the kind of use case I built it for. Open, hackable, and easy to plug into more powerful workflows. GG !
So… someone in the industry bought it hoping to stop a free alternative from getting popular? Wonder what will happen to this one
I don't think that the guy who bought it was from the industry. In our talks, he really seemed interested in growing the project - but maybe I'm just naive.
If he really wanted to stop the project, he should've put the repository on private and put down the website, but he just left everything the same as it was.
From what I can see this is AI generated, and it doesn't work when you press continue.
I think the servers can’t handle the high traffic from HN, you can clone the repo and run your own
Yeah, HN hit hard earlier lol, we are now on the 2nd place so things should start calming down now (or no, lol), btw the app is already back up and running normally again!
Sorry for that
database*
lmao