Personal Workout App banner

Personal Workout App

3 devlogs
16h 52m 11s

Wanted to help myself keep track of the exercises that I do by turning the workout plan for the next 12 weeks into this web app. Now, which exercises I do, which set I am on, rest times, which days I did what exercises, etc.

This project uses AI

Used claude for CSS and sometimes for planning and debugging

Demo Repository

Loading README...

Samiul Muztaba

There was an issue with the testing for others. The days of the week that I work out were hard-coded into the app (because, well, it’s an app for me, not you 🙃). As a result, when someone tries to check this project on days that are not designated as workout days, they only see a message stating that it’s a recovery day, leaving them unclear about what that means. Also, it’s weird to say these messages(e.g, recovery day, workout day) when I haven’t even started doing workouts yet.

I’ve updated the program so that it selects workout days based on the day I start. If you check this project today and want to continue tomorrow, you’ll see a message indicating that it’s a recovery day. However, to reset the app, you’ll need to go to the console, run localStorage.clear(), and then reload the page.

Attachment
0
Samiul Muztaba

Shipped this project!

Hours: 15.3
Cookies: đŸȘ 71
Multiplier: 4.65 cookies/hr

This project is a React workout coach app designed to automate a personal 12-week bodyweight training program. It helps users track their progress, manage workout days, and keep a history of their sessions in the browser using local storage. Speaking of local storage, I probably had to spend the most time debugging on stuff related to that. I like how it turned out to be and the most important part is that it is quite helpful.

Samiul Muztaba

There were many bugs to fix (I know it sounds odd to say that, but I can’t recall all the specifics since it’s been a while; most of the issues were likely related to useEffect and formatting). Here are the features that were added:

  • Manual reps/seconds entry: Previously, there was no option for inputting reps; it only counted hard-coded reps/seconds based on the specific exercise in the dictionary. Now, users can input data through a slider.
  • Beep sound effects for timers: A sound cue has been added to signal when the next rest period ends.
  • Workout history navigation via calendar: Users can click on a date in the calendar to view the workout history for that day.

Recent fixes that I remember include:

  • Removed hard-coded fixation of the start date.
  • Corrected the issue of the logged reps setting not changing when the slider wasn’t adjusted (it would remain at 0).

(still keep in mind, I left coding for a while, so some of the things I listed were probably present before, but I thought isn’t and so are listed)

I am planning to develop an adaptive algorithm for the next version, but that probably won’t be included in this release.

Attachment
0
Samiul Muztaba

The basics and MVP of the project is done. It automates a 12-week bodyweight progression. The app manages a complex state machine to handle transitions between dynamic warm-ups, active sets with specific rest timers, and cool-downs. It includes a built-in calendar and ‘reliability’ tracker using localStorage to ensure progress persists without needing a backend(intentional, who would want to use backend for such thing..đŸ„±).

Attachment
0