CrossFit tracking app but... you're in control?
As I was working on PRzilla β an app to track WOD scores, fitness skills and standards, I quickly realized that I needed a way to log new sessions without constantly doing a clunky, manual SugarWOD / Strong app export/import.
There was really no way around it β I had to build a "workout tracker" π
The thing about most CrossFit tracking apps β SugarWOD, Wodify, PushPress β is that they're focused around gym programming. This makes sense since community is at a core of CrossFit's methodology. You sign up to the gym, attend classes, and never have to worry about what to work on, the workouts just appear in your app.
On the end of the spectrum there are apps like Strong and Hevy which are geared towards traditional strength training. They're your classic workout trackers for individuals walking into the gym, hitting 3x10 bench press and 3x15 tricep extensions because they saw it in a Men's Health magazine.

I come from the "left", which I did for many years, using Strong app since 2018 (and Fitocracy before that⦠RIP). Then I started doing more CrossFit-style workouts and I'm now signed up to a box that uses SugarWOD. Couple times a week I join the classes if they look fun or include something I want to work on or⦠I simply want to workout with friends.
As such, I'm often somewhere in the middle: I want to be able to come to the gym on Monday and log my own workout of, say, 10x3 ring muscle-up practice and 5k row that I do in between RMU's, followed by a WOD like 15min AMRAP of 1,2,3,β¦ shuttle sprints and wall walks. And I want to come to the class on Tue and log whatever SWOD, WOD, and other things they're doing.
Now here's the crazy part β there seems to be a bizarrely large separation between these two camps. PushPress, Wodify, and SugarWOD all make it really hard to log individual movements. You're either doing Fran (and logging your score) or you're shit out of luck. Wodify and PushPress are the most restrictive β you can't even use them without a gym subscription. I get it, their business model revolves around gyms paying fees that depend on number of users. SugarWOD is a bit more relaxed in that you can switch between gyms (as long as you know their invite code).
All 3 support custom logging but it's incredibly limiting and is always tucked away behind multiple menus. This use-case isn't what they're optimizing for.
Here's Wodify help docs showing 5 step (!) process on how to log 2 sets of muscle-ups for the day.


In SugarWOD, you need to click into "More" β "Logbook" β "Log a workout", then chose from a limited list of weightlifting, endurance, or gymnastics. When I say limited, it means you can't even log 10x3 of RMU (it mostly has "max reps" wods).
One exception to the rule is BTWB app that's often considered the golden standard for CrossFit tracking. That's why I put it closer to the middle in my diagram. It allows you to log individual movements as well as any WOD β custom or canonical β and it doesn't lock you into a specific affiliate.
But while its "New workout" starts off nicely with "Single Movement" (this is your classic Hevy/Strong logging) vs. "Multiple Movements" (this is your classic WOD), it quickly transforms into a clunky UI that resembles a cockpit of an airplane, drowning you in a myriad of options that are frustrating to comb through:

I got to the gym and I have no plan. I decide to start with some light snatchesβ¦ just give me a quick way to start adding the sets. With Strong, it takes exactly 2 seconds and 3 clicks: "Start an Empty Workout" β "Add Exercises" β Type "Sna" β "Add" and you're all set.

If I want to then make those sets into a WOD, perhaps there should just be a way to do that. And if instead of an individual movement I want to throw in a quick WOD next, after my untimed practice, perhaps there should just be a quick option for that; and this is where I'd chose from AMRAP, For Time, For Load, EMOM, etc.
BTWB is close but is not quite that perfect best-of-both-worlds app.
"But why" and long-term tracking
Wodify docs on how to add custom workouts list some great examples for why you'd even want to log them:

I'll add few more:
What if I'm injured and can't do today's programming?
What if I simply don't like today's programming?
What if I feel kinda off today and just want to get on a bike and do some light cardio?
What if I'm trying to get better at something so I'm substituting today's programming or supplementing it?
What if I completely switch to another affiliate programming because it serves me better?
What if I stopped coming to an affiliate and switched to a home gym? Or moved to another city or country?
BTWB is the best of all evils here, if you can get past their awkward UX. But all the other apps are simply not great options for long-term CrossFit tracking. Most importantly, it's important to be in control of your data: WOD performance and all the individual movement history.
An ideal app should allow to:
Log individual movements aka Strong/Hevy; plain sets-and-reps/time/distance, quick and easy.
Log a score for a canonical WOD (Fran, Murph, Open 21.4, etc.)
Log a score for a custom WOD (whatever you came up with β AMRAP, For Time, For Load, EMOM, etc.)
Subscribe to any box, see their programming, log their WOD's as part of your own data! This is really just 2 or 3 but the WODs (canonical or custom) are provided by the gym.
Bonus points if you can specify exactly how you scaled a WOD so that the data can be analyzed programmatically. Adding "25# db" in notes doesn't count since we can't really measure your progress and your effort!
PRzilla as a hybrid workout tracker
After couple months, I'm now pretty satisfied with the workout tracker in PRzilla. I've been using it exclusively for a few weeks and have gotten to the point where I no longer need to use any other app.

I've learned that building "simple" workout tracker isn't as trivial as I thought π Despite engineering for 20 years I still grossly underestimate complexity of systems. The hardest task was figuring out active/draft vs. completed sessions as well as various constraints: there could only be 1 draft at a time, there could only be 1 workout session per day, etc.
Then there're hidden things like ranking movements in a search list so you get most relevant show up at the top. It's what separates good UX from the great one. I also use supersets almost daily so I came up with a UX to link cards together via drag and drop β something I haven't seen in other apps.
The best part about building your own app is that you control an entire experience and can "easily" implement any features you need. E.g. one idea I have is to show inline insights about workout sessions after you've done them: total volume lifted or distance ran, relative effort (based on your 1RM), milestones ("you've just reached 1000 miles cycled this year" or "this is your 2nd best consecutive ring muscle-up set"), etc. This could be shown every time you log a workout.
I can now also easily create goals and display them as progress bars. Perhaps you're working towards a 300lb bench press: we can show your progress easily. Or maybe you're working on reaching 100 muscle-up sessions this year: we can show that as well.
The things I haven't added that exist in Strong/Hevy that I might consider in the future:
Movement reordering (easy to add but it needs to work well with supersets)
Rest time between sets
Template-like logging; i.e. adding set in UI is not the same as completing it
Stay tuned on the future developments and drop me a note if you're using it and have feedback (or would like to have all of your SugarWOD data imported).
Did you like this? Donations are welcome
comments powered by Disqus