So, a few weeks ago, we needed some online buzzer solution for a round of Jeopardy. This was kind of short notice, and I did not want to use some website with a lot of advertisement on it or something like that, so I stumbled across bufferapp/buzzer. This is a simple to set-up solution, that can be run with docker really simple. This was a perfect and simple solution and easily host-able. Instant win.

There is just one simple downside: The whole instance only provides one room to join. So there is only one buzzing session, which is nice for a quick and easy setup as well as usage. However, when wanting to host this for more groups ⁄ parties, this is a bit of an issue. This is why I started to implement a custom solution using KTor again:

The project provides a lobby-system, where lobbies can be created arbitrarily with either a random code or just any code entered, participants being able to join to that lobby, and hosts being able to see who buzzed as well as reset the buzzes for the lobby. All of that is more or less state-less on the lobby-level, so lobbies are also created by the first participant or host joining the specific link Buzzes as well as the host list is sent ⁄ updated using websockets. On server-side, events are logged additionally.

And of course, open source on Github.