Strava is a great app for competitive analysis of physical activity data from biking, running, rowing etc., but is also a good place just to store your activity data and measure and analyse it for yourself. Features such as the Training Calendar provide a great summary of how you're tracking month on month and year on year and can provide powerful motivation to increase your training. For outdoor activities, visualising GPS data on a map is something I get a kick out of - especially when covering new trails over time. Strava does a great job of plotting individual activities on a map and for premium, paid users there is the heatmap feature which is very cool, but I haven't found a way to plot multiple activities on a single map view. It may be possible, I didn't look that hard, but wanted an excuse to use the excellent Java Strava API anyway, so figured that was a reasonable use case.
Using the API with the excellent Vaadin framework made it pretty simple to put together a simple web app that allows you to select multiple activities of your own or your Strava mates, and plot them on a single map view. You can even select all your Strava activities and plot them at once if you like.
Below is a plot of my trails around Bath/Bristol in the summer of 2015.
In addition to plotting multiple activities, you can download the geographical data associated with each activity in GeoJSON format, which you can then use to something else cool with D3 JS or something similar.
The application is available here and the source code here if you'd like to run it yourself - all that is needed is to configure an application within your Strava account here for OAuth authentication, and make sure you have a Mapbox access token.