Strava Engineering: ios

Managing Internal iOS Dependencies with Private CocoaPods

Strava's iOS application and extensions are powered by a lot of code. As with most apps, this is a combination of code written by Strava engineers and by various third parties. We've been managing these third party dependencies using CocoaPods, a dependency manager for Swift and Objective-c Cocoa projects, for a few years.

View More.

Improving Auto-Pause for Everyone

Every time an athlete uploads an activity to Strava, the server analyzes the activity and calculates various metrics for it. For each activity, the server calculates "elapsed time" (the time between the athlete starting the recording and ending it), and "moving time" (a measure of how long the athlete was actually moving). Moving time is then used to calculate additional statistics such as splits and pace data for runs.

View More.