APEX

How a lap becomes a lap time.

Four steps, one of which is the only one that matters: the engine that decides when you crossed the line runs identically on your phone and on our servers.

The short version

Import, or record live

Files from the logger you already own — SpeedAngle, VBOX, RaceChrono, down to a hand-made CSV with a position and a timestamp — or live from a RaceBox through the Apex Android app, which is not in the Play Store yet.

Lap times you can trust

The same lap engine runs on your phone and on our servers, so the two cannot disagree. On real outings it matched a commercial lap timer to about 8 ms.

Share on your terms

Private, friends, or public — chosen per outing. The venue gets your times; the trace of where you went stays yours.

1 · Recording

Position and a timestamp is the whole requirement.

A RaceBox streams over Bluetooth at 25 Hz to the Apex Android app, which is not in the Play Store yet, and we decode it directly. Anything else can be a file: SpeedAngle, a VBOX or RaceChrono .vbo, a lap timer that exports CSV, or a column of latitudes and longitudes you assembled yourself. Everything beyond position and time — speed, heading, satellite count — adds detail to the result rather than being needed to produce one.

Ask us for the Android app: it is not in the Play Store yet, so this opens a mail to support@apexracetiming.com, and a person answers it. What the app needs, and how installing it goes.

Recording only starts inside a circuit we recognise. That is a deliberate limit rather than a missing feature: a lap timer that runs on the road home is a different product with different consequences.

The Android app

What it needs, and how installing it goes.

  • An Android phone on Android 12 or later, with Bluetooth.
  • A RaceBox Mini or Mini S. The Micro is not supported yet.
  • A circuit a venue has placed on Apex: live timing starts only inside one.

No RaceBox? The app does not record from the phone on its own yet. Record with your phone’s lap-timer app and import the file instead, with nothing to install.

The app is not in the Play Store yet, so it is installed by hand. This is the whole of it:

  1. Ask us by mail. A person replies with a link to the app.
  2. Open the link on your phone and download the file.
  3. Open the download. Android asks you to allow installs from your browser, once; allow it.
  4. Google Play Protect may offer to scan the app, or say it does not recognise it. That is what any app from outside the store meets; the scan is your choice.
  5. Open Apex, sign in with the link we email you, and find your RaceBox.

Ask us for the Android app: it is not in the Play Store yet, so this opens a mail to support@apexracetiming.com, and a person answers it.

Which circuits have a placed line is on the circuits page; if yours is not there, the venue that runs it can ask us to add it.

2 · Timing

The line is geometry, not a stopwatch.

A circuit owns its start/finish line and its splits as real coordinates. Crossing one is a geometric event between two samples, so the crossing time is interpolated rather than rounded to whichever sample happened to be nearest — which is where most of the accuracy in a GNSS lap timer actually comes from.

Because the line belongs to the circuit and not to your recording, correcting a line that was placed badly re-times every lap ever driven through it, exactly, from the raw capture. Lap times never change silently: a lap records the engine version and the line revision that produced it, so a change you did not ask for is visible rather than mysterious.

3 · The same engine, twice

Your phone and our servers cannot disagree.

The lap detector is one piece of code with no knowledge of where it is running. It times your laps live on the phone in your pocket, and it times them again on the server when the full recording is uploaded. Not a port, not a reimplementation — the same file. A live lap appears within a second and is marked provisional; the upload is what is authoritative, and a provisional lap never takes a record.

Every change to that engine is proved against a virtual device that drives a circuit whose lap times are known analytically, before it reaches anybody’s data.

4 · Two boards, kept apart

Not every source measures the same lap the same way.

A phone at 5 Hz carries about 146 ms of timing error — wider than the gap between first and third at most club events. Ranking it against a 25 Hz logger would produce a board whose order partly depends on which phone you own. We keep two boards instead, and say which one your laps are on and why.

SourceRateTypical errorBoard
RTK logger100 Hz100 Hz1 msRanked
RaceBox25 Hz25 Hz30 msRanked
Good phone GNSS10 Hz10 Hz85 msPractice
Typical phone GNSS5 Hz5 Hz146 msPractice

The table is position noise on a synthetic circuit whose lap times are known exactly, a thousand laps a row. The engine itself was checked on two real outings at Sydney Motorsport Park recorded on a commercial lap timer: timed across that device’s own lines, our laps matched its laps by 4 to 6 ms on average and about 8 ms at worst.

How Apex times a lap — Apex Race Timing