Workout Tracker App
The Concept
-
As part of the whole “working in public” thing, a few weeks ago I started working on an exercise notes/tracker app that will track links to reference material (typically a YouTube video that shows how to do an exercise), notes, and also help me keep track of RPE numbers over time. The goal being that if I’m given something like “3 sets, 10 reps, RPE 8”, I can tell what my most recent weight choices would have been for that exercise and adjust up or down to try to pick the right one. I don’t necessarily need to go full Quantified Self for this data, but I can see that there would be some benefit to tracking some of this data over time just for my own comparison.
-
I’m starting off super simple with this being more of a “digital scribble pad” for me to jot down some notes that I can easily recall for later. I could probably do this in Notion or some note-taking/spreadsheet tool fairly easily, but over time I may want to expand this with actual calculations, or full tracking/reporting (eg. dump out a post-workout summary I can send to my trainer). All of this is sort of driven by trying to minimize time spent on “friction” around the workouts so that I can hopefully fit them in to fixed time slots like a lunch hour and just jump in and go.
Tech Choices
- From a tech perspective, this isn’t too complicated. I need a UI, ideally responsive, to allow for data entry. Since I am a total front end noob, I just started coding it in HTML, CSS, and Javascript with no frameworks, then decided to throw in Bootstrap to make it look more reasonable. So far this is working fairly well, with the assumption that I’m only going to have a couple of pages and maybe not even auth if it runs locally.
- For the backend, I’m just sticking with .NET for now and trying their Minimal APIs thing, which does cut down the boilerplate to almost nothing.
- In terms of persistence/database, I haven’t chosen what I want to do yet. I’m trying to keep this as simple as possible and if I host it locally, I could just store everything in files. Otherwise, I’d need some kind of database. A document DB (like Mongo) is likely the the way I would go for this because each exercise could be stored as its own document with the reference material and running records for RPE tracking. With the small amount of data and request traffic I’d be working with, I don’t feel like there’s much need to worry about performance or scaling up front.
- Auth. Maybe? Not sure if I want to bother with this.
Meta
- The biggest challenge I’ve felt so far with making a basic CRUD app as a side project like this is that it can be difficult to find the energy for it when you try to cram it into the margins after doing a full day of work. Maybe I’m just not drinking enough caffeine and blasting enough techno into my ears to keep myself focused on it. But in the end, the point of this app/tool/thing isn’t to change the world or anything grandiose like that. The point is to make something useful for myself that addresses the exact needs that I have.