Creating an Algorithm for Personalized Fitness Programming
Dave Erickson, Deep Athletics
Beginning with the principles of periodization and progressive overload that are fundamental to improving human athletic performance, and relying on the nearly two decades of experience that co-founder Aaron Adams brings as an elite athlete, personal trainer, and coach, we have created an algorithm that provides custom daily workouts tailored to each athlete. The athlete or coach provides key metrics to the algorithm such as their goals, current fitness level and abilities, and equipment and time available for training. The algorithm then builds unique daily workouts that help the athlete meet their goals with exercises they have the skills and equipment to complete.
The workouts specify weights and reps for given sets and provide recommended warm-up and cooldown work. Some give a predicted "score" (either time or reps) that the athlete should achieve based on what they've told the algorithm. An element of randomness is built into the algorithm, so no two athletes will ever receive the same long-term program. Given the significant number of variables at play, it's unlikely any two athletes would receive identical workouts. The workouts are accessed via our app, which is available on both iOS and Android devices. The app serves primarily as a delivery tool for the workouts and functions as an interface to the algorithm itself, which is deployed as a .NET DLL to a VM scaleset hosted on Azure. With MATLAB Compiler™ and MATLAB Compiler SDK™, we can build the DLL directly within MATLAB® and deploy the exact version of the algorithm that is used for our development, testing, and analysis.
You can also select a web site from the following list
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.