So I asked Claude to build me an app. Claude found the task too daunting and only wanted to create a skeleton app. I was surprised by how complex the system actually is. Part of the process involves the phone sending an encrypted Bluetooth message as proof of presence, along with instructions on how to proceed.
With the help of DeepSeek's free chat, I eventually managed to create a working implementation, after chasing quite a few hallucinations and dead ends... Claude then polished the app for me.
The repository includes a full specification with test vectors, and the website has a nice, accessible explanation of how the process works.