Mobile Chronometer is a free, open-source Android app for referees and volunteers who record when competitors pass control points at bike races and other cyclic sports (duathlon, running, etc.). It turns an ordinary phone into a reliable timing terminal: a big button, number entry, millisecond-accurate time, and instant saving.
What it is for
At control points (CPs), the start and the finish, referees manually mark that a competitor with a given number passed the point at a precise moment. Chronometer does this quickly, accurately and without losing data. The app is offline-first: coverage on course is often missing, so every mark is written locally first, and the upload to the server runs in the background and resumes on its own as soon as the internet is back. The exported file format is compatible with the desktop refereeing tools that assemble the final protocols.
Who it is for
- Referees and volunteers at control points, the start and the finish.
- Organizers of small and mid-size cycling events, duathlons and runs.
- Anyone who needs a reliable, simple timing tool with no special hardware — just an Android phone.
Key features
- One-tap cutoff. A large button records a competitor passing; every press is written to the local database immediately.
- Finish mode. A mark is recorded as "finish" instead of "next lap".
- Disqualification with a reason. A separate (secondary) button and a field for an optional reason that is saved with the mark.
- Number entry as digits or text — for alphanumeric bib numbers.
- Mirroring to files. Every press is mirrored to a chosen folder: a shared results file plus a separate immutable snapshot per press.
- Auto-upload to the server. Results are sent to the site over HTTP(S) when there is connectivity; the upload is driven by the system scheduler, so it survives leaving the app.
- Timing mode. A foreground service keeps the system from killing the app during a long race, the screen stays on, and the app suggests turning on "Do not disturb".
- Status indicators for the upload and a warning if the results file could not be saved.
- "New race" — reset the cutoff list and token (backups are kept).
- Three UI languages (Russian, Kazakh, English), light/dark/system theme, and state preserved when the app is backgrounded or the phone restarts.
How to use it
- Set up before the race. In Settings, set the data folder, the control-point number, and language/theme/input type. For server upload, set the site URL and upload token and enable "Upload to site". Save.
- Start working. Tap "Start timing mode" — a persistent notification appears and the screen stops dimming. Turning on "Do not disturb" is recommended.
- Mark competitors. Enter the number and tap "Cutoff" as they pass. To disqualify, enter the number, optionally type a reason, and tap "Disqualify".
- Upload. With upload on and connectivity present, results go out automatically; offline they accumulate locally and are sent later on their own.
- Finish. Tap "Stop timing mode". Between races use "New race" to reset.
Reliability and data format
Every press is written to the local database first, so marks are not lost on a crash, loss of connectivity or a phone restart. The chosen folder keeps a shared results file (compatible with the desktop refereeing tools) and separate immutable snapshots per press. The result line format is number#time#event#, where the event is nextLap (a lap), finish (the finish) or DSQ / DSQ: reason (a disqualification).
Where to download
The app is free and open source. The Android installer (APK) is on the releases page: the GitHub releases page (download the latest version). No special hardware is required — just an Android phone.
Open source, contributing and requests
Source code: the GitHub repository. Found a bug or want to request a feature — open an issue. Pull requests are welcome.
Комментарии (0)
Комментариев пока нет. Будьте первым!
Войти чтобы оставить комментарий.