Back in April, I decided to build an app to help me train for running events, now that in-person events are starting up again. About a month ago I entered Seattle’s Lake Union 10K. This gave me the motivation to finally finish up the app.

Screenshot of the Training Planner website

The goal was to make it easy to create a training plan, and track progress against the plan. Many fitness apps provide rich tracking for individual workouts, but few tools for planning or tracking a program which might span weeks or months. In my experience using it so far, Training Planner is an ideal companion to Strava, and an improvement on my previous approach of using a Word document.

I had to cut some of the features I originally planned. For now, your data is only stored locally in your web browser, so if you change browser or switch to a different computer, you’ll have no way of accessing your training plans. I added a Download button and the ability to import the downloaded file, so there is at least a way of backing up and restoring a snapshot of your data.

I may write more about the technical design in future blog posts. But for now, here are some of the technologies I used:

Check it out at trainingplanner.danielcoats.nz. You can find the source code on GitHub.

I also discussed my approach to styling the React components in a previous blog post. The app is deployed via GitHub Actions to Azure Static Web Apps.

If you have any feedback, contact me or open an issue on GitHub.