// the manual

How it works

Three screens, one idea: every answer is computed, and every mistake gets a price.

Drill

You get a board, a hand, and an opponent whose betting range is stated on screen. Two question types:

  • Call or fold. The opponent bets. You are told the pot, the bet, and the equity you need to break even. Choose. The engine then computes your real equity against their range and tells you exactly what your choice was worth: right answers score zero, wrong ones are charged the expected value you gave up.
  • Read the equity. Same spot, harder question: estimate your equity with the slider. Within seven points counts as a good read. Being wrong here costs you money indirectly, so the miss is priced as the bad call or fold it would have caused.

Play

Heads-up hands against one of the opponents, four streets, simplified betting: check, bet, call, fold. The coach rail shows your live equity against their range as the hand develops. Turn it off, play blind, and switch it back on when you want to check yourself.

These opponents are not solvers, and the trainer never pretends otherwise. Each one is built around a specific, learnable mistake. Beating them teaches you to spot that mistake in a real person.

Leaks

Every graded answer is logged. The Leaks screen ranks your mistakes by total cost in big blinds, not by how often you make them, because a rare expensive error beats a frequent cheap one every time. Fix the top line first.

Your session lives in your browser's local storage. Nothing is uploaded, and clearing site data resets it.

What the numbers mean

  • Equity: how often you win the pot, counting ties as half, against every combination in the opponent's stated range.
  • Pot odds: the equity you need for a call to break even: bet ÷ (pot + 2 × bet).
  • EV: what a decision is worth in big blinds. Folding is always exactly zero, which is what makes it the honest baseline.

Where the answers come from

A Rust engine compiled to WebAssembly, running in your browser. It samples 40,000 runouts per drill question. It was verified by fuzzing against an independently written brute-force evaluator over 400,000 hands with no disagreements, and it reproduces the textbook equities exactly.

One honest limitation: the opponents' ranges are stated assumptions, not solver output. They are shown to you precisely so you can disagree with them. What the engine guarantees is that, given the range on screen, the equity and EV are right.

The push/fold drill is the exception: there the opponent is not an assumption but the solved heads-up equilibrium, and the whole table is published as push/fold charts for every depth from 2 to 25 bb, with the EV of every hand.

Start training →