Since moves are usually made in a matter of seconds, limiting delay in transmission was the most important task. The main challenge was a quick transformation of moves we received into a format we could display. In blitz part of the tournament we were receiving moves from all chessboards as often as a few times per second. We had to show them in real time.
We based our solution on a node.js and a cluster of servers. We used MongoDB for storing historical games. We created a set of monitoring tools to measure any delays or problems in transmission.