Tracking and modeling workout data
May 2024
As part of a comprehensive personal database project, I wanted to track my workout activity to find relationships between exercise, state of mind, and general fitness. I developed a simple Progressive Web App (PWA) that submits exercise data to a MySQL server. The aim was to make the process of logging workouts quick and easy, allowing me to track strength training, cardio workouts, and skill development in sports efficiently.
After using this database for a few months, I became curious about visualizing muscle fatigue and planning future workouts. I began working on additional tables to link muscles and workouts, aiming to use current muscle soreness data to create a network of muscle dependencies for future exercises, resulting in a dynamic representation of interconnected muscular fatigue.
After working on progressive web app for a little bit, I pivoted to making an iOS app using Swift since I wanted the app to utilize iOS shortcuts and take advantage of my phone’s activity data to model fatigue for walking and running.
To visualize exercises and muscle soreness, I found a comprehensive open-source 3D model that includes every joint, muscle, vein, and bone. I ran some python scripts in Blender to reduce the complexity of the geometry so it would load better in a PWA or iOS app. With my simplified model, I created a table that maps the meshes to their corresponding muscles. I also worked on a python script based on the model ‘XFL: three compartment muscle fatigue model’ from Xia and Frey-Law.
simulated muscle exertion using XFL Muslce Fatigue Model
I have begun working on an iOS application to input and model and plan workouts using this fatigue model. Currently the application allows a user to visualize active and supporting muscles for a particular workout on a 3D model, as well as log and track their workout history. My next step is to properly build out the fatigue model within CoreData.
Project demo video
This project is still in its early stages. I have built the basic components but have yet to complete the muscle fatigue integration. The goal is to create a dynamic system that links workouts to muscles through dependency networks and differential equations, considering active, inactive, and fatigued muscles. The end goal is to create a predictive system with feedback that iteratively designs the best daily workout plan to meet specific muscle group needs without causing excessive strain.
RESOURCES
No available resources
DOWNLOADS
No available downloads
RESOURCES
No available resources
DOWNLOADS
No available downloads