Y·B← All projects
Motor control · bot detection · Fitts's law

Human or bot?

Click 12 targets as fast as you comfortably can. Your arm leaves a signature in every movement: a slight arc, a speed curve that rises and brakes, a tiny pause before you click. This page reads those signals to decide whether a person or a script is holding the mouse.

Result
—% human
Needs a mouse or trackpad. A finger tap has no movement to read.
What gave it awayshare of moves
Curved path, not a ruler line—
Speeds up, then brakes—
Not a mathematically perfect curve—
Pauses to confirm before clicking—
Brakes early or corrects near the target—

Each bar is how many of the 12 movements looked human on that test.

Fitts's lawtime vs difficulty
Speed during one movement● you  ● ideal bell curve
01TraceEvery pointer sample between clicks is recorded, including the extra in-between samples your browser batches together.
02Speed profileReal reaches follow a bell-shaped speed curve (the minimum-jerk model), usually peaking early and braking long.
03Five testsEach movement gets +1 or −1 on five signals. The average becomes a probability with a logistic curve.
04Fitts's lawHarder targets (far and small) take longer: time = a + b × log₂(distance / width + 1). Throughput is how many bits per second you process.

The thresholds are hand-tuned on simulated people and bots, not trained on real users. The humanlike bot copies human motion on purpose and usually passes, which is exactly why real bot detection also looks at timing across a whole session, device signals and behaviour over time.