Mobile Timing App

Modified on 26 July



RunSignup continues its partnership with Rowan University by working with its talented computer science students through the university’s Computer Field Experience course.  As part of this program we sponsored two 6-student scrum teams that were tasked with planning, designing, and implementing a solution based on RunSignup’s project specifications to create a mobile app that provides timing for smaller races.

The RunSignup Mobile Timing App project intention was to create a solution for events with lower registration counts that may not be able to afford timing equipment and the associated timing service costs. Less attended events typically can not justify hiring a professional timing partner, but still need to be able to provide basic race finish times and upload those results to the RunSignup platform. The project’s goal was to provide the students practical experience by tackling a real-world issue. The end result is that they delivered a solution that makes use of readily available mobile devices and combines the old fashioned manual tracking of finishers with today’s technology.

How Traditional Race Timing Works

The Mobile Timing App project set out to automate the traditional manual method of timing a race using a chute and bib tags.  Timing a race using this traditional method has four main steps.

Step 1:  As runners cross the finish line a volunteer (The Finish Line Timer) captures the finish time of each runner by using a stopwatch with split time functionality.

Step 2: Runners enter the  “finish chute” to order them into a single file line.

Step 3: Another volunteer (The Tag Tearer) rips off the bib tear tag in the order of finish.

Step 4: The ordered finishing tags from the Tag Tearer are manually matched up with the times from the Finish Line Timer to produce the final results of the race. Those results are then entered into a spreadsheet so that they can be uploaded into a race management system like RunSignup to publish the results.

Mid-size and larger races can afford professional timers with sophisticated timing equipment that seamlessly reads finish times of participants as they cross timing equipment at the finish line and transmits the data to scoring software like RunSignup’s RaceDay Scoring.  This project aimed to bring similar automation to a small race using volunteers and their mobile devices.

RunSignup Mobile Timing App

The student teams built an application that has three modes to streamline the steps described above. 

1). The Timing Mode allows a timing volunteer to hit a button each time a runner crosses the finish line, thus recording their time.  The teams added features to cover multiple runners crossing the finish line at the same time and a way to delete mistakes.

2. The Chute Mode allows a second volunteer to quickly type in bib numbers in the order they come through the chute.  The Chute Mode also provides ways for the Chute volunteer to edit the order and correct mistakes.  

3. The Mobile Timing App also has a third Result Mode that allows for a verification step to ensure the correct order, edit results, and prepare results for upload to RunSignup.

The App uses the RunSignup public API to display the athlete’s name corresponding to the bib numbers, and ultimately to automatically upload results directly to the RunSignup system. 

Using the Mobile Timing App

Welcome to the RaceDay Mobile Timing App!

With this App you can hand time simple RunSignup Races that have a single start time per Event and publish the results to RunSignup.

You can use multiple devices to score a Race in realtime. It's common for one device to use Finish Line Mode to collect just the finish times and positions, then someone using Chute mode to collect the pulltags from the bottom of the bibs and enter them into the app in the order that they finished.

Alternatively, you can use Finish Line Mode by itself to score a smaller race entirely on one device by preemptively typing in bib numbers as you are recording times, or by using the Bib Grid mode to simply tap the bib numbers as they finish.

Select an App Flow

Score & Publish Results

Participant Data will sync down from RunSignup, and all of your results will be uploaded to RunSignup. Any existing results at RunSignup for the Event that you are scoring will be deleted, so this flow should only be used if you plan on using RaceDay Mobile Timing as your sole scoring method.

Backup Timer

Participant data will sync down from RunSignup, but none of your results will be uploaded to RunSignup. This allows you to get the bib data from RunSignup without overwriting existing results at RunSignup. This is useful if you are utilizing RaceDay Mobile Timing as a backup solution, and plan on using the export function to import the timing data into your main scoring system.

For more information on using Backup Timer Mode with Dropbox, see this guide: Mobile Timing App - Backup Timer Dropbox Integration - RunSignup 

Score Offline

No participant data will sync down from RunSignup, and none of your results will be uploaded to RunSignup. However, you can score an Offline Event without an internet connection. Data can be exported or assigned to a RunSignup Event later by using one of the other App Flows.

Logging into RunSignup

If you select “Score & Publish Results” or “Backup Timer” you will be required to login to RunSignup so that we can load in the Races that you have access to.

