Browser timing, shown honestly
Reaction timing without the black box.
A lean visual and audio reaction-time test that reports the timing uncertainty alongside every score — tuned for high-refresh displays up to 600 Hz.
Visual: 5 trials · audio: 10 cues · no sign-up
What makes the number honest.
Painted-frame visual timing
Visual stimuli are timestamped at the frame we actually paint — inside requestAnimationFrame — not the frame we asked for. Confidence scales with your display: about ±8.3 ms at 60 Hz and ±0.8 ms at 600 Hz.
Honest about audio
Browser audio output latency is unknowable to the millisecond — and brutal on Bluetooth. We label audio results as relative, warn on wireless, and never pretend an absolute number is exact.
A scoring core you can audit
Stats, percentiles and anti-cheat run in a small Rust core compiled to WASM — the same code on your device and on our server, so the leaderboard re-scores every run from raw trial data.
Train the reflex.
A 3D reaction, aim, and decision training suite — a Rust/Bevy engine that loads only when you play. Every run is seed-derived and re-scored server-side by the same core as the precision tests: raw milliseconds, ± bands, and per-action cursor metrics, all browser-observed.
Training-grade, same-setup competition. It complements the precision reaction-time test — it doesn't replace it.
Targets pop, you snap — aiming throughput per second.
Glue the reticle to a target that won't hold still.
Right answer, right now — the cost of choosing.
Cut the wire on go, hold on the bomb — how well you stop.
Read the center arrow while the flankers scream the opposite — focus under noise.
Fitts throughput · d′ · drift rate · path efficiency — every metric with its uncertainty
Find your baseline.
Visual ranks by median. Audio ranks by 10-cue average. Both keep uncertainty visible.