.::.
      _|||||_
     | || || |
     |_______|
     \__ ___ /
      |___|_| 
      |_|___| 
      |___|_| 
     (_______)
     /_______\
  ____
 | >_ |
 |____|
  _____ _____ ____  __  __       ____ _   _ _____ ____ ____ 
 |_   _| ____|  _ \|  \/  |     / ___| | | | ____/ ___/ ___|
   | | |  _| | |_) | |\/| |____| |   | |_| |  _| \___ \___ \
   | | | |___|  _ <| |  | |____| |___|  _  | |___ ___) |__) |
   |_| |_____|_| \_\_|  |_|     \____|_| |_|_____|____/____/

Welcome, brisk-otter

Your games:

DateColorOpponentOutcomeMethod
2026-06-17 08:12whitebrisk-otterwincheckmate
2026-06-16 21:04blackcalm-finchlossresignation
2026-06-15 14:33whitekeen-lynxdrawstalemate
2026-06-14 19:01blackwitty-molewintimeout
Intro splash
ASCII rook + TERM CHESS wordmark, pink welcome, and games history table.

Move 6 · White to move · Bf4

Opponent played …Bd6.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
move>Bf4
London System
London System mid-game (~6 moves) with Bf4 selected and legal squares lit.
Pages
  • Intro
    Profile and game history
  • Game
    Play a game
  • Bot
    Play vs computer (untimed)
  • Privacy
    Data rights and deletion

↑/↓ · navigate · enter · open · esc · back

Page menu
Charm-style Bubbles list with purple Pages chip and pink selection.

Play vs Computer

1500 · white

Start a game: ctrl+n

Your bot games:

DateLevelColorOutcomeMethod
2026-06-17 09:401500whitewincheckmate
2026-06-16 18:221100blacklossresignation
2026-06-15 11:051700whitedrawagreement
2026-06-14 22:171300blackwintimeout
2026-06-12 15:031500whitewincheckmate
Bot lobby
Play vs Computer level/color picker and bot games history table.

Time control: 3 min (press 1/3/5 to change)

Create a game: ctrl+n

Join a random game: ctrl+r

Join by code: type the 6-character game code below and press enter

game code>XK9Z46
Created game XK9Z46 — waiting for opponent.

No game

PvP lobby
Game Page matchmaking: time control, join prompt, cream-on-purple notice.
SoftwareService

TermChess

Chess over SSH, in your terminal

What

Chess over SSH — real-time multiplayer with time controls, or solo games against rated bots.

Technicals

A Go server serves the Bubble Tea TUI over Wish/SSH. Shared managers own multiplayer state, clocks, and bot games; Postgres keeps history. Bots call a self-hosted lc0 engine behind a small JSON move API.

Why

For a deeper understanding of SSH-based client-server and game architectures — Bubble Tea's update loop follows the Elm Architecture — and for fun!

Where

Marketing siteGitHub