Next you will need to login to RunSignup and select Authorize.

Select a Race and Event to score

After you Authorize you will be presented a list of Races that you have access to on RunSignup.

Select the Race you would like to score, then select which Event within that Race you'd like to score.

Now that you have selected an Event within your Race to score you have options on how to proceed.

Finish Line Mode

This mode focuses on entering times for athletes as they finish. The operator's main task is to record the times of athletes. There are ways to optionally record bib numbers in finish line mode as well.

When ready, select Start Timer when the Race goes off.

If needed, you can update the start time by tapping the running clock as long as you have not yet entered any times. If you have entered times and you need to change the start time, you will need to delete the existing times in order to be able to change the start.

Tapping record will record a finish for a participant. Tap multiple times if multiple runners finish together, or use the + button on the right to add multiple runners to the same time if there's a tie or close finish.

You have the option to record bibs preemptively if you have a clear line of sight as a runner is approaching the finish line. Just type the bib in the top right then tap record to do this.

Chute Mode traditionally is used to enter bib numbers for each position later or by another app user at the same time.

Bib Grid Mode

This alternative entry mode is useful for smaller events where you are recording times and bibs on the same device for every finisher. Click the right button in the bottom right of the toolbar to change to Bib Grid Mode.

This will load a grid of all bib numbers assigned in this Event.

Simply tap a bib number to record a time for that participant. Note that the time recorded is shown after tapping a bib.

If you tap a bib again, we will allow you to remove the previous bib that was entered.

You can continue recording bibs by tapping, or use the No Bib button to just record a time in the top right corner.

Once you have completed recording the Finish Line, click Save.

Now that you have completed recording your Finish Line, you will be locked out of it and can proceed to use Chute Mode

Chute Mode

Chute Mode is used by an operator to enter in the order of finishers by providing all of the bib numbers in placement order. This mode is typically used if no bibs or only a couple of bibs are entered in finish line mode.

Traditionally, an operator working Chute Mode would be given a series of bib pull tags that are in order of finish, then they would enter these bib numbers into the system. The system will then match up the bib numbers with times from Finish Line Mode to produce a full result of position, bib number, and time.

It's not necessary to use Chute Mode if you are entering all bib numbers in Finish Line Mode, but it can be used as a check to ensure that the order of finish is accurate.

You can either enter in bib numbers by typing them, or you can use the camera icon to scan barcodes from the bib pull tags to process them more quickly.

Camera scan mode

Once you have entered all of your bib numbers in order of finish, then you can tap Save and proceed to check things over and make any necessary adjustments in Results Mode.

This will publish your results to RunSignup as soon as it is saved.

Resolving Conflicting Results

After entering Chute Mode you may have Conflicting result records. This will happen if you enter a bib in finish mode for a time and position then enter a different bib for that same position in Chute Mode.

Select if you would like to manually resolve them, or clear your local results and update it with what is at RunSignup.

If you chose to resolve, then you will need to tap each red row indicating a conflict.

When you tap a row, select which bib number was in the position you are resolving.

After resolving any conflicts you can proceed to Result mode.


You can view and edit results manually in this mode.

Use the edit button in the top right corner to make changes to any result row by tapping the row and adjusting as needed.

When editing, you can also remove results using the red icon on the right of the row.

You can add records using the plus icon in the top right, and delete all results if needed using the trash bin icon.

You can view your results on your RunSignup Dashboard by using the bar graph chart icon. From this page you can view the front end by clicking the result set ID.

Export Result and Timing Data

You can export a Results File and Timing Data File by using the file icon with an arrow. This will create an email draft that you can send to yourself or others to have a hard copy of the results, or to use the result text data in scoring software as a manual backup.

Example of Results Export file:

Example of Timing Data File in tab delimited 

Assign Offline Event

This functionality can be used in either the "Score & Publish Results" or "Backup Timer" App Flows to associate an offline event that you have scored with an event that you now have access to on RunSignup. This can be useful if you need to score a Race offline without Internet connection then later on need to publish results to RunSignup.

First you will need to score an offline event, and next you will need to select Online Event in order to get the Race information from RunSignup into the app.

Next, open up the Online Event, and select Assign Offline Event in order to chose an offline event that you want to map to this online event so that results can be published there.


Get Support

Use the "Get Support" button to send an email to our helpdesk team who can assist you with your questions.