JOIN cycling app

I think sync’d workouts only show about 24 hrs before planned - pretty sure thats how it works with TP. You wont see the whole plan showing in your TR calendar

But then you don’t have a power match… I use garmin for indoor cycling with Suito but I need to “quess” which number to set for ERG. For example if I want to get 300w readings with my PM I need to set 280w in Garmin…

I was testing join for one block of training and honestly, I am positively surprised. It is as simple as it gets when comes to training sessions, and require a little bit of knowledge what to do with a workout (like exporting to tp an sync with whatever player you want) but from the training, perspective workouts are simple, very sensible with pleasant progression.

The app is a little too simplistic and it lacks any form of measurement (you have your lvl but it’s quite an abstract metric) but for the people who just simply want to train it is a nice piece of software. I would not call it groundbreaking or even thing I would use for myself but from all the indoor apps I have tested the workouts are the most “down to earth”, offering pretty straightforward progression and a good balance of intensity and endurance. Looking at current TR plans with my levels and when my SSB would have avg IF of 0.95 (it is far from the sweet spot, but this is the problem with short workouts and levels - you have to cramp up big lvl into a very short workout) and I see that doing MV with 3 workouts above 0.9 IF and then another sweet spot on Sunday, I would say that Join would be a far better choice from training sensibility perspective.

Overall experience - very good. Would I recommend it to a completely new user - no, too much hassle from a technical point of view. For the more experienced person with some knowledge - I would say yes.

BTW- they have a great availability feature that TR lacks - you can point how much time you have available for training in a given week (you can set up it for every day separately). A small but quite powerful feature that works also as your volume indicator.

8 Likes

This would be a HUGE benefit to TR IMHO… Its where I really wish they would take PB & AT in all honesty, as it would truly allow a customised training plan and workouts. Like many people I am not limited to 60-90 mins most weekdays so have no need to batter myself continually with intensity. I’d love to be able to tell TR that I have 2-3 hrs most weekdays and have PB spit out a plan that takes that into account. I effectively just did that by hiring a coach through TP to custom design me a 6 month plan towards my A events, and now I have what looks like, a brilliant plan that suits my schedule almost perfectly and will get me where I need to be.

6 Likes

I think TR could do this pretty easily, as they have the pieces mostly in place with TrainNow.

Here’s what it would take in my concept:

  • TrainNow would need to be expanded so that it covered all training zones (i.e., Endurance, Tempo, Sweet Spot, Threshold, VO2 max, Anaerobic, Sprint)
  • Rebuild training blocks so that the workouts only specify Training Zone, Difficulty (e.g., Achievable, Productive, etc.) - you would need “flavors” of each block type that covered number of workouts per week (e.g., 3, 4, 5, 6)
  • Need a redone Plan Builder that would have two modes - event or manual. The athlete would select the number of workouts, days of the week for the workouts, max length of time a workout could be on a specific day. In “event mode”, the athlete would put in their events, and Plan Builder would select the blocks. In “manual mode”, the athlete would select the blocks
  • Then on the day of the workout / night before, AT / TrainNow would select the specific workout that “best” matches to the time constraint, zone, difficulty that is supposed to be done on that day.
3 Likes

…we can only dream…

Not gonna happen as TR is going “click and generate” , because the majority of users look exactly for something like that.
I think that as simple as something like this modification for plan builder would be huge welcome addition for anyone who likes to “tinker” with their plans and have at least some level of control about what they are doing.

Sorry for off-topic.

11 Likes

That would be awesome as an advanced option within PB. But I would still like a “manual” mode where I can choose which blocks I want to use, in what order.

1 Like

I trialed the app for two weeks and I must say that I loved the flexibility of the app. Want to go ride with some friends because the weather turned out to be great after all? Go for it! The plan adapted on the spot for the coming week with workouts that made sense.

After my first peak in 2022 when I finished my first 2 Gran Fondo’s I’m thinking of just running this app over the summer. No planning stress, go ride gravel/group rides/MTB whenever I want and let the app balance around that.

I’m still a bit on the fence about using it for long term planning as that part is a complete black box from the user point of view. Viewing only a week ahead gives a lot of flexibility but in turn you have no clue when it will jump into a Build-type block for example.

For the people speaking Dutch, I can really recommend watching the ‘Live Slow, Ride Fast’ podcast series. The owner of JOIN gives advice and tips and the quality and level of detail is the same as the Ask a Cycling Coach podcast.

5 Likes

Got interested in the performance level assigned by Join which allows ‘comparing yourself to other cyclists’. This level ranges between 0 and 50, 50 only seen with ‘world class Tour de France GC contenders’. It has recommended levels for different challenges, for example for La Marmotte it recommends a range of 28 – 38. Okay, that it still out of reach for me but they have my attention with the levels. The description of how levels are calculated is vague, but in the app it does say that the ‘level is calculated on the basis of your FTP and weight’ and later ‘How fit you are is not only based on how fast you can go for one hour, but also how long you can ride your bike. That is why your performance level is based partly on your fitness’. Always fun to reverse-engineer what is under the hood and see what can be learned from it.

