Updated
Go: Learn & Play
Play Go against an AI or a friend, with an AI coach at your side.
What it is
A Go board for learning and playing. Play solo against DeepSeek, which takes White and coaches you on each move, or create a room with a four-character code and play a friend, each of you with a private AI coach. Spectators can watch live games with AI commentary.
It is a static site with no server of its own. Supabase keeps rooms in sync in real time, and the AI features call the DeepSeek API straight from your browser with your own key. The key is kept only for the current tab and is gone when you close it.
How it works
- The rules are written from scratch: flood-fill groups and liberties, captures, no suicide, a simple ko check, and the game ends after two passes in a row. There is no superko, dead-stone removal or final scoring, so a finished game shows Game over without naming a winner.
- Four prompts drive four roles: a private coach, a spectator narrator, a solo opponent, and an autopilot that plays your moves for you. Each one answers in JSON mode, and anything that isn't a flat object of strings is rejected before it reaches the screen.
- The model gets the board, the move history and the full list of legal moves computed by the engine, and is told to save threatened groups first, then capture, connect and take territory.
- Every move is checked again before it is played. An illegal answer gets one retry; a second one stops the turn with a Retry AI turn button instead of a silent failure. Requests time out after 45 seconds, and a late answer can't change a game you have already left.
- Rooms live in a Supabase Postgres table, and Realtime subscriptions push each move to both players and every spectator.
- Boards come in 9×9, 13×13 and 19×19, with standard coordinates that skip the letter I.
- Tests cover captures, suicide, ko, legal-move generation, coordinates and the AI retry path with mocked responses, and run with the type check before every deploy.
Built with
Started