Review: VeloViewer

Do stats make you smile?
Is your data in Strava?
You want this. Trust me. review-in-haiku, VeloViewer

(That thing above is something new I’m trying – a review in haiku. Click here for more about that).

VeloViewer is a way of getting much, much more information from all your data in Strava. I wrote about the explorer game it enables a few weeks ago; this is an overview of some of the other analysis that’s possible. If you want to play along you can pull your last 25 activities across from Strava for free – just go to and hit connect to Strava. You can only do this once (unless you pay the £10 annual charge for VeloViewer, obviously), so ideally make sure you’ve got something fairly chunky in there to play around with.

Two points before we get started. VeloViewer is a Strava app, so if later you want to disconnect access to your data, follow the guidance in the article I wrote about objem (a handy bulk updater Strava app). Secondly, as VeloViewer doesn’t work brilliantly on mobile phone screen sizes you’re best of using something like a large tablet or bigger.

A bonus point; this turned into a bit of a monster review/user guide hybrid. No-one would judge you for jumping straight to The Good and The Bad conclusions at the bottom.

A second bonus point; I’ve tweaked a few points based on information received. Look for the struck through text.


VeloViewer is a labour of love, crafted by Ben Lowe. It was originally a Windows phone app called Strava Viewer, but is now a subscription-funded website that allows you to analyse all the activity data you have in Strava in a much more powerful way. Although the examples below use running and cycling data, VeloViewer will happily chew up any type of activity you have in Strava. Hiking or kayaking, for example, would work really well.

If this is your first time at, hit the “Connect with Strava” button and follow the prompts. If you’re already registered, you want the right hand tab called “Update”. You have to manually pull new data across from Strava – it doesn’t sync in the background (I suspect that’s a limitation imposed by Strava nope, just a preference from Ben). I generally hit “Get everything”, but you can just pull across new activities or new segments if you’d rather.

VeloViewer import window

The import takes a little while (although usually less than a minute unless you’ve done loads of activities since the last update). There’s a popup that says what’s going on, so you’re never left wondering whether the thing has crashed. (Note you only have to do this once for each activity – VeloViewer saves the data once it’s imported.) When the update is done you can jump straight to the new activities, but we’re going to head back to the summary tab.

VeloViewer – summary tab

The summary tab is a pretty huge page, so we’ll take it in sections. At the very top you can filter by year, type of Strava activity, and “gear” (so model of bike or shoes, depending on how you use that field in Strava). Combinations are OK, so you could set up the summary page to only show mountain bike rides in 2013 and 2014 using your offroad trike. The top section of the main window then looks like this:

VeloViewer summary top

Top left is your VeloViewer Score, which is “the average segment position score from your top 25% (max 100) of non-downhill segments”. If you’re into competing segment positions on Strava this is a nice number to play around with, if not you can happily ignore it.

Top middle is some summary stats across all the data, including all the usual stuff as well as some oddities like the explorer score I wrote about earlier and your Eddington number. Hit leaderboards if you want to see how you compare to all the other VeloViewer users.

Top right are your best running times for various distances, and across the bottom are some stars earnt for various activity milestones.

Moving down the page:

VeloViewer summary middle

The graph on the left shows cumulative stats over the course of several years (you can see I’ve not been particularly religious with recording data…). If the graph looks a bit busy you can toggle years on or off by clicking the circles next to each year. The current year is shaded (hard to see at the bottom left – I took this screenshot in early January). There are 13 different display values, including distance, elevation, time, etc.

The chart on the right is a brilliant way of showing what you’ve been up to over the past few years. Each box is a day (week, month and year are also possible), box colour matches intensity (that red block in 2013 is London-Edinburgh-London; ride report here). Click on the box to jump straight to the activities of that day. There are about 50 different display values for this, including things like “time spent in heart rate zone 2”.

Moving down the page, you’ve got another way of looking at the same thing, as well as some bits and pieces about how you’re doing in Strava segments:

VeloViewer summary lower middle:

Finally, at the very bottom you’ve got your ten most recent activities, and a summary of stats across the gear you’ve been using:

VeloViewer summary bottom

That’s the first page. Next page:

VeloViewer – activities tab

This tab is worth a tenner all by itself.

If you have a lot of data in Strava (often at least two activities a day if you commute in and out), it can take ages to find a specific ride. Instead, I now use this page. Along the top is a similar filter menu to the summary tab, but I can now add in almost any field or combination of fields I want to. Beneath that VeloViewer will then display a table (with a huge number of columns – it goes on for ever), and/or a map, and/or a configurable chart for the rides that meet your criteria. Here’s the table and map (use the list/map/chart toggle buttons at the top to adjust the display):

VeloViewer activities tab

