I have an idea about training plans (hopefully this isn’t a repeat; I did look for a similar idea!)…
Right now, I’m using a training plan just to keep moving during the offseason. I don’t have any events planned as of now, but the way the plan builder currently works is it is centered on preparing for one (and only one) specific event at a time…well, what if I don’t have any events planned?
What if, instead, we essentially created “perpetual” plans that could be adapted over time? A new user joins and enters initial bio info, then what they are interested in doing (strength, yoga, etc.) If that is all they enter, then the plan builder just sets up a maintain/improve plan, using those activities (the “plan” is effectively indefinite, but maybe the user can always see X weeks ahead). If later on, the user decides yoga isn’t for them, but they want to start biking, then they just update that in the preferences and the plan can adapt.
Let’s say 3 months down the road, the user wants to sign up for a local 5k. They would go out to the plan, enter the date of the race and the distance. They could add a “priority” to that event (just want to finish, PR, or podium attempt). The plan would update to include running in order to prepare them for that race on that date, while continuing to include the other activities that they like to do. If they then want to try a duathlon that happens to be three weeks after the 5k, the plan would adapt again, adding in more biking before the date of the 5k, making sure they are also ready for that event. Depending on the event priorities, the plan can get the user more ready for the events that matter to them more. If no other events are set up after that, then the plan drops back into maintenance/improve until something gets added in the future.
On top of all that, each type of activity could have some type of periodic test to ensure the user is where they want to be with them (cycling already has the HM/FF tests, but add strength test for strength, flexibility test for yoga?, etc.) and have the ability to change the levels for each type of activity when warranted.