Hold'em

In progress

Web · play money · one cash table

No-limit Texas Hold'em, dealt at a public cash table for play money. You take a table from the lobby, buy in, and play hands until you decide to stand up — there is no tournament to survive and no bracket to climb, which is what makes it the version of poker you can sit down to for ten minutes.

The other seats are filled by bots, written to three difficulty tiers so a table is not one personality repeated eight times. They are rule-based rather than learned, which is a deliberate choice and not a placeholder: a bot whose reasoning can be read is one whose bad calls can be fixed.

The rules engine was written twice on purpose — first in Go, then ported to TypeScript — and the Go version is kept as the reference the port is checked against, hand for hand. Poker is a game where an edge case in the side-pot maths is a real bug rather than a cosmetic one, so two implementations agreeing is the cheapest way to know the port is right.

What runs today is the whole game against bots, in a single browser tab. The parts that make poker a thing you do with other people — a shared table with real players at it, accounts, and chips that outlive the browser they were won in — are specified and not built. Today's chips are a local stand-in and the daily allowance runs on the honour system. It is the table that works, not yet the room.

Play Hold'em