TimeStop asks someone to stop a timer when an interval feels complete. The screen eventually reports the difference, but the important event happens earlier: the instant the player stops.
The Android game measures that interval on the device with a monotonic Dart Stopwatch. It captures the stop before rendering the result. Network submission has a separate job: sharing the result that has already been measured.
Keep the score close to the action
A response from a server can arrive late for reasons unrelated to the player's sense of time. Keeping measurement local separates those delays from the central mechanic. The interface can present a result after the event without allowing the presentation work to define when the event happened.
This boundary also makes the rest of the workflow easier to describe. Measurement records the interval. Feedback explains the attempt. Submission carries an eligible result to the shared system.
Save before synchronizing
TimeStop saves progress and pending submissions on the device before upload. If a connection fails, synchronization can retry. Cached standings remain available while the client catches up. A temporary network failure does not need to become a lost attempt.
Those local records have a specific scope: progress stays on the device rather than becoming cloud save. The millisecond display also describes the measured difference; it is not a claim of certified hardware accuracy.
The decision is useful beyond a timing game. Identify the event the person cares about, capture it at the right boundary, and give the slower work that follows its own responsibility.