Building with Jacob: Push Training’s Watch App, Workout Streaks, and Workout Ranking Algorithm
Week of 2023-10-30
Watch App Launch
I'm thrilled to say the simple yet convenient watch app has launched! This feature allows users to check their workout incline, speed, and duration quickly from their wrist.
Beyond convenience, the watch app paves the way for syncing HealthKit workout data with the generated coaching in real time, boosting the overall functionality and user experience.
Overcoming Communication Challenges between Phone and Watch
As with any innovation, there were challenges along the way, particularly around communication between the phone and the watch. After investing time in syncing the music and coaching perfectly with the workout on the phone, it was essential to ensure the phone and watch remained perfectly in sync too. Because information sent between the phone and watch can be delayed or dropped altogether, perfectly synced updates were not the default. To resolve this, I leveraged the system clocks between the two devices, relying on Apple's already perfected syncing mechanism. From there, the watch can perfectly align with the phone’s workout playback even during dropped or delayed updates between the watch and phone.
Adding Workout Count Stats to the App
Now users can see a breakdown of the workouts they've completed broken down by total workouts, workouts last month, and workouts this month. This highlights the investment a user made in their health with Push Training, inspired by the book Hooked by Nir Eyal. Highlighting the investment already exists within Push Training in the form of Total Time Pushing, but time shown in minutes can be harder for users to quantify.
Gamification with Workout Streaks
On the advice of a friend, I introduced a small element of gamification to the app. The workout stats now include a streak feature, which will eventually allow for notifications reminding users when they are about to lose their streak.
Developing a Ranking Algorithm for Workout Difficulty
I also drafted a ranking algorithm to assess workout difficulty. This immediately helped highlight outliers within the workout collection. By identifying the most difficult workouts, I was able to fine-tune them and align the difficulty better with other workouts, providing a more balanced experience for our users.
AI Integration and On-Demand Workouts
This ranking algorithm is not just for current workouts; it will also ensure the proper difficulty level in workouts created both by humans and AI. This will be crucial for on-demand workouts where I will be unable to test or review a workout before it’s given to a user.
Final Thoughts
Stay tuned for more updates and check out Push Training on the App Store. If you have any thoughts or suggestions, please do reach out!