Clockchecker is a solver of Blood on the Clocktower's puzzles,
specifically the kind posted by reddit user u/Not_Quite_Vertical.
An archive of their puzzles is here.
The project page for clockchecker is here.
Clockchecker Interactive (i.e., this webpage) is a statically-hosted web GUI for clockchecker.
It was vibe-coded using Gemini+Canvas, because I am not a front-end guy. The clockchecker solver runs using PyScript, which is the full(ish)
CPython interpreter compiled into WASM bytecode that runs in your browser. It uses a single thread, so it is not particularly fast (I've found it to be around 20x slower than running natively on a 16-core CPU).
But it does work, which I think is pretty neat. ✨
Why is it slow?
Clockchecker is a hobby project. To try to keep it fun, it is written in Python, and the design decisions lean
towards conceptual simplicity rather than efficiency. This helps keep the sprawling complexity of
Blood on the Clocktower's character
interactions managable, but it does mean it's not as fast as it could be. Additionally,
Clockchecker Interactive
(this web front-end) runs the solver in a single thread, in a Python interpreter, in a WASM runtime, in your browser...
If you would like to run the solver faster (e.g. ~20x faster if you have a 16-core CPU), you can
download the clockchecker source from github
and run it natively, no installation required.