About CPSBench

CPSBench is a one-person project. I wanted a click test that tells you more than a single number, loads instantly on a school Chromebook, and doesn't bury the button under ads. So I wrote one.

The pages are static files: plain HTML, one stylesheet and a few small scripts, no framework and no build chain beyond a small Python script that stamps out the pages. Every test runs in your browser. The one piece of server code is the leaderboard, a short PHP script with a SQLite file behind it, and it only hears from you when you post a run. What it stores is on the privacy page.

How scores are calculated

Every hit is time-stamped with the browser's high-resolution clock. A run starts on the first hit and ends exactly when the selected time is up. Average CPS is hits divided by test length. Peak is the most hits inside any one-second window. Cadence is the coefficient of variation of your gaps, inverted and scaled to 0 to 100. The technique label comes from gap patterns. It looks at how spread out the gaps are and whether short and long ones take turns, and it flags gaps too short for a human finger. Held keys and key repeat are never counted.

Fair play

Auto clickers and macros produce big numbers here like they do everywhere. Runs with machine-even gaps are labelled and kept out of your personal bests. Posted runs are judged on the server from their timestamps: a speed ceiling for each test, repeated or evenly randomised gaps, a fast run with zero fatigue, and copies of earlier runs all keep a run off the board, automatically. A determined cheater who fakes human-looking timing at a believable speed will get through; nothing that runs in a browser can stop that completely. What the checks do stop is the ordinary auto clicker and the impossible number.

What's next

More boards and splits on the stats page as data comes in, then localisation.

Contact

Found a bug or a score that looks wrong? Write to [email protected].