If I want to jump to the ride around Arran I did last May, I can either click on the route on the map, or maybe filter to only show rides last summer between 80-100km. In the table, you can then click the red title in the name column to load the VeloViewer activity page, the tiny Strava logo to load the activity up in the Strava website, or the little orange “transfer” icon to jump to the Strava flyby page for the ride.

There’s a few other neat table tricks. You can display up to 100 activities on one page using the dropdown at the bottom, and the “1-100 of 533” text is a handy way of quickly counting how many activities match your filter criteria. You can export to a csv file to do some of your own data crunching. Click on the table headers to sort by that column (click again to sort in reverse). Finally, if you hover over the a column header you’ll get summary stats (max, min, average etc) for that particular column.

I’m going to skip over the chart, but you can select from xy-scatter, bar, or line, and then configure what data you want on each axis. If you want to see whether your average cadence changes with air temperature, for example, you can do that. Unbelievably powerful.

VeloViewer – segments and efforts tabs

Segments is exactly the same as activities, but instead looking at segments (funnily enough). The map is particularly handy for tracking down segments on any given route, whilst the table can be used to dig out segments where you’re only 15% behind the leader (for example).

VeloViewer segments tab

Every time you attempt a segment it counts as an “effort”. Use the efforts tab to review all of them in the same way.

VeloViewer – routes tab

You can’t plot routes in VeloViewer, but you can use it as an easy way to browse routes you’ve created in Strava. Again the map view is useful if you can’t remember what you called a particular route and want to find it for reuse.

VeloViewer routes tab

Unfortunately the “distance away [from start]” column doesn’t work, so if you want to only display rides of a certain length near your position set the distance filter and then drag the map around.

You’ll be delighted to know I’m going to skip the challenges, signature and challengers tabs as I don’t use them. That leaves one tab:

VeloViewer – wheel tab

If you’ve got the right set of activities, this is exceptionally cool. It only works for stuff that runs in sequence, as the only way to select rides is using a date range (although you can ignore stuff flagged as a commute). However, if you’ve gone on some kind of multi-day tour, you can magically make something like this:

VeloViewer LEL wheel

Again, that’s from LEL2013. Have I plugged the ride report for that enough? And yes, the GPS did drop a leg on the way north…

Right, that’s what you’ve got from the “analysing several things at once” perspective. Let’s take a quick look at what you can do for a single activity. I’m going to bring up that ride around Arran I tracked down earlier – a 90km jaunt on my MetaBike, with cadence and heartrate sensors as well as all the GPS stuff. You should be able to view it here.

If you want to look at something of your own, just click on an activity name wherever you come across it in VeloViewer and you’ll drop onto a page for that activity.

VeloViewer – single activity, map tab

You’ll land here. Does what you expect; shows a map of the activity:

VeloViewer, single activity map

Couple of tips. If you move you mouse over the elevation plot at the top a corresponding blob appears on the map, so you can track down where hills are. If you then click and drag on the elevation plot, the map will zoom in to whatever you’ve highlighted. We’ll use this on the data tab later.

VeloViewer – single activity, 3D tab

This can be used to generate 3D and 2D plots of the route (if you’ve watched any recent cycling TV coverage, you’ll get the idea). The 3D plot is nicely spinnable, but I find the 2D version easier to look at:

VeloViewer single activity 2D plot

Again, you can click and drag on the elevation plot at the top to generate neat 3D profile of climbs.

VeloViewer – single activity, segments tab

You’re getting the hang of these tables by now, I take it?

VeloViewer, single activity, segments.

I’m not sure why the background on this table is green.

A segment is shaded green if it’s a personal best. As this wasn’t a route I’d done before, it makes the whole table look green.

VeloViewer – single activity, data tab

Here you can generate line, bar and box [and whisker] plots over time for any data you’ve recorded. Box plots are really cool ways of trying to spot trends – particularly if you’re data has a few outliers that make line graphs spike all over the place.

Here’s an overall view of the ride:

VeloViewer, single activity, data, line graph

And using the click and drag trick, here’s a box plot of the main climb:

VeloViewer, single activity, data, box plot

Hold the mouse over a graph and the line graph will display in the background (see heart rate in the above pic), along with a popup showing exact values at that point.

We can see from this that I either need to drop the MetaBike gearing or get fitter, as a median climbing cadence of 66rpm isn’t particularly knee-friendly. It also shows that the recumbent climbing position limits max heart rate, as the upper quartile over this pretty challenging 3.6km climb was only 168, and my max is about 191. Moving on…

VeloViewer – single activity, zones tab

Histograms of various stats. Click a metric (in the example below I’ve chosen gear length, calculated from speed and cadence) to shade the elevation plot appropriately. Whilst we’re looking at gear length, the histogram support my over-geared hypothesis from above, as I’m spending most of my time below the mid-point of the overall range.

