Introducing Velo Flow – animating Strava rides!

UPDATE – Due to changes in the Strava API increasing user’s data privacy VeloFlow is no longer able to run.

After coming across a great visualisation last week that animated GPS traces of staff commuting to Loughborough University I was inspired to try something similar with Strava rides and I’m very pleased with the result.

How-To videos now available.

Find out how to use Velo Flow here.

The initial thought was to try and show all Strava rides in a particular area (like the Peak District National Park which I live on the edge of) for a particular day. Unfortunately there is no way that I know of to get at that list of rides. You can however (for the time being) get a list rides for a specific day for a given segment.

So the next question was how can this segment/day context best be used to show us a great visualisation – Sportives, Races and Strava Challenges!


Sportives are great for this as if you pick a segment in the opening stages of the event you can just about guarantee all riders will trigger that segment. l’Etape du Tour (see video above) is a perfect example showing a perfect and huge (over 400 Strava rides) peloton stretching out over the ride, bunching on the climbs and stringing out on the descents. The context segment used is the climb of the Col de la Madeleine.

Try the Velo Flow for l’Etape for yourself but bear in mind that it takes a while to download all the required data.

Also here is the “Ride with Brad” Sportive in Lancashire, UK in aid of the Bradley Wiggins Foundation. Nice to see the peloton splitting up to tackle the two different route options 160km or 100km.

Try it for yourself but remember the download time if going for all riders!


Similar to sportives, the increased number of people using Strava to record their races allows us to replay the race at our leisure. The race below is the Manx End 2 End Challenge on the Isle of Man. It seems to be the benchmark cycling race on the island with your finishing position being an common topic of conversation when meeting new people. The blue blob in this one is my brother who managed a very reasonable top 20 placing in this, his 2nd attempt at the race.

Try it for yourself, not so many riders this time so not too bad to download all data.

Strava Challenges

Also some of the Strava Challenges are based around a particular segment within set dates with the Box Hill Beat the Best Challenge being a good example which was based around the Box Hill segment:

Much more of a random swarm going on, all homing in on Box Hill before dispersing back home again. Look closely (probably when you view the page for yourself, once again, lots to download so make sure you’re on a fast connection) and you’ll see little groups of people riding together to and from Box Hill.

Integration with your data in

In the links section in each Segment Details page you will now see a “Velo Flow” link. This will load the Velo Flow page passing in the context of the segment, the day you achieved your PR and your own ride.

The Blue Blob

As you can see in l’Etape du Tour video, there is a blue blob in amongst all the orange blobs. This is an optional context that can be passed in to the page that highlights a particular rider, in this case it is one of the guys from my bike club who was lucky enough to ride l’Etape this year.

When loading Velo Flow from your Segment Details pages then your ride will be represented by the blue blob so you can pick yourself out.

Visualising Strava club runs

As well as those mass rides, what this page is particularly good for is viewing your own club runs (given enough of your club mates upload their data to Strava). See your club riding in formation and even the group splitting on climbs and descents. I’ve been reliving puncture and cafe stops of previous rides while trying this out!

Update (6th Dec 2012)

  • Load 10/50/all buttons replaced with drop down list.
  • Option to chose the timegap between data points for animation.
  • Segment name now displayed prior to data load.
  • Count of rides for this segment on that day also displayed.
  • Much smoother rendering of the animation.

Update (18th Dec 2012)

  • Time slider now defaults to start of the context rider (if one is set i.e. the activityId in url) which will be you if you navigated to Velo Flow page from your Ride Details or Segment Details pages. No more waiting around watching those early bird riders.
  • The default zoom setting will be based on your own ride as well (if one is set i.e. the activityId in url). You might need to zoom out to see all the other riders if you want to.
  • You can now highlight up to 6 riders by comma delimiting activityId’s in the url. You will need to do this manually and go to Strava to find out what the other people’s activity/ride/run id’s are (look at someone’s ride and it’s the number at the end of the URL). Different colours for each rider.
  • Now handles people riding the same segment multiple times (e.g. a Crit race) giving a more accurate rider number and better performing animation.


For Velo Flows with lots of rides then the webpage can consume a large amount of your computer’s memory (RAM, not disk space). e.g. the load the Etape the memory usage can get up towards 1GB before dropping back down again. The shorter the rides, the fewer the riders and the longer the time gap between animation data points then the less memory you will use. Devices like the iPad can have fairly limited memory and the browser tends to crash without warning when it runs out of space. If this happens then be a little bit more conservative with the options and have another go.

Note: As with all things Strava and veloviewer, the data that you see is only as good as the data that goes into Strava. As well as GPS inaccuracies, make sure you and your club mates have synchronised your GPS clocks prior to riding to ensure your peloton is shown correctly. On l’Etape I’ve had to correct an American (I think) GPS trace that set off 7 hours earlier than everyone else!

Note: The initial map view is based upon the extremes of latitude and longitude of the data (including any dodgy GPS data that does seem to happen) and the best fit of those points to the available map space and zoom depths. You might need to zoom in a bit to see the detail of the rides.


0 thoughts on “Introducing Velo Flow – animating Strava rides!

Comments are closed.