JUMP TO:

TrainingPeaks Virtual Massively Expands with New GPXplore Feature

TrainingPeaks Virtual has expanded with a major new feature that lets you import in a GPX route and ride virtually any route/road/path on the planet. As long as you have a route you’ve already ridden, or create a GPX route from any number of major platforms (Strava, Garmin, Komoot, etc…), then you’re good to go! The feature, as the title implies, is called GPXplore.

This feature lets you ride the route elevation and curves, while also attempting to blend some of the satellite imagery as a basemap which TrainingPeaks Virtual will then blend with 3D graphics to simulate the gist of the landscape around you. Give or take an extra snow-capped mountain. Still, the key thing here is enabling TrainingPeaks athletes and coaches to easily get ridable routes into an indoor training platform that connects with their smart trainers to simulate. That’s the core goal, and that’s achieved here.

After a few harder days of running, I had an easy trainer ride scheduled for today, thus perfect to give this a whirl. So let’s dive into it.

Getting a Route In:

While this part isn’t hard, it’s also a little bit messy (at least at scale). You’ll need to first create the route somewhere else (e.g., on some other platform), before importing it into your TrainingPeaks account. You’ll need a GPX file, so that can be from an existing route you’ve ridden (e.g., exported from Garmin Connect, or Wahoo, Hammerhead, etc…), or a route you’ve created (e.g., Strava, Komoot, etc…). It doesn’t really matter a ton where you create the route, as long as it’s created and you’ve got a file.

In an ideal world, TrainingPeaks would just be able to be a destination for routes from Strava, Komoot, etc… but there’s all assortment of business complexities there (mostly on the part of the others), making this more cumbersome than it needs to be.

Once you’ve got a file, you’ll need to import the file into TrainingPeaks (the website, not the TrainingPeaks Virtual app). This piece is honestly a little bit clunky compared to just importing it into the app, but such is life. Log in, and on the left side you’ll see routes:

From there, just choose the file you want to import:

It only takes a second, and then it’s imported in. It would be a nice touch if they just auto-filled the title in, based on the GPX file name (currently you have to manually title it).

Next, you’ll open up TrainingPeaks Virtual (the game app), and then navigate to ‘Events’, and from there choose ‘Add New’. First, I’d argue this should just be on the main home dashboard as a thing you can do. Zwift learned this lesson a few years ago with structured workouts and such, to just put the things people want on the homepage (especially newly/just-created things). After all, the entire point of TrainingPeaks buying this platform was for deeper integration. Now that the integration is there, don’t hide it by making people create one-off events. Just make it an easy-button.

Anyways, go and create an event, and then you’ll see the option for ‘My Routes’ at the bottom:

Again, I’d argue that if I select a route name, it should just automatically populate that as the title. I know these sound like little nitpicking things (and they are minor), but it’s all about fast workflow for time-crunched athletes. Minimizing friction. The good thing is that George and the TPV crew are incredibly quick at implementing suggestions (by far the fastest in the industry).

Note that if you scroll down, you can select a Biome, which drives the environment around you.

Also, if you scroll down in these settings, there’s options like how many bots are riding with you, requiring a code, etc… I had initally not even noticed there was a scroll bar, let alone all the other options.

In any case, from there it creates an event at a given time, and then you can copy that out to friends. Look, I get it, this feature was based on creating routes for events, rather than the individual athlete. But I’d argue (again) that the whole purpose of TP buying this platform (IndieVelo) was for the individual athlete. I just want to ride the route right now, not schedule it for the future with more clicks. Again, reduce friction, reduce clicks, increase time to ride.

And don’t even get me started on how this event doesn’t show up under my events. I have to enter a code to see my own event that I just created, otherwise this section is just blank. But why?

If I tap on it, I can see the event details, including the route, profile, etc… all of which looks good to me.

Of course, once you tap ‘Let’s Ride’, you need to wait till the start of the event (the soonest you can create it is 5 minutes in advance). I’ve brought up these concerns to TrainingPeaks, and it sounds like they’re already on the case, aiming to simplify/streamline this shortly.

Basically, what I want is:

1) Import GPX into TrainingPeaks (web)
2) Option to tap ‘Ride Now’ on TrainingPeaks Virtual Home Dashboard
3) Instantly start riding the route

Speaking of which, let’s look at how it works once you start riding.

Riding the Route:

