Strava Engineering Team Blog

Digging into the Mobile Feed

In March, we released the Strava 4.0 Android and iPhone Apps, which featured a completely redesigned Activity Feed. In order to bring the new design from a concept to a functional product, both platform teams went through several iterations of implementation and performance tuning. This post highlights some of the techniques we used along the way, obstacles we faced and limitations we discovered.

View More.

What Do 220,000,000,000 Data Points Look Like?

Recently we released a global heatmap of 77,688,848 rides and 19,660,163 runs from the Strava dataset. This was more of an engineering challenge to create a visualization of that size than anything else. But still, the map has raised many questions about how and where people run and ride. Some of these can only be answered using the raw data, which is addressed by our Metro product.

View More.

Minifeed Engineering

The main activity feed on the Strava dashboard does a great job of keeping athletes up to date on the riding and running activities of other athletes that they're following, but we thought it might be interesting for athletes to be able to engage more with the social activities of others on Strava: what activities are earning a ton of kudos, or sparking conversation among others being followed.

View More.

Introducing Routemaster

RouteMaster is the engine that powers point to point path finding for Strava routes in our newly released Route Builder. The killer feature of RouteMaster is data drawn from real Strava athletes. Instead of merely knowing which paths are designated for cycling/running, we analyze tens of billions of GPS points from millions of Strava activities. This data gives aggregate statistics about how athletes use every road and path section in the world.

View More.

Go Heatmap Yourself

Recently we introduced a heatmapping feature on Strava, our first feature built using the Go programming language. This is part of work to move Strava towards a service-oriented architecture with well-defined interfaces that can be written in any language.

View More.

A Saturday on Strava, Mapped

On Saturday July 20th athletes covered 4,890,000 miles in over 326,000 combined hours. To get a look at what all that riding looks like I built the Saturday on Strava Heatmap, a visual of all those miles, broken down by hour.

View More.

Improving Grade Adjusted Pace

Grade Adjusted Pace (GAP) estimates the equivalent flat land pace for a given running pace on hilly terrain. Running uphill requires more effort than running on a flat grade, so GAP adjusts pace to be faster than the actual running pace. Similarly, GAP is slower than actual pace on downhill terrain. This post discusses improves we have recently made.

View More.

KOMS, Powered by Redis

One of the first scaling challenges we encountered at Strava was maintaining real-time segment leaderboards. There are a number of questions that we ask of a segment leaderboard, such as:

View More.