My personal best is 214ms. I've tried 47 times today. I cannot crack 200ms no matter what I do.
A colleague swore he got 183ms last week. I accused him of cheating. He said I'm just old.
So I built this: Reaction Time Test
How it works
You wait for the screen to flash green, then tap/click as fast as humanly possible. Five rounds. It averages your best attempts and rates you on a scale:
- 🟣 Superhuman — under 150ms (allegedly possible)
- 🟢 Fast — 150–200ms (pro gamer territory)
- 🟡 Average — 200–250ms (most people land here)
- 🔴 Slow — 250ms+ (welcome to the club)
I keep landing solidly in Average. It's humbling.
What I learned building this
The hard part wasn't the timer — performance.now() is accurate to microseconds. The hard part was preventing click anticipation. If the delay before the green flash is predictable, humans will start clicking before they see it, producing fake sub-100ms "scores."
The fix: randomize the delay between 1.5 and 4.5 seconds. If you click early, it counts as a false start and resets that round. No cheating.
I also added a subtle red background during the "waiting" phase so you're not staring at a blank screen. Seems obvious in retrospect. First version had a 40% false-start rate. After the visual change: dropped to ~8%.
The game
Go try it: billion-reactiontime.pages.dev
Drop your score in the comments. My 214ms is apparently "Average" and I'm not accepting that.
Top comments (0)