Code Header

Free Strava & Training Peaks Alternative

Trainshift Header

As promised in my previous blog post, I've recently launched a web-based tool that analyzes your cycling data and automatically creates a Performance Management Chart for you. It is a free alternative to Training Peaks and a much more advanced method of analyzing your cycling performance in comparison to just looking at your data on Strava.

The app is called Trainshift and you can find it here: trainshift.com

My initial purpose was to analyze my own cycling data exactly the way I wanted it. Since I already had code snippets for downloading cycling data from Strava, creating the app was just a matter of putting all the puzzle pieces together.

The app itself currently contains 4 basic components:

1) Dashboard

The Dashboard shows you an overview of your current training status (TSS/week) and your training levels of the current as well as the last month. These power levels indicate in which power zones you mostly were training. It helps you to understand your training and gives you an inspiration what your next training session should be like.

I have also included an all time power profile (best 5sec, 1min, 5min and FTP efforts). It compares your Watt/kilo relation with real world data. It's a great technique to find out where your strengths are and in which power zones need improvement.

The power profile chart is also the basis for the phenotype analysis. It tells you which type of rider you currently are. There are five types: Allrounder (flat power profile), Sprinter (decreasing power profile), Pursuiter (peak at 1 or 5 min), Climber and Time Trialist (increasing power profile).

Overview Trainshift



2) Individual Workouts

You can check out all stats of one ride in the workout view. It shows your basic information like the distance, moving time or enhance altitude. But also more advance metrics, such as your Normalized Power®, Intensity Factor® or Training Stress Score®.

Trainshift Workout

The performance over time shows your power, speed, heart rate, altitude, and cadence during your session. You can zoom in on different sections and analyze your data for specific parts of the workout. This enables you to examine the relationship of different metrics. For example, at which power does your cadence drop or your heart rate rise?

Also, I've added a power profile chart for this specific workout (5sec, 1min, 5min and 20min max efforts).

The distribution chart shows your power, heart rate, and cadence distribution of your workout. It is a nice chart in order to quickly see in which areas you were training.


























3) Performance Management Chart (PMC)

The PMC is important to determine your fitness status and in order to plan your season ahead. The chart is based on your total TSS values from each of your workouts. The TSS - or Training Stress Score - quantifies the actual metabolic burden of a training session. The calculation takes into account the duration and the intensity as well as the fitness level of the athlete. If two athletes complete an identical unit in the same time and speed, they will receive two different TSS scores.

PMC Trainshift


From your TSS, we calculate the CTL, ATL and TSB. A little explanation about the terminology:

CTL = Chronic Training Load = Fitness
ATL = Acute Training Load = Fatigue
TSB = Training Stress Balance = Form

The CTL is the measure to be looked at first. It provides information about the development of fitness based on your activities of the past 42 days.

The ATL works in exactly the same way as the CTL, except that the considered time horizon is only 7 days. Therefore, the ATL gives very good information about the short-term, acute stress level and thus also on the fatigue of the athlete.

The TSB is simply the difference between yesterday's CTL and yesterday's ATL and thus provides information about the current form of the athlete. Because the CTL and ATL have different time horizons, it can also very nicely show the effect of tapering. Although both values ​​decrease due to training reduction, the ATL naturally drops significantly faster than the CTL. Consequently, the TSB increases and is hopefully at an optimal level shortly before the competition.

4) Metrics Overview

The Metrics Overview shows some of your key metrics in a specific time window (e.g. Estimated FTP, Maximal Normalized Power or Max TSS). You can filter for the entire year, last month and current month.These values are nice indicators to compare your all time best values versus your current training status.

Metrics Trainshift


The distribution chart displays a summary of your cadence, power and heart rate in the given time frame.

5) Strava Integration

It is possible to upload workout files (.fit format) manually. But I have implemented a feature which connects your Trainshift account with your Strava account. This enables you to automatically upload your workout files via Strava. All historic workouts will be synced with your connection.

In the near future, I'm going to contact Wahoo and Garmin in order to implement a direct connection to your bike computer.

6) Training Plan

I'm currently working on a training plan component. I want to keep it as lean as possible. My idea is to specify your available days per week, weekly training duration, your target (e.g. become a better sprinter), and the dates you want to be on your peak (races, competitions etc.).

The goal is to provide a dynamic training plan with specific training instructions, which incorporates your demands and pushes you to your best performance, right at the time when you need it.

Here is a little sneak preview:

Trainshift Plans


I will keep you updated as soon I have any news on the training plan component.



Ideas & Suggestions

I'm happy for any other suggestions that might be included into Trainshift. If you have any input, feel free to drop me a message. I'm totally open to your changes and ideas. So far, I'm programming Trainshift the way I think it's useful and understandable.

Until then - have fun using this tool.

blog comments powered by Disqus