FitnessApp Update

Some years ago, I decided that I wanted a fitness app to exist that didn’t.

Meeting a weekend or two a month for over a year at the very excellent Mantra Coffee House in Azusa, my friend Tim Handley (a game designer and programmer) and I chipped away at making a Unity app that would allow me to create customizable workouts down to:

  1. Which exercises
  2. What order
  3. How many sets of each exercise
  4. How many reps in each set
  5. Detailed rep breakdown
    • Each rep with a 4-step structure: a hold at the top, negative (eccentric) movement, a hold at the bottom, a positive (concentric) movement.
  6. Rest durations between sets and exercises
  7. Runtime voice over – vocalized step cues, counts, rest timers
  8. Save/Load functionality

This was the MVP feature set for my personal use.

We got a working version of each of those implemented before work and schedules intervened and work stopped. The next time I opened the project in Unity (several years and several Unity releases later), the project wouldn’t open. Just the other day, I spent an evening with Claude debugging over 40 errors and got through them and now that the project opens, it won’t run. Alas.

BUT. I do have a working executable of the last state of the app and am sharing it here.

BE ADVISED. This is a very rough prototype. There are dozens of bodyweight exercises and just as many UI issues. Please don’t report them.

If you look at the screens below you’ll have a much better idea of what you’re looking at when you launch the executable.

You start here.

Workout Build Screen

The main screen of a workout app. There is a list of exercises on the right and an empty workout on the left. Also a start button, a save button, a load button, a new button, and a delete button.

The exercises on the right can be dragged into the exercise list on the left and rearranged. Rearranging is fiddly. Clicking on an exercise in the righthand side list will show you its default values. Any red box is a close button.

An exercise in the lefthand side of the list will belong to the Workout that you’re building when saved. When an exercise is in the list on the left, it can be customized.

Save/Load Screen

This is an image of the load screen showing a few workouts to select, HIIT, PUSH LEGS PULL, STATICS, WARMUP. The Push Legs Pull workout is selected and has Pushups, Squats, and Bodyrows in it as exercises.
  1. Workout Title, customizable (will generate a random goofy name by default)
  2. Workout List – alphabetical list of all saved workouts
  3. Save Workout Button – this will save the exercise list (7) to the current Workout (1)
  4. Load Workout Button – brings up this screen
  5. New Workout – loads a randomly generated workout titled and a blank exercise list
  6. Delete Workout Button – deletes current workout (CAUTION: there is no confirmation)
  7. Exercise List – exercises in the current Workout

Exercise Customization Screens

The exercise customization screen. There are 4 stick figure representations of a person doing a pushup with numbers for the duration of each step of the pushup. There is a button to enter the rep customization page currently shown with a clock face, a field to enter how many sets to perform for this exercise.

The default reps and step timing isn’t good for you? Select the Exercise from the workout list and customize it. From this screen you can:

  1. Set the number of reps by duration or percentage of maximum capacity (more later)
  2. See the exercise name (not customizable)
  3. Enter the number of sets
  4. Customize the duration of each step (a known visibility issue here white text on light gray bg)
  5. Customize the rest period between sets

Rep Count Customization – Duration

A screenshot of the screen where you can adjust the number of reps in a set by changing the duration or doing a percentage of maximum reps. Duration is highlighted and has a clock face icon.

If Duration is selected you pick an amount of time you’ll do this exercise for rather than number of reps.

This is handy for warmups or HIIT routines or anywhere the duration of an exercise is going to determine how many reps you can get in based on the total duration of the steps.

A 0/3/1/1 pushup has an interval of 5 seconds and so setting 30 second duration for this set would have you do 6 reps (shown).

Rep Count Customization – Percent Effort

If, however, you know how many pushups you can do and want to do a percentage of your maximum repetitions in that exercise, Percent Effort is the mode to choose.

A screenshot of the screen where you can adjust the number of reps in a set by changing the duration or doing a percentage of maximum reps. Max Reps is highlighted and has a percentage mark icon.

So, if I can do a maximum of 5 pushups and I want to do 75% of my capacity in a set, I set Max Reps to 5 and Percent Effort to 75 and that means there are 3 pushups in each set (shown).

If you want to do a fixed number of reps, enter it as your Max and set Percentage Effort to 100%.

When you go back to the main Exercise Customization screen, this image changes if you’ve selected Percent Effort mode.

Back to the exercise customization screen, but this time max reps mode is selected and shows a percentage sign.

It’s Go Time. Go back to the Workout Builder screen (remember to save) and HIT START!

Here’s where the magic happens. The Coach will now count out, time and track your sets, reps, and rest times for you.

A screenshot of the app in action. The step of the pushup that indicates lowering to the floor is highlighted and video play buttons are shown across the bottom of the screen.

If you need to pause to answer a text or want to restart a set, the video buttons work like you’d think.

The rest timer between exercises shows you the next exercise.

A counters shows 78 as part of a countdown for a rest period. Text displays "Next: Squat - Regular" as the next exercise up in the workout.

And…

A screenshot showing "Workout Complete" in red.

TADA!

Drink some water, hydration is good for you.

USE AT YOUR OWN RISK. Consult a physician before starting any exercise program. The creators of this app are not liable for any injury or damage resulting from its use. By using this app, you agree to release the developers from all liability.

Author: Karen M

Game designer and instructor.

Leave a Reply

Your email address will not be published. Required fields are marked *