Correspondence chess is not a worse version of online chess; it is a different game. Days per move, one deliberate decision at a time, played against a person you know rather than a rating pool. Online platforms did not improve that game, they replaced it: ratings, clocks, engines and accounts arrived together and the quiet version disappeared underneath them.
What actually killed postal chess was never preference, it was friction. Keeping the board state straight across letters, catching an illegal move, remembering whose turn it is across five simultaneous games: that is precisely the bookkeeping software is for. Postal Gambit does that bookkeeping and refuses to do anything else. It keeps the games, enforces every rule of chess including all the draw rules and writes each move as a ready-to-send email in whatever mail client you already use.
The email itself is the protocol, built to be read by a human first and a parser second: a short note, an ASCII board and a delimited block carrying the entire game state. Because every message carries the whole game, a lost email never corrupts anything and the two sides can never silently diverge; a disagreement is detected and reported. An opponent without the app can reply with a bare move like Nf6 and it imports fine.
Two refusals are structural rather than settings. There is no network code at all, a rule the test suite enforces by forbidding network imports, so the app cannot phone home or fail on someone else's server. And there is no engine, ever: correspondence chess died once already from machines. Underneath sits the usual engineering bar: a clean layered core with python-chess quarantined behind a port, a 100% coverage gate outside the UI and one plain JSON file per game with atomic writes.
Full reasoning at crankthecode.com.