Projects
Pick something to explore
Counting Outs Drill
Practice counting outs across the 9-game mix — Hold'em, Omaha (Hi-Lo), Stud, Razz, and 2-7 Draw. Exact deck-accurate answers, live-card discounting in Stud/Razz, the two-hole-card rule in Omaha, and per-game accuracy tracking.
/outs-drill → DrillStack Journey
Live stack-tracking the way it happens at the table — action streams one card at a time, no rewinding, and the run never stops. Keep a running count through bets, calls, wins, and losses; gold checkpoints test the number you've been holding. Chips and big-blind modes.
/stack-journey → LearnMixed Game Quizzes
Tutorials and self-grading quizzes for all 14 games in the WSOP mixed-event rotations — Hold'em (NL/Limit), Pot-Limit Omaha, Omaha Hi-Lo, Big O, Stud, Stud Hi-Lo, Razz, 2-7 (single + triple draw), A-5 Triple Draw, Badugi, and 5-Card Double Draw. Pick a game, read the rules, then quiz yourself tournament-ready. Includes a hand-rankings reference for high, A-5 low, and 2-7 low.
/mixed-game-quizzes → CFRCFR Simulation
Watch a poker bot learn Kuhn poker from scratch via vanilla Counterfactual Regret Minimization. Includes a glossary and live math walkthrough.
/cfr-simulation → LeducLeduc Hold'em — Tabular CFR
One rung above Kuhn — 6 cards, public board, two betting rounds. Same CFR algorithm; converges to ε < 10 mbb/g in seconds. The standard research stepping stone toward NLH.
/leduc-cfr → Leduc-NLLeduc-NL — Custom Bet Sizes
Same Leduc engine, but bets come from a menu of pot fractions (½ pot, pot, 2× pot, all-in). Action abstraction at toy scale — the first place the NL bet-sizing problem actually appears.
/leduc-nl-cfr → ResolverLeduc-NL Re-solver
Pick a spot, pick a custom bet menu (with sizes that don't exist in the blueprint), click solve. Watch the strategy and EV change. The architecture Pluribus and DeepStack run every decision — at toy scale.
/leduc-nl-resolver → DeepStackLeduc DeepStack — Value Network
Train a small MLP to predict round-2 counterfactual values, replacing the blueprint entirely. Compare neural-net predictions against an exact CFR solver. Validates DeepStack-style depth-limited solving at toy scale.
/leduc-deepstack → ConceptCard Isomorphism
Why suits don't matter (until they do) and how poker solvers exploit suit symmetry for a free 24× speedup. Includes an interactive canonicalizer — type any hand+board and see its equivalence class size live.
/isomorphism → CFR+CFR+ on Kuhn Poker
Floor cumulative regret at zero and use weighted strategy averaging — converges roughly an order of magnitude faster than vanilla CFR. Tammelin, 2014.
/cfr-plus → DCFRDiscounted CFR
Discount past regret and strategy contributions with α/β/γ weights. The modern default for tabular CFR. Brown & Sandholm, 2019.
/dcfr → EngineInside postflop-solver
Code walk through the open-source Rust NLH solver that the author claims beats PioSOLVER and GTO+. Customized DCFR (α=1.5, β=0, γ=3, with a power-of-4 strategy reset), no card abstraction, SIMD-tuned. ~10k lines.
/postflop-solver → MCCFRExternal Sampling MCCFR
Sample a single chance outcome per iteration instead of walking all 6 deals. Trades variance for speed. Lanctot et al., 2009.
/mccfr → SamplingMCCFR Variants
Side-by-side comparison of Chance, External, and Outcome sampling — three ways to sample the tree, one clear winner in practice.
/mccfr-variants → ConceptDeep CFR Explained
Conceptual walkthrough of how CFR drops its lookup table for a neural-network function approximator — and why that lets it scale beyond toy games.
/deep-cfr-explained → Deep CFRDeep CFR on Kuhn Poker
Tabular regret tables replaced by a neural network. Same convergence guarantees, no per-info-set bookkeeping. Brown, Lerer, Gross, Sandholm — ICML 2019.
/deep-cfr → MetricsConvergence Metrics
Exploitability, average-strategy distance, and other indicators of how CFR approaches Nash equilibrium.
/convergence-metrics → PokerBadugi Tutorial
Rules, strategy, and hand rankings for Badugi — a four-card lowball draw game.
/badugi →Personal Notes
Study notes — not authoritative
These are personal study notes written while learning. They have not been peer-reviewed, cite no primary measurements, and may contain mistakes or oversimplifications. Do not cite these as a source. For anything load-bearing, follow the linked papers and original references inside each note.