With that sorted, you’ll be placed in the starting pen until the event begins. Even on a private event (as mine was, with just me), by deafult you’ll be joined by 29 other simulated riders (bots). You can change this in the settings.

Vlcsnap 2026 02 27 16h03m53s889.

I thought it was mildly interesting to see how TPV overlaid a starting pen loop atop the streets here. You can see the satellite imagery below it, and this is normally a quiet four-way intersection.

In any case, off we went. The route that TPV creates is basically an identical route to your GPX file, from an elevation/gradient/road turn standpoint. What isn’t identical, however, is what surrounds the road, as well as the road surface itself (as I’ll see later). So, for example, here on the quiet street around my home, this is what it looks like in the game vs real life:

Vlcsnap 2026 02 27 16h04m11s401.

As much as I’d love for the mountains to magically surround the island like a James Bond movie (and be snow-capped), that’s definitely not the case either.

Still, the ups/downs of the road are real, which made it fun to fly down a hill at 75KPH that normally has a turn you can’t do above 50KPH for fear of ending up with the sheep.

Vlcsnap 2026 02 27 16h04m27s518.

There do appear to be some bugs to work out with portions of the routes that overlap, these result in fences for riders to…ummm…navigate. This seems to occur any time the route doubles back on itself.

Vlcsnap 2026 02 27 16h05m02s781.

Likewise, there are moments when the cyclists appear to be using non-UCI-compliant bikes, pushing so hard that they simply melt into the pavement.

Vlcsnap 2026 02 27 16h11m20s304.

Still, in terms of the overall ups/downs of a course, it captures it well. Having ridden this route more times than I could possibly count, it does a good job there.

However, the surrounding terrain is mostly incorrect. About the closest it got was one point where I dipped down close to the water on a U-Turn, and it showed the gist of it:

Vlcsnap 2026 02 27 16h05m43s670.

Here’s it in real life:

Still, it’s hard to replicate everything on earth. In many ways, this is akin to RGT’s Magic Roads concept, where you could basically just generate a route based on a GPX file. Which is, in turn, equivalent to what Tacx has had for literally like 15 years (see my review from 2011 of this concept). And there are, of course, countless other small apps that do this too.

Nonetheless, having it in a larger/more mainstream app is beneficial to lots of people, and in the case of TrainingPeaks itself, this is a super common scenario. Many times over the last few years, my wife (who, like me, has been using TP for nearly 20 years) wants to ride a given upcoming race route (e.g., Ironman XYZ or Challenge XYZ), just to understand the general ups/downs. In the past, we’ve either tried to find the route on Rouvy or Fulgaz, or on occasion, messed around with the Tacx app. All of which provide a bit more scenic detail (full videos in the case of Rouvy/Fulgaz), but in many cases you might not really care about the scenery, and you just want the elevation profile. This solves that.

Anyways, cool stuff, and I’m looking forward to seeing the TrainingPeaks Virtual team make some minor tweaks here to streamline this process. Knowing their history in making such tweaks, I suspect it’ll be done by tomorrow at lunch. Maybe even breakfast.

With that – thanks for reading!

FOUND THIS POST USEFUL? SUPPORT THE SITE!

Hopefully, you found this post useful. The website is really a labor of love, so please consider becoming a DC RAINMAKER Supporter. This gets you an ad-free experience, and access to our (mostly) bi-monthly behind-the-scenes video series of “Shed Talkin’”.

Support DCRainMaker - Shop on Amazon

Otherwise, perhaps consider using the below link if shopping on Amazon. As an Amazon Associate, I earn from qualifying purchases. It doesn’t cost you anything extra, but your purchases help support this website a lot. It could simply be buying toilet paper, or this pizza oven we use and love.

Post a Comment

Your email address will not be published. Required fields are marked.
If you would like a profile picture, simply register at Gravatar, which works here on DCR and across the web.

Click here to Subscribe without commenting

Add a picture

*

