
A customer wrote to me last week: “Practice keeps dealing me easy hands. I want the hard ones.”
He was right.
So we built a selector. Preflop only: the two cards and the decision they put you in. Flop, turn and river are graded as before.
Here is the arithmetic, because a button called “Hard” is not magic.
Why the trainer dealt easy hands
Practice takes hands from two places: a library of pre-solved spots and a live solver.
The difficulty preset only ever reached the live solver. On the pre-solved path it did nothing: Beginner and Advanced got the same cards. Embarrassing, but true.
Live was correct, on paper. Its Intermediate band, 30% to 98% on the top action, was nearly every hand in every matrix.
The idea: do not filter, weight
A preflop spot is one node with 169 hand classes.
Some the solver plays one way: AA raises, 72o folds. Some it mixes, 70% call and 30% raise. Those are the close decisions.
A hard filter, “only mixed hands”, empties the pool on most spots. You see the same three hands over and over.
So every hand gets a weight, and the dealer draws in proportion.

The maths
Two numbers per hand: m, how often the solver plays its top choice, and s, its second choice.
s is also what the verdict reads. Pick the second choice and you are graded on how often the solver plays it: 40% or more is Perfect, 6% to 40% is Good, below 6% a Mistake, 0% a Blunder.
A hand is in the pool if no action is played at 98% or more, plus the edge hands of a range. One weight per level:
Balanced: every hand weighs the same, the old draw. Easy: certainty wins, a 97/3 hand weighs 0.90, a 50/50 hand 0.08. Hard: a bump that peaks at s = 32.5%, the middle of the Good band, where you feel the pull of the wrong side, take it and get Good. A 70/30 hand weighs 1.04, a 50/50 hand 0.65, a 97/3 hand 0.05.
Two extras on Hard. A one-way hand on the edge of a range, K9o where K9s opens, weighs at least 0.4: that is where people blunder. And every hand keeps a floor, so none is unreachable.
Why frequency and not EV? Every action the solver mixes has the same EV, so on a close hand only the frequency tells a good decision from a bad one.
What it looks like on a real spot
Cash NL50, six-max, 100 bb, big blind facing a button open.

On Balanced, 46% of deals are close calls with one clear answer and 5% are coin flips.
On Hard, 71% and 9%, and 20% are hands the solver plays one way, nearly all on a range boundary.
The trainer deals the situations this article describes and grades every decision. Three-day trial.
On Easy, 26% are close calls and seven deals in ten are one-way hands.
Hard cannot invent difficulty

A 20 bb button facing a shove has no close hands. Every decision there is call or fold at 100%, so Hard deals it like Balanced.
And Hard keeps dealing folds. On the cutoff-vs-3-bet spot, 29% of Hard deals are hands the solver mostly folds, like A4s: fold 49%, raise 36%, call 15%. A fold with a Good alternative is a decision.
Mostly hands you can play
Before shipping I ran the dealer over 17,020 named spots of 19 simulations: MTT chipEV from 10 to 100 bb and five cash games.
On the median spot, hands the solver mostly folds were 50% to 77% of Balanced deals in MTT and 61% to 69% in cash.
That is not what a trainer is for.

You should mostly get cards you can take to a flop. The folds should be there because a range has an edge, not because folds are most of the matrix.
So the fold-leaning hands, fold above 50%, are capped at one third of a spot’s deal mass. Under the cap nothing changes. A spot with nothing but folds keeps them.
A second leak: on a spot you reach through your own earlier action, a hand you 3-bet 2% of the time was as likely a deal as one you always 3-bet. Rows under 5% reach are out now.
After both, two deals in three on Easy and Balanced are hands the solver mostly plays on. Pure folds are 19% to 33% of the deals.
Is Balanced softer than the old trainer now? No. The cap only takes folds out. Close decisions went from 9% to 13% at 25 to 50 bb, from 21% to 24% at 60 to 100 bb and from 33% to 34% in cash. Pure folds went from 67% to 30%, from 48% to 25% and from 37% to 20%.
What a session actually dealt
Numbers on a corpus are one thing. So I played three sessions the way you would: MTT chipEV, 25 to 60 bb, opens, defences and 3-bet spots, preflop only. 260 hands on Easy, 160 on Balanced, 90 on Hard.
The first run found a bug no corpus could. Defences against an open came up in 1% of the deals.
The server drew the right mix, 19 opens, 8 3-bet spots and 13 defences on a 40-hand answer. Then it sent them sorted by category, defences last. The client keeps the first half of what it asks for. It never got there.
Fixed: the answer is shuffled on the server. On the rerun, defences were 50% to 54% of the deals on all three levels, against a weight of 46%.

With them back: a close decision was 22% of Easy deals, 39% of Balanced and 56% of Hard. Coin flips 2%, 9% and 21%. Pure folds 25%, 18% and 11%. A wrong answer would have been a Blunder on 67% of Easy deals, 48% of Balanced and 21% of Hard. The app’s verdict matched the bands on 510 hands of 510.
Where to find it

Practice, in the “How it plays” card. Beginner seeds Easy, Intermediate seeds Balanced, Advanced seeds Hard. Change the row by hand and you are on Custom.
What it is not
- It is preflop only. Postflop is dealt and graded the same way on every level.
- It is not a “top 10% of hands” filter. That would be a claim about equity.
- It does not use what we know about you yet. Your preflop mistakes are recorded and sorted between sessions, and the review queue is built from them. The dealer does not read that yet, so the same preflop hand can come back tomorrow. Soon it will: your mistakes and the leak finder will point the dealer at the spots where your frequencies are off.
If you were the customer who wrote in: thank you. Set it to Hard and tell me if it bites.
Cheers! 🙂

Poker Academy
Stop guessing preflop.
1,500,000+ GTO solutions. Free 3-day trial.
Start Free TrialCancel anytime.



