New updates
Arbitrary rep counter -Exercise not listed? No problem
I had a case where a user had variations on exercises the app can't accommodate, so I added a simple rep counter which will count any movements that look similar and record the video. It can't calculate power though because the power calculation require a model of the exercise, so most of the interesting functionality is removed, but it's a stop gap till I build more advanced systems.
This was really fun to build, but hopefully useful for those that just need it to keep tabs. it's an "alpha" feature, but I'll look to build on it.
Better onboarding -Athlete type: Simpler stats for more casual training
The normal view view in the app looks like something from a lab and is hard to intuit or understand: Super useful, but overwhelming. Even I have to think "what does this mean?" when doing session analysis.
I developed a class that transforms the data into categorical data that's easier to understand for the more casual athlete. If you're already subscribed visit https://app.swiftmo.com/#/athlete-type to set the app to your prefered display.
I plan to keep improving this and the data produced in all modes, so I'd love your critique.
Calibration is optional
I made a default where the app uses population averages for calibration, which actually doesn't sacrifice much accuracy at all.
Power drop display
Depending on the user type, an emoji or a coloured circle appears detailing how the rep compares to the rest.
Metronome and "pace" bars
Because power is a product of speed and weight, the metronome helps keep reps consistent to the training goals.
Interface options
Improved bilateral detection
I had issues where perfectly synchronous movements would occasionally trigger a miss detection, fruit of a bug I accidentally coded right back at the start of the project which I was able to resolve. Now both left and right sides are completely decoupled.
Improved session saving
I'm still testing this, but before occasionally data loss would occur particularly on "stressed" mid-low end devices on a 4G connection. Now this appears mostly solved.
Improved rep detection
Finding reps perfectly would fail when a device would slow down, be it due to network toggling, heat, or low battery, basically the phone wouldn't be quick enough to infer the start of the movement. Seems mostly fixed, although this does seem to be a never ending game of whack-a-mole with the app being extremely sensitive to tuning as it runs on the limit of what's possible with a browser.
Fixed issue with selectors on iOS
On iOS selected values like reps and sets weren't being recorded, due to how Safari handles the events inside the components. It seems fixed.
Difficulty Rating: An elegant way to capture high force low power movements
A new metric that captures the difficulty of slow reps. Yes it's here, a way to quantify slow but hard movements.