thomaschampagne/elevate

Projected Fitness Trend based on Training Calendar

Opened this issue · 4 comments

Thank you for your time and effort.

In addition to Strava I'm also a TrainerRoad subscriber. They have a calendar that lets me plan my workouts (all future workouts include TSS, intensity factor, effort level as a percentage of FTP, duration of activity, etc.).

It would be really interesting to see projected fitness, form, and fatigue levels based on these calendar events and data. Even if it was a manual entry on the Elevate side and not from an .ics import it could still be useful as a predictor of future performance.

image

Plus 1.

I would like to know how my projected form will be influenced by future activities, particularly during the taper. Could it be as easy as adding "future activities" and user inputs an estimated stress score, based on prior knowledge of workouts? Would only need a rolling week or two in advance.

ckald commented

The following is my imagined implementation of this feature. I want to define 2 major parts: the calendar and the workout editor.

The most natural place to keep a training calendar is something like Google Calendar (or whatever provider that has API). This allows avoiding implementing all possible interfaces and interactions characteristic to calendars. At the same time, you get for free features like notifications and sharing.

Now to the workout editor. I've spent lots of very boring hours copying one-by-one the progressing exercises from my triathlon training book to TrainingPeaks library. It would be much easier if I could generate lots of JSON/txt configs and upload them. At the same time, there is an already established shorthand for exercises that allows for easy manual editing (like "5min Z1, 20min Z2, 5min Z1").

The simplest way to integrate this with the calendar is to define a "workout format" of the calendar event description. Something similar to the front matter format used by Jekyll: https://jekyllrb.com/docs/front-matter/ . It is very friendly, readable and allows to create a YAML config alongside a free-form text description.

Once the exercise is completed and uploaded to Strava, we can edit the calendar event and attach the activity ID similarly to pairing in TrainingPeaks. However, this introduces a whole new level of complexity: you need to adequately match calendar events to activities, handle calendar edits and so on.

As a first step, it would be enough to implement a future-only workout calendar as suggested by @VineyardPaul . I would be interested to help with this.

Would only need a rolling week or two in advance.

Obviously, this would be the place to start, but once there is an ability to do the calculation for the future, I do not understand the difficulty in extending that. I think the one caveat to that would be UI. Say you have an entire training plan though that you want to import. It would be pretty annoying not to be able to upload it all at once.

I too would love to see this but not just trainer road. I tend to plan to have a CTL at a certain date and would both love to see the predicted CTL based on current progress (ie given taper and planned load) and the golden egg would be an ability to set a planned CTL and have a tool calculate the load needed to achieve that each week up until the date (something training peaks just sucks at). I am stunned that planning is never target based.