Join does not allow setting CTL directly, but manually one can add rides and set normalized power for that ride. It turns out that the correlation between level and fitness (CTL) is linear, but the dependency on FTP/kg is non-linear. Still not sure what original logic was used to create the levels, and when playing with the numbers there seemed to be some hysteresis, meaning that the projected level was not always exactly the same when repeatedly changing FTP/kg and CTL and returning to the original combination. With the data points from the app an analytical solution can be found, describing the surface with a normal- and cumulative normal distribution. The error between the analytical function and app value is small, but later realized I am using slightly different FTPs for indoor and outdoor to calculate CTL, which might cause a small offset compared to Join’s (iterative?) algorithm.

Below the 3D surface showing the dependency on FTP/kg and CTL. Plotted on the top view the development of one particular athlete – not me – that ramped up CTL quite rapidly (one year) and recorded FTP. Interesting to see how this cyclist was progressing on a path close to the orthogonal of the iso-level lines (steepest path up). That is of course not a law of nature and timing of the ramp-up, structure of the training and different DNA could lead to very different results. One can argue though that for this individual this is the near perfect ramp in CTL to improve performance over time as defined by the Join level. One can also derive that the orthogonal path (after the 1st data point) represents an improvement of ~0.027W/kg per point of CTL increase, or a ~2W FTP gain per point of CTL for a 75kg cyclist training efficiently. That is a lot steeper than the 0.007W/kg/CTL published by Alan Couzens (which is a different approach and does not have to be contradictory).

Key take-away for myself: have been trying to optimize training at roughly the same CTL for multiple seasons, time to accept reality that increasing volume is the only impactful way forward.

Join

14 Likes

That is pretty cool, thanks for posting! Do you know if they have “verified” the level somehow, eg with data from finishers at certain events, podium places in certain races, etc?

Interesting also that over 5 W/kg there is a W/kg plateau, and only increased volume/CTL brings further improvement in levels.

(Personally, its pretty frustrating, it looks like even with max volume I wouldn’t get over level 20 :frowning: )

I deleted the TP app in Trainer Road, since I only using to send workout to cycle computer, Since they both send files to Strava, I didn’t think I needed it in TR.

I also don’t think TrainerRoad will send workout to Training Peaks because of sharing the secret sauce

1 Like

I am not aware of a ‘verification’, but the developer CyclingLab is responsible for the training programs of the Intermarche Wanty team that has been very successful this year. They are serious enough.

With 2W/kg FTP and 140 CTL you would still end up at ~30. But someone with 5W/kg and a CTL of 30 would also have a level 30. Are these two riders similar in their performance? Think the framework is useful to scale CTL ramp-up appropriately, but comparing (rare) edge cases is probably not adding much value.

1 Like

Hypothetically yes, practically you will have the worst humanly known genetics with 140 CTL and 2 W/kg. Yes I understand what are you mean but just saying…

Don’t know, you could just be old.

1 Like

To be honest, I don’t really understand how you scale CTL ramp-up with it. Withe regards to expected FTP increase? What if FTP doesn’t increase - you can still add more volume to up CTL?

Just trying to interpret the data and algorithm, not claiming full (or even partial) understanding. But suppose one of CyclingLab’s athletes is injured and out for a while. Both FTP and CTL will drop significantly. When they start training again and want to improve the level score as efficiently as possible, you would aim for the steepest path up and gradually increase CTL in tandem with FTP. The one athlete I plotted ramped-up CTL very quickly (for my standards) but according to the graph he could have ramped up even a little faster to be on the steepest path. My understanding is that these folks are not necessarily focused on non-responders or time-constrained cyclists.

Thanks, I get you - if you have some sort of reasonable estimate of a target FTP, you can build a way back to it via CTL ramp-up.

I guess simularly you could use it to see what a drop in CTL would cost you in FTP, if for some reason you had to reduce training time for example.

I have to admit I’m still quite sceptical that FTP and CTL are coupled to that extent, but maybe there is also an individual factor here. Maybe once you’ve worked out your individual line of progress across the slope, you can use it for future planning.

1 Like

If you are interested in that, have a look at the data Couzens published.

1 Like

Currently trying this out 2 weeks for free: https://join.cc/

It is €90 per year and so far looks promising:

  • Based on the training of the last weeks, FTP and weight, it computes your level which is an absolute number between 0-50 that tells you how fast your are, 50 being a world tour pro rider.
  • You start by setting a goal, it can be an event or a more general goal of targeting endurance/ftp/climbing
  • Then you set how many hours you have available each day of the week
  • Finally the engine maximizes the required performance for the goal that has been set by counting back from the end date to today, setting up a periodized training schedule considering the available time and the level that you are at.

Now the cool bit is that you can deviate from the schedule at any time. Deviating can be for example:

  • Skipping a day
  • Doing a different ride than scheduled, even an unstructured ride.
  • Adjusting the available time
  • Adjusting the goals

Any of these changes will trigger the engine to recalculate the training schedule, maximizing your performance for the goal that was set, considering your initial level.

I have been trying it only for a couple of days, for example normally on Tuesday I have 1.5 hours available, but yesterday I could only do 1 hour. The original schedule was to do an endurance ride for 1.5 hours, but as soon as I changed the availability to 1 hour the workout changed to a 40 min tempo ride with 10 min warm-up and cool down at endurance. I can now set Tuesday back to 1.5 hours and for the coming weeks it will take that into account again.

6 Likes