Workout Modeling

Personal Project

Tracking and modeling workout data

May 2024

Background

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.

Prototyping

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

simulated muscle exertion using XFL Muslce Fatigue Model

App Development

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

Summary

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

JakeSnapp.com

contact@jakesnapp.com

GitHubLinkedInCodepenEmail

© 2024 Jake Snapp. All rights reserved.

Site made with React and Tailwind CSS

applogies for any bugs or incomplete sections, i'm still finishing up the site - Jake