VeloViewer, single activity, zones tab

(You’ve not forgotten the click and drag thing? Great; I won’t mention it again.)

VeloViewer – single activity, charts tab

There’s a disclaimer that these are a work in progress, and they don’t work at all on Firefox (you’ll see the default, but can’t change any of the options). Switching to Edge for a moment, here’s a heat plot showing speed against gradient (with the colour being time spent at the intersection):

VeloViewer, single activity, heat map

And to continue the drivetrain theme, here’s gear length against cadence:

VeloViewer, single activity, heat plot 2

At the bottom right of that graph you’ll spot that I quite often use the top gear to slowly turn the cranks on downhills to keep my knees loose.

I’m not going to talk about the overlaps, summary or 3D maps tabs as they’re reasonably obvious (overlaps just shows where this activity overlaps with others you’ve done). That leaves one final tab:

VeloViewer – single activity, best splits tab

This is obvious as well, but it’s neat enough to justify a final screenshot:

VeloViewer, single activity, best splits tab

It’s a table showing your best stats over a variety of intervals. If the default options don’t work for you you can configure any time or distance split you fancy. In this ride, my top three average speeds over non-overlapping intervals of 2.4 minutes were 57.9kph, 50.6kph, and 48.5kph. I’ve no idea why you’d want to know that, but you can.

With that, we’re done. I’ve not shown you the individual pages for segments or routes, but they work in the same way. Let’s do a quick summary, and call it quits.

The Good

(If you jumped here straight from the top you missed a hell of a ride, along with an amusing divertissement about gear length.)

Let’s start with cost. A tenner a year is a steal for VeloViewer, especially as the site carries no adverts (hurrah!).

In terms of reporting functionality, it’s far above any other mainstream options (Strava, Garmin Connect, RideWithGPS, etc. I can’t compare it with Training Peaks as I haven’t got a subscription, but I do know that TP costs a lot more…). Whether you just want to see how your distance this year compares to last, or if you want to dig deeply into the numbers to work out if you should lower the gearing on a bike, VeloViewer will work for you.

If you’ve got a lot of data in Strava, the activities tab is also the best way to dig out something specific.

Finally, Ben adds content regularly and interacts with VeloViewer users on Twitter and Facebook (and email, if you’re not a social media person). If a few people ask for something sensible, it normally gets added. There’s also little extras like the 2015 summary graphic. Hurrah for responsive and enthusiastic developers!

The Bad

It’s not the world’s prettiest or most intuitive site. Once you’ve played around with it you get the hang of how it fits together, but there’s definitely a learning curve (although this post should be a reasonable user guide if you get stuck!). There’s also a couple of bugs (like the heat plots not working in Firefox), although this is the flip side of having new content added regularly. If you want new toys every month, I think it’s fair if a few of them are a little experimental…

Given Ben’s a one-man team there’s always a risk that the site might mysteriously disappear one day and never return. I think that’s hugely unlikely, and it is only a tenner you’re gambling. Possibly more likely is Strava doing something to restrict access to their APIs which prevents VeloViewer getting at your data. I hope they don’t, but it’s possible.

Given the site’s heritage there’s a bias towards cycling over running and other activities. It’s improving quickly, and if there’s some chart you absolutely must have for your sport I’m sure a quick email would get you sorted.

My biggest criticism (and one that’s rather unfair, given it moves away from the core purpose of VeloViewer as a reporting engine) is that there’s very little guidance on how to interpret your results. If you’re not sure what cadence, or heart rate, or pace you should be aiming for, it’s easy to get overwhelmed and end up staring at the pretty pictures but not really learning anything. What I’d love to see is a partnership with some personal trainers, where they explain how to improve some aspect of your cycling/running/hiking/whatever and exactly how to use VeloViewer to measure your performance. Guest blog posts, perhaps.

Response received after I published this:

Exciting stuff.

The “would I buy it again?” one line conclusion

Absolutely without question.

The Disclaimer

I’m a humble blogger with no link to VeloViewer apart from being a fully paid-up user.

PS: This article was written in January 2016. If you’re reading this from the far future, VeloViewer may have changed somewhat. Let me know in the comments! Also, is everyone now riding recumbents?

1 Comment

Add Yours →

Having been a user for a while now (free then paid) – will echo that I’ve never once regretted paying Ben for his work. Stellar effort – I use this more than anything else at this point, including Trainer Road. (Which I wouldn’t renew at this point).

He’s also incredibly approachable and open to feedback – happy that he’s making enough from the effort after switching he can dedicate more time to it. The visualizations alone are worth the price of admission. Kudos, Ben.

Leave a Reply