RaceRunner is a run-tracking app focused on racing.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
Pods add Siri support and release version 2.4 Jun 24, 2018
RaceRunner.xcodeproj add Siri support and release version 2.4 Jun 24, 2018
RaceRunner.xcworkspace cleanup and update dependencies May 14, 2018
RaceRunner add Siri support and release version 2.4 Jun 24, 2018
Siri add Siri support and release version 2.4 Jun 24, 2018
.gitignore
Podfile add Siri support and release version 2.4 Jun 24, 2018
Podfile.lock add Siri support and release version 2.4 Jun 24, 2018
README.md fix readme Mar 25, 2017

README.md

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