VeloFlow: Relive your race with GPS

Thu, 12/20/2012 - 1:22am by Andy Shen

Earlier this year I tried to create a GPS race replay using Ride With GPS. It worked, for the most part, but was hampered by a complicated setup, as well as RWGPS’ relatively smaller user base and its inability to work with multiple lap courses.

Then out of the blue I got a tweet from Ben Lowe, creator of VeloViewer and VeloFlow. Ben had done exactly what I had wished for with VeloFlow, using Strava’s gigantic database. I was so pleased I didn’t mind that Ben informed me by calling me out for wheelsucking.

Here’s how it works. VeloViewer is a ‘Strava dashboard’, a site that takes your Strava data and parses it to reveal more detailed metrics (see the list here). To get started get your rider ID from Strava by selecting 'My Segments'. Your rider ID is the number in the URL – mine is 53139.



Next plug it into VV’s homepage. Go to the 'Update' tab and download all your rides and you’re in. Once you’re in you can move on to VeloFlow, the race/ride visualizer.



A VeloFlow is a compilation of all the rides that covered a given segment on a given day. The rides are visualized as a map with a 24 hour slider at the bottom, and every rider on that day is animated on that map as a dot. To make one start by going to the 'Rides' tab on your VV summary page, and clicking on a ride or race. From the ride page, click on the 'Segments' tab. This will lead to a list of all the segments covered on that particular ride.



This particular ride was a Central Park race, and it contains a whopping 386 segments! Since I'm interested in compiling all the racers who used Strava that day, I'm going to choose a segment that's a part of the race course. In other words, I'm not going to choose a segment that's from my ride to the course, as that won't capture racers who arrived at the course from another direction. You'll also capture all the non racers who rode that segment, but don't worry about them. Clear as mud? Once you've chosen a segment, click on the black VeloFlow arrow from that row in the second to last column. You'll be taken to a new browser tab with these options:



As you can see, 80 Strava users covered that segment on that day. You can choose how many riders you want to display, and how fine the resolution of the animation will be. The more riders you have, the bigger the time gap. Smaller time gaps make for smoother animation when zoomed in. Click 'Load rides' and the animation will be generated. Here's the URL of this VeloFlow if you want to try it for yourself.

When the animation is generated the zoom level will be set to cover your entire ride. You can choose to zoom in or out, and you can choose to auto center the map so you don't ride off the page. Different frame rates control the animation speed. The slider will be positioned at the start of your ride. In this particular example it starts at 6:13 in the morning, when my ride began. View options include street map, topography, and satellite.

Now, let's take a look at the URL of the VeloFlow:


As you can see, it's defined by an activity ID (my ride file), a segment ID (the segment I decided would best capture other racers), and a date. Since it's based on my ride file, I appear as a big blue dot. If you delete the activity ID from the URL then the VeloFlow will be an aggregate of all the rides, without a 'protagonist'. The zoom level will cover all the rides, and the time slider will start where the first riders starts.

If I wanted to see more riders identified in the animation, I can first go to my ride file on Strava by adding the activity ID to this URL:


Go to that activity page, and you'll see who else was there. Click on one of the other riders and you'll be taken to their activity page.



Pull their activity ID from that URL, and add it to your VeloFlow URL, right after your activity ID, with a comma in between like so:


Here's an example of a multi rider VeloFlow, at scenic Floyd Bennett Field. Note the color key at the top.

And you're done. Phew. Now play that thing and make a screen recording. You'll need to go full screen and 720 or 1080p to see it clearly (this video was made with just one highlighted rider, me). This was a 3 3/4 lap race that ended at Tavern on the Green (west side at 67th street). You can see me get away (:50), get caught at the northern end (1:10), at which point two guys slip away and hang on for over a lap before they're swept up (1:38) just before the finish (1:42). You can even see me double back to watch the other finishes, then ride to the parking lot.

And there you have it. So next year load your files to Strava and we can see all the races played out. If you don't have a GPS computer install the Strava app to your phone and keep it in your back pocket. In the meantime you can load your old rides to VeloViewer and relive past glories, or, as the case may be, indignities.

Share this


Add a comment
Ride with GPS
By: Mathieu Rubber Hood
Fri, 01/30/2015 - 10:35am

Ride with GPS is thrilling and interesting while at ride and I am glad to appreciate the taking effort for this blog. frameless glass shower doors

Great blog here! Alsso your website loads up very fast!

What host are you using? Can I get your affiliate link to your host?
I wish my website loaded up as quickly as yours lol

Look into my web-site; click here [Viola]

Here's a CX race Ben did
By: Andy Shen
Mon, 01/07/2013 - 12:45pm

Here's a CX race Ben did using the sperm tails. He set the tail length to 60 seconds, so you can see when the winner gets a minute gap. Pretty cool.


San Bruno Hillclimb (1 Jan 2013)
By: djconnel
Fri, 01/04/2013 - 5:29pm

won by 16-year-old Adrien Costa: climb starts @ 10:00. Multiple groups, but 1-2 and 3 start first.

Let there be beer!
By: Threadlock
Sat, 12/22/2012 - 9:03pm

Let there be beer!

One of those dots look like
By: shootthegap
Sat, 12/22/2012 - 4:18am

One of those dots look like its on EPO. It got to Harlem Hill in 2 minutes.

beer please
Sat, 12/22/2012 - 12:49am

Should I ever make it to New York I expect to be suitably supplied with beer:

Go 1 second time gap and all riders.

(just add the "&a=10" to end of any VeloFlow URL for sperm, change 10 for longer/shorter wrigglers. For full on sperm attack add "&b=1" to the end)

My work here is done.

Can someone please set up a
By: Bryan Liner
Thu, 12/20/2012 - 9:42pm

Can someone please set up a donation page for VeloViewer to get the tails enhancement?!

Very Cool
By: Nanni Tigweld
Thu, 12/20/2012 - 7:39pm

Thanks guys

sperm racing
Thu, 12/20/2012 - 4:17pm

if someone sends me a pack of beers I'll add sperm tails to the riders.

woo hoo. One of those red
By: Bryan Liner
Thu, 12/20/2012 - 3:44pm

woo hoo. One of those red dots is me! I wonder if this is my 15 mins...

more time
By: Matthias Internal Routing
Thu, 12/20/2012 - 3:12pm

As if I don't spend enough time on this "hobby" already. Training, racing, traveling to races, reading nyvelocity and now watching my races all over again.

very cool guys, great work;
By: Jens Cage
Thu, 12/20/2012 - 2:46pm

very cool guys, great work; bike racers competing in the park, look like a plethora of sperm swimming into a dark place.........

Post new comment

A cookie will maintain this name until you change it.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd><img>
  • Lines and paragraphs break automatically.

More information about formatting options

You must answer the question below to proceed. You can skip this step if you log in.
Fill in the blank


  • schmalz's log 2010 part 5 -

    On cannot ride on water and mightiness alone, and as I age, I find that I have to pay more attention to my nutritional needs, lest I become an empty husk of veiny gristle.

Innovation Bike Shop
view counter
view counter





Chomper Body
view counter
NYC Velo
view counter
view counter