ICM Master

A poker ICM trainer for the money bubble

ICM is the Independent Chip Model. It tells you what your chips are actually worth in prize money. In a tournament those are not the same thing, and the gap decides most of the big calls you will face.

ICM Master deals you nine-handed tournaments against eight AI opponents, and a coach prices every decision in prize money rather than chips, so you can see which calls the payouts turn into mistakes.

Chip share against prize-pool share A straight line where chips and money rise together, and a flatter curve showing the prize-pool share a stack is really worth. The gap between them widens as the stack grows. chips prize money your share of the chips
A stack holding 40 percent of the chips is not worth 40 percent of the prize pool. The shaded gap is what ICM measures, and it widens as your stack grows.
The ICM Master table mid-hand. Nine seats around green felt, the player under the gun holds the four of clubs and the nine of hearts, the flop shows the ace of diamonds, the four of spades and the three of spades, the pot is 560 chips with 160 to call, and fold, call, raise and all-in buttons sit under the table.
A real hand, played on a computer running ICM Master. The green bar under the buttons is the coach grading the decision that was just made.

Why ICM decides tournament money

In a cash game a chip is a fixed amount of money, so the best play is the one that wins the most chips. A tournament pays a ladder: first place takes a slice, second takes less, and everyone below the last paid place takes nothing. The chips you win are therefore worth less per chip than the chips you put at risk, because losing them ends your run while winning them only improves it.

The Independent Chip Model turns stacks into prize money. Feed it every player's chips and the payout structure and it returns what each stack is worth right now. Once you see decisions in that currency, calls that look routine turn into mistakes, and folds that feel weak turn out to be the profitable line. That shift is sharpest on the bubble, the point where one more player has to bust before anyone gets paid.

What the coach tells you

By default the table starts with 45,000 chips, 100/100 blinds and 20-minute levels, with a blind timer, a fast mode, and a choice of no ante, traditional ante or big-blind ante.

Rows from the coach panel: position under the gun, stack 51,184 chips or 511.8 big blinds, effective stack 45,000 chips, pot odds 33 percent, ICM pressure low, bubble early, stack band big stack, risk premium low, coverage you cover villain, SPR 2.0, alternative check.
Part of the coach panel from that same hand, as it read before the flop.

ICM, bubble pressure and risk premium in plain terms

Five ideas cover most of what the coach says at the table.

Ace of spades Nine of hearts
Ace-nine offsuit, the hand in the bubble example below.
ICM, the Independent Chip Model
A way of converting a stack into the share of the prize pool it is worth, from every player's chip count and the payout structure.
Chips you win are worth less than the chips you risk, because the players below you still get paid. What is worth the most in chips and what is worth the most in money stop agreeing the moment the payouts stop being flat.
Four players left, equal stacks, a prize pool that pays 50, 30 and 20 percent. Everyone holds a quarter of the chips and a quarter of the money. Double up through someone and your chip share doubles, your prize share does not come close.
The bubble
The stretch just before the money, when one more player has to go out before anyone gets paid.
Everyone's equity rises when somebody else busts, so surviving is briefly worth more than accumulating. Short stacks fold hands they would shove at any other point, and the big stacks can attack almost anything.
Eleven players left, ten get paid. The 10 big blind stack folds ace-nine offsuit from the cutoff seat, because two shorter stacks are one hand away from busting and the pay jump belongs to whoever outlasts them.
Risk premium
The extra equity you need on top of a call that would break even in chips, because busting costs you more prize money than the pot gives back.
It is the reason a call that is right in a cash game is wrong in a tournament. Facing a stack that covers you near the bubble, the premium can add ten percentage points or more to the equity you need.
The pot is laying you odds that need 40 percent equity. Add a 7 percentage point risk premium and you need 47 percent, so the hand that beat the pot odds gets folded instead.
Push/fold
The short-stack game, where the only two moves worth making are all-in (betting everything you have) or fold, and the right one can be solved rather than guessed.
Under about 15 big blinds a small raise commits you anyway, so the raise size stops mattering and the range does all the work. This is the spot you meet most often late in a tournament.
Eight big blinds on the button, folded to you. The engine shows the hands that shove for a profit, then what the blinds can call with against that range.
SPR, stack-to-pot ratio
The effective stack divided by the size of the pot once the flop is out.
It tells you how much room is left to play. At a low SPR, top pair already means betting your whole stack. At a high SPR, one pair is rarely worth your tournament life.
A 12 big blind stack behind a 6 big blind pot is an SPR of 2. One bet and one raise and the chips are in the middle, so decide on the flop, not the river.

Run it on your computer

ICM Master is two programs. One runs the game, one draws the table in your browser, and both need to be running before a hand can be dealt. Three commands, and you keep two of them running in two terminal windows.

What you need

The steps

  1. Download the code. This creates a poker-icm-coach folder.git clone https://github.com/Mehrdadabedin/poker-icm-coach
  2. Start the game server. Leave it running. It reports that it is listening on port 8000.cd backend && uv run uvicorn app.main:app --reload
  3. Start the browser app, in a second terminal. It shows an address beginning http://localhost. Open that, create an account, and you can deal a hand.cd frontend && npm install && npm run dev
  4. Optional, add a database so your hands survive a restart. Run this before you start the game server.docker compose up -d postgres && cd backend && uv run alembic upgrade head

You can skip the database. Without it, your table and your sign-in are held in memory only, so restarting the game server ends whatever you were playing. Nothing is lost that you cannot deal again.

How it is built

React, TypeScript and Vite on the front. Python 3.12, FastAPI, Pydantic v2 and SQLAlchemy 2 on the back, with PostgreSQL through Alembic migrations when you want it. Capacitor packages the same frontend for Android.

The backend owns every piece of game state and the frontend renders snapshots of it, which is what keeps the opponents honest. They decide from the same public information you have, never from your hole cards and never from cards that have not been dealt yet. Tests on both sides cover concurrency, ICM equity, the coaching engine and the API.

Read the source on GitHub