RACE GORILLA

Precision Timing
for Every Race

RaceGorilla sports timing mobile app
CONTEXT

RaceGorilla offers a self-service sports timing platform. When the COVID pandemic brought the sports event market to a halt, the team seized the opportunity to reimagine their tech stack.

Sports timing is an accuracy-critical business where milliseconds matter. RaceGorilla needed to rebuild their legacy mobile application in a modern framework that would allow them to do more with a smaller team. The app needed to deliver synchronised timing services via multiple mobile devices, incorporating advanced integrations like Bluetooth connectivity, live updates, and robust offline support.

THE TIMING CHALLENGE

Building a high-performance sports timing app requires sub-second accuracy, reliable connectivity in outdoor environments, and bulletproof offline capabilities for events with unstable data connections.

We delivered a full-stack rebuild - from the Flutter mobile app to extensions of the PHP/Laravel backend and Angular web application. What started as a migration transformed into a deep technical partnership. Using our six-step framework, we navigated the complexity of real-time timing at scale.

1. IDENTIFY & VALIDATE

1. IDENTIFY & VALIDATE

We analyzed RaceGorilla's legacy application to understand the critical performance requirements. Key findings: timing accuracy must be maintained across multiple devices simultaneously, the app must function reliably without internet connectivity at remote race locations, and scanning speed must match or exceed the legacy application.

The RaceGorilla rebuild demonstrates how a platform migration can become a catalyst for broader technical improvement. By moving to Flutter, the team can now do more with fewer resources while delivering timing accuracy that matches their legacy application. RaceGorilla has since fully decommissioned the legacy Competition app, with all users migrated to the Flutter-built RaceGorilla Pro app.

TECH STACK

Full-Stack Sports Timing Platform

Flutter Bluetooth MQTT Laravel Angular
KEY FEATURES

Built for Race Day

Every feature was engineered for the demanding conditions of live sports events - outdoor environments, unreliable connectivity, and millisecond accuracy requirements.

BLUETOOTH TIMING

Direct Bluetooth connection to hardware timing devices enables precise, synchronised timing across multiple mobile devices at different race checkpoints.

MQTT LIVE UPDATES

Real-time race updates are pushed to spectators and organisers via MQTT, providing live leaderboards and split times during events.

OFFLINE-FIRST

A local database and queue system ensures all timing data is captured even without internet connectivity. Data syncs automatically when connection is restored.

MULTI-DEVICE SYNC

Multiple devices can operate simultaneously at different checkpoints, with synchronised timing ensuring accurate split times and finish results.

ARCHITECTURE

Full-stack sports timing platform connecting mobile devices to cloud infrastructure

The Flutter mobile app connects to hardware timers via Bluetooth, publishes live updates via MQTT, and syncs with a PHP/Laravel backend. An Angular web application provides event management and results display for organisers and spectators.

1

TIMING CAPTURE

Mobile devices connect to Bluetooth timers and capture timing data with offline queue backup.

2

LIVE SYNC

MQTT protocol delivers real-time race updates while the local queue handles connectivity gaps.

3

EVENT MANAGEMENT

PHP/Laravel backend and Angular frontend provide comprehensive event setup, results, and analytics.

THE MOBILE APP

A high-performance Flutter app that delivers synchronised timing services with native-level Bluetooth integration.

Unlock'd's extensive experience in Bluetooth and scanning technologies was crucial in achieving scanning speeds in Flutter on par with the legacy application. The app incorporates advanced integrations including Bluetooth connectivity, MQTT for live updates, and a local database with queue for offline data storage and sync. The legacy Competition app has been fully decommissioned in favour of the RaceGorilla Pro app, available on both the App Store and Google Play Store.