Why? There is currently no service or open source software that has all of the following:
* All processing and assets on a single server (Critical to workaround a firewall) * No email account required (Chinese Internet services typically login via WeChat) * Works on Android browser * Simple to install and config
I built it, together with Claude Code, using simple and boring technologies (Django + Client-side JS). I hope that when you use it, you will find it simple to understand (everything is done server-side), deploy, play, and maybe even hack. :)
Live demo: https://family-chess.quee.org (Please be gentle, it's a tiny 2GB VPS!)
PS: even has container images, e.g. https://github.com/lichess-org/lila-docker so before I could finish writing this message I had my own instance running.
Running something as complex as Lichess is... unwieldy when all I wanted was something I can quickly spin up in 5 mins on nearly any server, with a simple mobile interface for my father-in-law and child, and easy-to-debug (Lichess uses websockets which are often blocked by state firewalls).
If you don't have to deal with an amorphous state actor and a very different Internet culture, then please use Lichess. :)
In the context of chess I would imagine passing JSON around via EventSource/SSE should be more than enough.
For now, yes we are communicating moves in exactly the way you described EventSource! Eg:
{ "fen": "rnbqkbnr/pppppppp/8/8/4P3/8/PPPP1PPP/RNBQKBNR b KQkq e3 0 1", "status": "active", "turn": "b", "white_ready": true, "black_ready": true, "spectators": 1, "in_check": false, "last_move": "e2e4", "game_over": false, "available_colors": [], "reservations": { "white": {"reserved": true, "expires_in": 0}, "black": {"reserved": true, "expires_in": 0} } }
Your sudoku (https://raunak.io/sudoku) kicksass!