34 Comments

  1. This is the feature I’ve been hoping Zwift releases at some point. I think for something like this I’d rather have the climb portal’s graphics to fake scenery that doesn’t match the real world.

  2. James

    Couple of tips –

    Generally planned routes (rather than ridden GPX files) have a far fewer weird errors (and much less chance of the track overlapping itself

    Secondly, there are a number of biomes you can select for a GPXplore route. It may have defaulted to mountain, but if you select hills, or plains, or Mediterranean…. you won’t get the snow capped mountains in the background.

  3. Lloyd

    This looks quite useful, but can a TP Coach add a route they have created to multiple riders as an event for them to ride or can you only add it to your rider TPV account ?

    • The support article at the bottom here seems to imply they can (I don’t have a coach account to validate): link to help.trainingpeaks.com

    • Donald Munro

      The coach can create a private event with a access key and give the key to all the athletes to join. Alternately coach or athlete can create a public event which anyone can join (events are defaulted to private but can be set to public by clicking the advanced button in event creation (along with setting number of bots, rubber band types for group rides etc).

    • Lloyd

      Tried it out with a hilly Mediterranean route I know quite well – on the whole I liked it. I used my coach account to create an event and it made for a nice ride where the feel was similar to the ride IRL. It’s a bit of a surprise the first time the bike brakes for a hairpin but that adds to the fun. I will try out setting up workouts too and see how well it replicates the feel of known circuit races. Like Ray, found some graphics glitches, but they were not enough to spoil the ride. It’s amusing to see you and your bike submerge through the road !

  4. Rider

    Hi, Biketerra is also a nice web app to ride on gpx routes.

    • Martin

      I wanted to write the same thing. Ray – I wonder what your review of Biketerra would be.

    • Crisp

      100% – small independent with welcoming price model and last x2 weeks have released some amazing in-browser features with procedurally generated forests, buildings and bridges but all based on OpenStreetMap data for that essence of place in a virtual world. The new road/track/path types with Crr make importing, editing and riding familiar and new routes really fun.

    • Dan

      Absolutely! Biketerra is user friendly and simply works for me as well…

    • Craig

      Biketerra has been my exclusive indoor platform this year. So impressed by the app and even more so by the developers and the community.

  5. Andreas

    I can create this with 2 clicks in Biketerra.
    TPV throw their potential away

  6. Alberto

    I’ve tested something similar on Incyclist platform.
    Using Google Earth images, after a short while you’ll get accustomed to crossfading from an image to the other and it works well.
    There and in TP virtual (as it was in RGT) it’s essential to add smoothing to file coming from GPS devices; wrong points will make your smart trainer simulating gradient by sufden up and down.

  7. MIchaelP

    Hoping that you will take a look soon at my favorite application for riding and racing on gpx generated routes, which is Biketerra. Unlike the scenery in TPV, the terrain generation and scenery in Biketerra is much more realistic. The picture in your article with the fake mountains in the background in TPV gave me bad flashbacks to the days of Racermate’s “3-D” application from 20 years ago.

  8. PSendera

    Biketerra for the win on the route creation and upload. They just implemented road surfaces and you can mix and match road surface types just like IRL rides

  9. Rom

    Good review, good suggestions for improvement. Not sure though that Georghe will be so fast, I find that release frequency slowed down.
    Anyway, the code thing is because you marked your event private.!
    Also, once a route is created it stays in the drop down list for further usage

    • Actually, George confirmed two items have already been fixed/changed (ahead of Breakfast tomorrow). And for the code thing, it’s actually a bug (I should be auto-signed up for my own event). We’re chatting about it now on Discord, but they’re digging into it.

      Fast as always…

  10. I came here to say that BikeTerra does this much, much better.

    But, several have beaten me to this.
    Very good improvement to the platform but just like RGT there are too many steps and limited graphics.

    BikeTerra all day long for real world route riding

  11. Lutz Pleuter

    Since I use and support Indievelo right from the start there is much truth in what you say.
    But in one point you don’t go far enough with your wishes.
    We pointed this out to George several times. GPX upload should be an in game feature. Why change the platform for this?
    Additionally the upload of team kits and finish line arch designs must be uploaded via email. And it takes ages to activate them.
    Not talking of the speech policing that TPV does in chat mode.
    Don’t get me wrong, TPV is a great platform, but they are still on the way of development and that way is still long.
    Greetings from Germany
    Lutz

  12. I’ve always liked the .gpx rides on smart trainers. Head units are pretty good at this subscription free. TrainerKit is also subscription free and has this functionality. Subscription fatigue and ease of use are the main motivators that got me started building TrainerKit. I would love some feedback. Apple only, iOS, Mac, Apple TV in the works. Outdoor structured workouts in testing currently.

    • Dan

      Hi! Can’t find it in the App Store.

    • Jean-Claude

      Hi Mike,

      Not available outside US it seems.

    • MichaelP

      It’s a nice app for the limited functionality that it provides. Most head units like a Garmin Edge will allow you to do the same thing. I can have my Edge control my trainer using an uploaded course or a previous rides saved to my history. Incyclist provides similar free functionality for computers running Windows, MacOs or Linux.

      With respect to this particular article, what your app does not provide is computer generated terrain to virtually depict the landscape in which the ride is taking place. People seeking a “virtual” riding experience may not find a screen with just an altitude profile and ride statistics to generate sufficient engagement. While it is very admirable that your app is free, it is very limited in what it provides vs subscription services like TPV and Biketerra (and formerly provided by Bkool before they were purchased by Rouvy). In addition to detailed 3-D visual representations of the terrain associated with the uploaded gpx file, they provide capabilities for group riding and racing, and also model dynamics such as drafting and downhill riding.

      One addition I’d recommend for your app is a map view screen so that a person riding a course not only can visualize their position on the altitude profile, but also can see their position on a map of the course.

  13. Hannes Stauss

    Why can’t one just use a ride already uploaded to TP?

    • TheStansMonster

      The majority of files used for this feature will be built in route builders, which universally create .gpx files and are very easy to work with. The majority of files uploaded to TP are .fit files and it’s harder to pull geo-data out of those to create routes, and a lot of day to day ride uploaded to TPV will have neighborhood detours and gas station stops and driveways in them and aren’t very suitable for creating a virtual route. Not saying the couldn’t get there some day, but it would probably require a built in course editor and this isn’t the most common workflow right now.

  14. Steve

    Suggest you give RealVelo a look. It does the map integration really well.

  15. Tom

    As other commenters ask for reviews of other apps, I was thinking and asking myself why you didn’t post on the TR AI launch?

  16. madmalkav

    Nice, but I wish they did some QoL updates like being able to use Apple Watch for HR monitoring and getting my sessions to Apple Health without having to go to a computer to download the file from the website, send it to my phone and import it.

  17. Graham Jenkings

    Love your work!

  18. Les

    Thanks for the review. These training tools just keep getting better and better. I’m sure it won’t be long before AI is being used to augment the visual reality experience in even more powerful ways.

    I like the approach of creating a workout from a real road experience. A few months ago I wrote an application for my personal use that takes any of my existing .fit files and converts it into a .zwo file that I can then use to control my smart trainer. I created it so that it prompts me to optionally enter warmup and cooldown intervals, current ftp level, and number of seconds to apply smoothing.

    I’ve been using it this winter and comparing my trainer output versus the actual ride from which I created the workout, and the summary stats are nearly identical, as one would expect. My goal was to just create an experience that would simulate the physical demands of actually riding the ride outdoors, so I believe I succeeded on that front.

    The only graphics available are the typical “cityscape” profile of an interval workout (image from Golden Cheetah attached), which is ok by my standards as I don’t really care for “cartoon” worlds, nor do I need that level of visual engagement to stay focused and get in a good training session (I’m probably very rare in that sense). When I want some nice visuals, I use Fulgaz to fill that gap because if its high resolution videos.

    The main difference in one of my generated workouts is obviously in the smoothing, which tempers the peaks but also raises the valleys. I have found 30 seconds to be a nice balance. I haven’t tried 1 second smoothing because I doubt smart trainers could continually respond with resistance fast enough to match reality.

    It’s interesting watching these companies continually bringing new and improved training tools to the masses, each with their own angle of differentiation.

  19. J. Newell

    Your update is appreciated…the TPV update, not quite as much. :-) That doesn’t mean that TPV updates aren’t welcome, but this process has so many friction points that it is hard to list them all (though I think you caught them all in your post). Riding your own route is nice, but setting it up can be a big PITA and when you get it all done, you have to wait at least five (or, often, six) minutes before you can ride!

  20. Valiant

    This would be awesome except for the fact that TPV is, frankly, the worst app i have ever used. It crashes constantly, it loses my power meter (Favero Assiomas) for no reason at all, it will cut my power by exactly 50% at random intervals in the middle of a workout (constantly), it will crash when i take a break and then will shut itself down without the ability for me to rejoin my workout, and worst of all, the only response i receive from their tech support is to uninstall and then reinstall again. I have, since January, uninstalled and reinstalled this stupid app no less than 13 times. This is, again, the only response their tech desk will give me. They did once yell at me for using bluetooth and not Ant+ for my HRM (Scoche) and blamed THAT on why the app crashed/shut down. Now they add this on top which i am *sure* will only make this app more stable and less buggy, right?