/RaceRunner

RaceRunner is a run-tracking app focused on racing.

Primary LanguageSwiftGNU Affero General Public License v3.0AGPL-3.0

RaceRunner

Twitter license cat

RaceRunner

RaceRunner is a run-tracking iPhone app focused on racing. Spectators can track the progress of runners during races. Spectators can start and stop timing of runs. Spectators can send messages to runners which are read aloud by the runner's phone. The app can stop timing a run automatically after a certain distance, which is useful for the time trials that runners conduct in preparation for races. The app can track shoe mileage and warn the user when mileage limits are exceeded.

I released RaceRunner to the App Store on April 21, 2016. Since then, a Chinese open-source-app website, iOSCodeHub, featured RaceRunner!

Notwithstanding my previous, positive experience with the pay-up-front business model, I decided to try freemium with RaceRunner. The app is therefore free to download but two features, broadcasting of runs to spectators and use of an animated horse to represent the runner, are available via in-app purchases.

The full source code for RaceRunner is here on GitHub for two reasons. First, open source seems appropriate in light of RaceRunner's open-source heritage. Second, I wish to advance the state of the art in run-tracking apps.

If you would like to build RaceRunner for yourself, follow these four easy steps:

  1. Clone the repo.
  2. Type pod install from the root of RaceRunner in Terminal.
  3. Add API keys for Google Maps, Dark Sky, and PubNub to Config.swift.
  4. Modify UIView+Bezier.swift, which is in the COBezierTableView CocoaPod, as shown below.
    public struct BezierPoints {
        static var p1 = CGPoint(x: -128, y: 0)
        static var p2 = CGPoint(x: 260, y: 374)
        static var p3 = CGPoint(x: -250, y: 168)
        static var p4 = CGPoint(x: 5, y: 480)
    }

Run in Progress

Colors of the route indicate altitude changes.

RaceRunner

Run Details

Colors of the route indicate pace changes.

RaceRunner

Run Details

App looks great in landscape mode.

RaceRunner

Graph of Pace and Altitude

RaceRunner

Settings

RaceRunner

Spectating a Race in Germany from California

RaceRunner

Spectating a Walk in Vermont from California

RaceRunner

A Ski Run in the French Alps

RaceRunner

Shoes

RaceRunner

Horse IAP

User can unlock animated-horse IAP.

RaceRunner

Main Menu

RaceRunner

Chromatic Inspiration

Miami Vice