Your table. Your game. Your study plan.
Full hands from preflop to showdown, two to nine seats, Hold’em and Omaha. Solve the current position, inspect action frequencies and values, and practice complete hands with a saved study assessment.
Play a full hand
Opponent styles
Choose a style for each opponent. Study reference bots use a guarded learned policy when there is enough evidence, and balanced play otherwise. They are approximate, not certified GTO. Grading compares your decisions with the study reference, rather than these personas.
Action frequencies for the current hand
Solver assumptions and accuracy
Session and tournament blind schedule
Stacks carry over, the dealer rotates, and busted opponents leave. When you bust, the next hand restarts the original setup. Your session also survives reopening the page. Reference coverage can change as stacks change.
Public action history
Turn on Control all seats to build any line.
Inspect a hand class
Use a specific combination
Cards are checked against the public board. Frequencies reflect the model’s private-hand abstraction and may differ across suits and board features. Grey cells have no learned evidence.
Play & review a hand
What do you want to practice?
Choose a focus, or mix different games and situations. Your cards and opponents are dealt for you.
Play every decision through to the end. Feedback stays hidden during play, then you receive a combined assessment and a breakdown of every choice.
Choose a focus above, or leave the choices mixed.
Import and replay hands
Preflop solver references
The three-player example supplies narrow current ranges and one aggression step per street. It demonstrates a conditional multiplayer calculation, not a solved nine-handed preflop strategy.
Load your solver output with its source and game settings. A reference applies only when seats, starting stacks, blinds, antes, rake, tournament details and every previous action match. Changing stacks or bet sizes can leave the reference tree.
No sourced preflop references loaded. Included self-play blueprints are used by practice opponents and do not supply solver advice.
No precomputed flop library loaded.
Add a spot from exported solver ranges
Set up the matching game and reach the preflop decision at the table, then capture it here. Paste the exported ranges for each modeled action. Range weights use AA:1, AKo:0.5 or AsKh:0.5. Select only actions present in the source solve. The remaining frequency goes to fold (or check when free).
Included trained games
Save, resume and compare setups
Pick an action to see the answer.
How this spot was reached
Backup & import
Save a backup file on one device and open it on another. It includes saved solver results and their hands, ranges and bet sizes, strategy models, hand histories, assessments and settings.
Save from this device
Prepare the backup, then share or download it to any cloud drive or folder.
The study file is smaller for your phone. Saved-spot drills do not need the larger strategy models.
Open on another device
Choose your backup file. You can also open an exported spot-analysis JSON. Import merges records; it does not delete this device's data. Existing device settings stay in place. After importing, use Saved spots to practice.
A backup is a snapshot. After studying on either device, export a new backup to transfer that progress. Browser data can be removed by clearing website data; keep a copy of the file.
Your study progress
Decisions to revisit
| Spot | Hand | Chosen action | Estimated loss | Sampling / model coverage |
|---|
Estimates, not a certified GTO score.
Solving a position
Solve this spot reconstructs the exact public history and solves a continuation game from that decision. It accepts earlier custom sizes even when absent from a stored blueprint. Only your private cards, public cards, stacks, payouts and public action history are sent to the worker.
Two-player and multiplayer calculations
Two remaining NLH contestants can use the vector CFR+ engine even when the hand began with up to nine players. The original seat order, dead money, side pots and ICM field remain intact. The joint-deal engine also accepts multiplayer pots and the supported community-card variants, within memory and tree limits. It enumerates compatible private deals and future cards, and measures each player's independent best-response gain. Broad multiplayer ranges and preflop trees usually exceed local capacity; accepting those inputs does not mean their full games have been solved. The result reports total deviation gain and mixing regret for your hand. Both must reach the target before recommendations or measured grades are displayed. The target applies to the entered ranges and allowed bet sizes, not unknown real-world ranges or omitted sizes. ICM and rake calculations preserve their conditional utility model; convergence is measured rather than presumed.
Computation limits and imported preflop sources
Heads-up NLH flop and turn studies enumerate all future public cards, compatible private hands and terminal outcomes. Resource limits can require narrower ranges or smaller action trees; unsupported calculations return no recommendation. Imported preflop sources apply only to the matching initial game and complete betting line. Their source percentages are shown separately from measured EV grades. No full-game six- or nine-handed strategy is bundled. The multiplayer engine is a new bounded implementation and has not yet received independent behavioral validation.
Ranges and hidden information
All players retain ranges, including you. Opponent strategies cannot condition on your actual private cards. You may enter weighted current-position ranges. Automatic ranges continue a preceding exact strategy when available; otherwise they explicitly assume all legal hands. Sampled models and opponent personas do not supply inference for production solves. Specified folded ranges retain card bunching; unknown folded hands are treated as uniform and marginalized. Every skipped inference action is counted. Actual past bets remain in the public game state. Exact postflop evaluation enumerates compatible private hands and every future public card.
Results and practice
Analyze displays frequencies, action EV and estimated alternative-action costs and saves the exact request for reuse. A changed range, tree or requested budget triggers a new solve. Quiz prepares the solution before each decision and hides its answer until the hand ends. Prepared results are reused. Whole-hand EV totals require measured costs for every choice; source-only references do not invent missing values.
Rules and utility
The integer-chip engine supports NLH, PLO4/5/6, Omaha Hi/Lo and configurable community-card games, two to nine seats within deck limits, antes, minimum raises, cumulative reopening, side pots, returned uncalled chips, odd chips and capped rake. Tournament ICM supports twelve remaining stacks; bounty utility includes immediate cash and omits future retained-bounty value. Future tournament play is not solved. Stud, draw, Razz and Badugi require different game engines.
Implementation and checks
The included Node engine can run the same spot calculations without a browser. Engine checks compare exact values, blockers, rake, ICM, independent river calculations and hidden-card isolation. Browser checks cover the delivered standalone file, range changes, persistence, cancellation and full-hand quiz review. These checks establish implementation behavior, not a full-poker GTO certificate.
Algorithm references: OpenSpiel outcome-sampling MCCFR, MCCFR research, and safe subgame-solving research. This local continuation engine does not implement the safe-resolving boundary gadgets described in that last paper.
Guava Poker · local full-hand study build. Analyze solves the current continuation; supported postflop trees include a measured deviation gap. Other games require a matching source reference; unsupported sampled estimates are excluded from recommendations. Equity and ICM calculators ↗ Save exported models and hands for portability.