Inspiration

We are all runners. We have all experience running suboptimal runs which lead us to getting injured or not having gains. We want an application which can tell us what exactly to run, including the pace and the route, so that we have a lower chance of injury but higher chance of making improvement.

What it does

It takes your past Strava activities to determine what pace and route you should run today. It takes into account multiple factors like baseline pace, calculated fatigue levels, and distances. If a runner is deemed to have high levels of fatigue it will give a lower stress run, and if the runner has low levels of fatigue it will give a higher stress run. Once the distance and pace of the run is determined, it will create a route using many factors such as surface impact, obstacles, distance.

How we built it

We used python to deliver our application. We have a baseline model which is useful for people who do not have many Strava Activities, but as a person get more and more activities in, we use this data to personalize the model and thus personalize the results of the runner.

Challenges we ran into

We had to develop many models to calculate variables such a baseline pace, fatigue, stress, and other factors needed to provide the next run's information. Developing an algorithm for generating the route proved difficult due to state explosion of the number of possible routes. Even now, it can take minutes to generate a route for longer distances.

Dataset

We used generic runners activities to train a baseline model. We then use the user's personal activities to train the baseline model into a personalized model.

Next Steps

Improve the route generation to work faster with longer distances. Use elevation. Structured speed workouts. Continuous learning from new runs

Technical Contributions

Personalized run & stress prediction from training history. Converts optimal effort to real runnable route. Safe adjustments when the user changes the distance or intensity. Matches terrain, distance, and other factors to route.

Built With

Share this project:

Updates