Training Intelligence #1 – Why I’m Building My Own AI Running Coach

I’m 47, I run 2500km a year, and I’m tired of training plans designed for 25-year-olds.

After 10 years of mostly following static training plans that ignore my reality – longer recovery needs, different injury risks, real-world constraints – I decided to build my own AI running coach.

This is the story of that journey.

This is the first post in my Training Intelligence series, where I’m documenting
my 8-week journey building a personalized AI running coach. Link to series overview

It all started from the need to understand what options do I have to improve my running in a way that’s well adapted to my realities and capabilities. Since I started running, 10 years ago, I followed most of the time static plans for different distances (10k, HM or marathon), being able to stick more or less to the prescriptions. Some of the plans came from the producer of the sports watch I was wearing at that moment (Garmin, Polar) or from Stryd or from one of the well established coaches (through various training platforms – Training Peaks or Final Surge). Most of the plans were static (with some small variations in Polar and Garmin Coach), but basically, the biggest assessment was done when you picked the plan to fit your level of capability. Some providers allow you to exchange the plan (from level 1 to level 5 let’s say) after you test it .. so that it could better fit your capability. They usually start from – what’s your fitness level today (how much do you run per week or long run, how many sessions per week, etc) and recommend a plan for you.

The more dynamic approach is now supported by Polar (with FitSpark initially and now with their Fitness Program [behind paywall]) and Garmin with their Daily Suggested Workout based on your Race definition. Basically, if you wear the devices, the information about your life, stress, training is available for the algorithm which should suggest something meaningful for maintaining/improving your fitness level, while not pushing too hard and keeping thing in balance. DSW is nice but could lead easily (in my case) to situations where it’s overcautious – I spent 3 weeks stuck in DSW’s ‘recovery mode’ – missing all quality sessions because it couldn’t understand that I was actually ready to train harder. .. I had this situation several times and eventually I gave up because the DSW is too cautious and doesn’t schedule any quality workouts until you are not “well rested” and you can’t overwrite that.

Could I just read Pfitzinger/Daniels, create a spreadsheet, and call it done? Absolutely. Many successful runners do exactly that. But I’m not building this because existing solutions don’t work – I’m building it because I want to learn how AI can augment human expertise, and I happen to have a domain where I can test that intelligently.


After the half marathon early April, for which I tested a masters training plan from McMillan, I decided that the next race will be in autumn, sometime in October and since the time until October exceeded the 16 weeks period associated with a plan, I thought of filling that period with something that would maintain or even better improve my fitness. I could repeat some of the general workouts in the recent weeks but I wanted to change something .. so that might be a nice opportunity to test the capability of general LLM to generate plans and individual workouts starting from some basic info related to the individual. I’m aware of some nice AI based solutions to suport your training (Runna, the recent acquisition of Strava and TrainAsOne being among the most well known), but I didn’t want yet another subscription but rather wanted the independence of creating the solutions myself.

From that, I realised this was the perfect opportunity to combine my two passions – sport and technology – to create a solution that offers adapted/customised workouts/plans for people, with conversational guidance (before/after workouts).

Here’s what I think an intelligent AI coach actually needs to consider:

An AI coach that considers multiple data sources with intelligent weighting

This isn’t just about analyzing today’s workout – it’s about understanding patterns across months of training, weighted by importance to your goals.

Initially, I started with a conversation with ChatGPT, offering some details about my recent workouts and load and asking to continue .. then uploaded the workout stats (screenshots from Runalyze nothing fancy) and asked for feedback/interpretation and next workouts to support my training toward a goal of finishing the new HM in less than 1:45 [I understand this is not outstanding by any means for some, but this is my goal this year].

One of my concerns (besides privacy) with using directly the ChatGPT was the fact that ChatGPT eventually ‘forgets’ earlier conversations, losing crucial context about your training history that any good coach would remember (limits of the LLMs context may vary, but the problem remains) . So, yes, I need the “brain” and the interpretation of an LLM (or specialised one maybe, as ingesting Shakespeare in the LLM knowledge doesn’t lead to better running programs) to work with some data that needs to be updated regularly (like building your runner profile which is more defined by what you have done in the recent 6 months than what you were able to do 5 years ago ..)

Athlete profiling: Recent data matters more as race day approaches

While I’m not an expert, I hope that my solution would be better and more efficient than just working in a chat with a general LLM (ChatGPT, Claude, Gemini, Mistral), which in the end, after several months of conversation may be hard to use and follow, with potential issues of coherence. Some workarounds may be found around the projects concept, which may allow the storage of common data for reference, but still limited.

Also, this is a great opportunity to test some AI concepts, I’ll try to experiment with nano models to see if such a solution could be completely private and run on the users machine so that the user’s data never leaves the device (computer most likely for now).


So, what the solution WILL be:

  • an intelligent automatic coach to support your goals, based on the recent history, current execution and a set of best practices (around periodisation, recovery)
  • a conversational coach to support the analysis of your work
  • a running biased platform, as this is the topic of interest for me
  • an independent platform, ready to take data from whatever source you have (as long as you provide the data in an open/known format)
  • a complementary solution to any of the general platforms which offer training analysis (Runalyze, intervals.icu, Training Peaks) – they are static from the training planner perspective (unless used by a coach), but they do very well with displaying data and progress

What this solution WON’T be:

  • a highly polished competitor for Runna, TrainAsOne or similar products/platforms
  • a highly integrated platform, communicating bi-directional with Garmin/Apple/Suunto/Polar both in ingesting data and defining “next workout”

Over the next 8 weeks, I’ll document every step of this journey – from learning exercise physiology to implementing TRIMP algorithms to testing the results with my own training. If you’re a runner frustrated with generic plans, an engineer interested in applied AI, or just curious about what happens when domain expertise meets modern technology, follow along. 

Next up: Learning the Science – diving into the training research that will power this system.


Discover more from Liviu Nastasa

Subscribe to get the latest posts sent to your email.

Unknown's avatar

Author: Liviu Nastasa

Passionate about software development, sociology, running...definitely a geek.

Leave a comment