Flushodds

Flushodds Poker Pro

Four tools that share one idea: the work happens on your device, and the app tells you where every number came from.

Nothing is uploaded. There is no account and no server. The only thing that ever leaves your

device is a training session you choose to download, and that is a one-way request for a file.

Before anything else

The four tabs

Solver and Trainer look similar and answer different questions. The Solver is exactly two players and gives you a strategy. The Trainer is two to nine players and gives you practice, a table you can configure, and spots the Solver deliberately refuses to guess at.

Free and paid

The free app is a real app: the preflop solver from every seat, both range charts, the equity and ICM calculators, one vlog, the trainer, and a bankroll that adds up. One payment of $39.95 adds postflop solving on every street, saved hand history, unlimited vlogs, the trainer's hand history and bankroll charts. There is no subscription and no per-solve charge.

Where your data lives

On the device, in a database only this app can read. Turn on Settings › Sync with iCloud and it mirrors to your own private iCloud database, between your own devices. Video is the exception and always will be — see Filming and syncing below.

The Solver

The Solver answers one question precisely: you against one opponent, on this board, right now.

Entering a hand

The strip across the top is the hand. Tap You and pick your two cards; tap Flop and pick three; then Turn and River as they come.

Everything below the strip follows the street you are looking at — the answer, the pot, and both charts.

Reading the answer

The colored blocks are what to do with the exact hand you are holding.

seven times in ten with this hand, in this spot.

the bet.

If a hand mixes, it mixes for a reason: the strategy that never gets exploited is not always the one that feels decisive.

Both ranges, always

Under the answer are two charts: yours and your opponent's, on whichever street you are viewing. Each of the 169 cells is filled in proportion to how often that hand takes each action, so a pure call never looks like a half-raise mix. Tap a cell to magnify it; the page still scrolls normally.

Your hand is outlined even when it has dropped out of the range — a hand outside your range is an answer, not an error, and the app says which it is showing.

Bet sizes that match the table

Sizes come from the stack-to-pot ratio, not from a fixed list. Short stacks get one small size; deep ones get an overbet to consider.

When an opponent bets something specific, type it into They bet ___ bb and tap Solve it. That exact number becomes a branch in the tree. Rounding 4.2bb to "75% pot" would answer a different question from the one you asked.

Facing a raise

The scenario chips — first in, facing a raise, facing a 3-bet, facing a 4-bet — set what has already happened. The answer changes with them, including whether to 4-bet and how much.

Deep preflop raising ranges are published charts, not solves, and every screen that uses

one says so. Solving the full preflop tree needs the postflop value of every branch. Short-stack

shove/fold is solved, on your device, and is labeled differently.

If they showed you their hand

Their cards records what an opponent turned over, so their chart highlights it. It never feeds the solve. With both hands face up there is nothing hidden left and the game is arithmetic, not strategy — so that stays review, never dressed up as GTO.

Saving a hand

Save hand keeps the spot and its strategy. Saving clears the board for the next one. Saved hands open from the history button and are locked until you tap edit, so a replay cannot be changed by accident.

The Trainer

The Trainer is where the table lives: two to nine players, their stacks, their styles, and the spots that only exist when somebody else is in the pot.

Setting the table

Tap a seat on the table graphic to sit there, set its stack, or change how it plays. Table in the toolbar opens the same thing as a list, plus blinds, antes, how many hands a drill runs, and a name.

Everything is in big blinds, so one table works for a $1/$2 cash game and a 500/1000 level alike.

Choosing a session

Tap the session name under the table. Everything you have is in one place: what is playing now, sessions saved on this device, and the ones published on flushodds.com behind the second tab.

The table you set up on the Trainer screen is a session — Save this one as a file writes it out, and because it carries a seed it deals exactly the same hands when it is opened again.

Drill: play hands and be marked

Tap Deal a hand. The other seats play to their styles, and you watch them do it: each seat lights up as it acts, one after another, so the story of the hand is on the table rather than in a line of text. Next hand deals the next one straight away.

Hands with nothing to decide are passed over. About four decisions in five are a foregone fold — the strategy really does fold that much, and being asked about seventy-two offsuit twenty times in a row is not practice. The drill deals on until there is a choice worth making, and tells you how many it folded to get there, so what you are skipping is visible rather than hidden. Every time it is your turn you get the legal actions with sensible sizes; pick one and the app tells you what the strategy does:

Under the verdict is the full mix (Fold 61% · Call 30% · Raise 9%), where the answer came from, and why.

The answer is usually instant, because the app starts solving the spot the moment it appears on screen — while you are still looking at it — rather than when you finally choose.

Tap the source badge, or "See the whole range", to see the chart. "You should have folded" is a fact about one hand; the range it came from is the thing worth learning. The chart shows what every starting hand does in that spot, with yours outlined. There is no chart for a multiway pot, because a multiway pot has equity rather than a strategy — and the app says so rather than drawing something that looks like one.

Where a grade comes from

This matters more than the grade itself, so the app always says which one it used.

You get your equity against the field and the price you are being offered, labeled as that.

The six opponents

Each style bends a baseline two ways: how many hands it plays, and how often it raises rather than calls.

Open a seat to read what each one is and how to beat it.

These are simulated opponents, not solved ones. They model a player well enough to practice

against, and the app never claims more. Your grade comes from the solver regardless of who is

in the seat, because the drill teaches you the strategy first and the deviation second.

Your hand: a hand you already played

Switch to Your hand to type in something that happened at a real table. Choose your cards, start the hand, and enter what each seat did, street by street. Whenever it is your turn, tap What should I have done? and you get the same answer with the same label on it.

They showed… records an opponent's cards when they turned them over.

Spot: positional shove/fold and equity against a field

Spot is the short-stack tool. Pick your seat and your cards and it solves first-in shove/fold for that seat at that table, showing which seats behind you call and how wide. Underneath is your equity against a field of any size, with the price you need — labeled as equity, because with three or more players that is the honest answer.

History

Hands you keep go into a history with every decision, the mix you were graded against, and where that came from. Read it back to see the same mistake three times.

Training sessions

A session is a table, a set of opponents and a fixed deal, in a small JSON file. Because the deal is seeded, the same file always produces the same hands — two people can play it and compare answers knowing they saw the same spots.

Getting sessions

Tap the session name on the Trainer screen, then flushodds.com. Twenty-five free sessions are published there, from ten to thirty hands each: a deep day one, the bubble, a final table priced on ICM, satellite play where every prize is identical, six-max cash, live nine-handed games and heads up. Tap the arrow to download one — it is a file on your device from then on and runs with no connection.

You can also download a file from the website and open it from Files; same result.

Downloading asks the site for one file over HTTPS, because you tapped a button, and sends

nothing back. No account, no identifier, no record of who asked.

Writing your own

Every key is optional. A file containing only {"hands": 10} is a valid session.


{
  "name": "The WSOP final table",
  "notes": "Shown under the session name in the app.",
  "hands": 20,
  "handed": 9,
  "heroPosition": "bigBlind",
  "startingStackBB": 30,
  "smallBlindBB": 0.5,
  "bigBlindBB": 1,
  "anteBB": 0.125,
  "defaultStyle": "balanced",
  "seed": 2026,
  "bigBlindChips": 400000,
  "payouts": [10000000, 6000000, 4000000],
  "seats": [
    { "position": "cutoff", "style": "looseAggressive", "stackBB": 78, "name": "The chip leader" }
  ]
}

around the table a seat at a time, which is the more useful drill. Name it if the drill's title claims a seat. Positions: utg, utgPlus1, utgPlus2, lojack, hijack, cutoff, button, smallBlind, bigBlind.

loosePassive. defaultStyle covers any seat you do not name.

ICM, which is the whole difference between a final table and a cash game: busting costs a place on the ladder, not just the chips. Prizes are listed biggest first.

The app checks a session before it runs and tells you what is wrong rather than dealing a broken table.

The Vlog

Open straight into the Vlog tab if filming is the first thing you do. It is off by default — someone opening the app to look at a range should not have to leave a camera screen first — and lives in Settings.

Starting a session

A vlog exists before any footage. Create one with the venue, format, stakes and buy-in; every clip, hand, note and photograph then belongs to it. Rebuys and the cash-out go on the same record, and it can be linked to a bankroll session so the money is entered once.

The camera settings

Settings › Vlog camera decides two things before you start.

The shape of the footage. By default it follows the phone: hold it sideways and you film landscape, hold it upright and you film portrait, the way a camera does.

The two locks ignore the phone entirely, and that is what they are for. A tripod pointed at a table should keep filming landscape when you pick the phone up to log a hand — otherwise the next ten minutes come out rotated.

Resolution and frame rate: 1080p or 4K, at 24 or 30 frames a second. 24 is the cinema rate most vlogs are cut at; 30 is what phones default to. 4K is roughly three times the file for the same minute, and Settings shows what a minute costs so the decision is an informed one.

Recording

Filming follows the phone. Hold it sideways and you film landscape; hold it upright and you film portrait — which is what a camera does. Settings also has two locks that ignore the phone, and that is the point of them: a tripod filming a table should not start recording portrait because you picked the phone up to log a hand.

The viewfinder is the shape of the file. A portrait recording is drawn as a tall frame with black down both sides — those bars are the difference between what the lens can see and what the recording keeps. Filling the screen instead would show a wider picture than the file ends up with, and you would find that out in the edit.

Half the screen is the camera, the other half is the hand. Turn the phone landscape — the way a table is actually filmed — and the hand sits beside the video.

minutes, most of it folding, and none of that belongs in the video. The timer counts recorded footage, not wall clock, so marks line up with the file your editor opens.

Logging the hand while you film it

The card keyboard is always there. Same two taps as the solver — rank, then suit — but fixed to the bottom of the pane rather than sliding up, because entering cards is most of what you do here and a keyboard that comes and goes costs a beat every time.

Each street only takes its own cards. On the flop you enter three flop cards; your hole cards move up top, shown small and locked. On the turn the flop locks too. Your hole cards do not change on the turn, and leaving them tappable there only invites a mis-tap into a hand log nobody re-reads until the edit.

Tapping a street shows that street's betting. The list under the seats is the action on the street you are looking at, not a running transcript of the whole hand — so the three lines you want are not buried under the twelve you don't.

Every seat is on screen at once. The row used to scroll sideways, which hid the seats that had not acted yet: exactly the ones you were reaching for. Your own seat reads Me, and it moves one place every hand, because the button does. Press and hold any seat to correct it.

Logging an action moves to the next seat, because that is the order a hand goes in.

The buttons follow the action. Under the gun preflop you cannot check, because the blinds are a bet — call, raise and fold are what is on offer. On a checked flop you can check or bet, and neither call nor raise. When the action comes back to you after a raise, calling and re-raising light up again. Folding and going all in are always available, and a bet you forgot to log can still be entered, so nothing that happened is ever unrecordable.

The slot you are filling is ringed and named — "FLOP · SECOND" — so tapping a rank is never a guess about where the card lands.

The screen stays awake while the camera is open. A phone on a tripod is not being touched, and iOS would otherwise dim and lock it in the middle of a session.

Tap "Enter <seat>'s cards" under the keypad to record cards somebody turned over. Two slots appear beside your own — which stay on screen throughout, since comparing the two is the point. What you entered is listed under the action, so you can see it went in. Press and hold a seat does the same thing. Cards turned face up at showdown go against that seat and show up under Shown down in the hand afterwards. Only what was actually shown — a read written down beside a card you saw becomes a fact by the time you edit.

visible while you type the size.

Every entry is stamped against the footage, which is what makes the edit quick.

Reading the cards off the table

This is off, and it is experimental. Turn it on in Settings › Labs › Read cards from the camera if you want to try it.

It does not work well enough to rely on, and that is measured rather than guessed. Against fifty-one photographs of a real peeked hand it read 41 of the 102 cards and suggested 139 cards that were not there — more wrong than right, and not one of the fifty-one came back clean. The honest summary is that it does better on a board lying face up on the felt than on two cards pinched between your fingers, which is the shot that matters most.

So entering cards by hand is what the recorder does. Two taps a card, and always right.

With Labs on, tapping the spade on the viewfinder reads whatever is in front of the lens. Point it at the table and the first three cards across the frame are the flop, the fourth the turn, the fifth the river, so three, four or five cards all work. It reads whether or not you are recording. If it cannot read them it says why for a couple of seconds and then gets out of the way.

It offers; it never quietly fills a hand in. Every part has to be sure before anything is entered, and if the rank is clear but the pip is ambiguous it offers both suits of the color it saw, which is a single tap. Half a hand still has to be finished by hand — and a wrong card in a hand log is not found until the edit, when the table is long gone.

Tap either card to change it.

Seeing what the reader sees

Settings › Labs › Show what the reader sees draws the reader's working over the viewfinder, which is the only way to tell the two failures apart from outside.

Every card it read gets a green box with the card and two percentages: how sure it is of the rank, which it gets from text recognition, and how sure it is of the suit, which it gets from measuring the shape of the pip. Those are separate machines that fail separately, so the numbers stay separate. A suit it could not settle prints both possibilities — A♥/♦ — rather than picking one. A dashed box shows the patch of card the pip was read from, which answers the question of whether it was looking at a pip at all.

Everything it read and threw away gets a box too, in another color, with the text and the confidence. That is the useful half. A reader that finds no text and a reader that finds the right glyph and rejects it look identical when all you can see is an empty screen, and they are not the same problem. A line along the bottom says what the last look found, and says "Saw nothing at all" when that is the answer.

It draws on the frame it read rather than on the live picture, so what is on screen is what was read — which means it refreshes a couple of times a second rather than continuously. It only ever draws. It never enters a card, so it is safe to leave on with the reader itself switched off.

Photographing chips

Photograph chips on the session screen keeps a stack shot with the session, so that three weeks into an edit you can still tell which color was the twenty-five. How many chips are in the pile is not the point and is not asked — the pot size is already on the hand.

The app reads the photo and offers one answer. It names the color and, if a denomination is printed on the chip, reads that too. A printed value is used ahead of the usual cardroom coloring, because it is evidence rather than a convention — rooms differ, and home games differ more. One photo is one chip: a shortlist would only hand the picking back to you.

Chips belong to a room, not to a session. They are filed under the venue, so the next time you sit at the same cardroom the chips you already recorded are offered at the top of the sheet — tap one instead of working it out again. Tools › Chips is the same records browsed by room rather than by session.

Cash and tournament chips are kept apart. The same green is twenty-five dollars at one table and five hundred worthless points at the next, so each photo says which game it belongs to. It starts from the session's own format and can be changed.

It offers and never fills in. This is a number you will rely on weeks later with nothing left to check it against, so it lands in a field you can correct, and a confident wrong answer would be worse than a blank one.

The background is lifted off on the device, so the chips sit on nothing. Chips and felt are both round and both low contrast, which is close to the hardest case there is; when the precise cut fails the app falls back to a rougher one rather than giving up. The original is always kept, and the whole thing can be switched off in Settings or per photo.

Opening a hand

The hand reads back street by street — preflop, then the flop with the flop cards in its heading, then the turn, then the river — rather than as one flat list with the street repeated against every line. Anything anyone showed is at the bottom.

Tap a hand in the session and you get the hand, not the editor:

forty-minute clip. Every action is a timecode you can tap to jump to.

hand, and finding it a month later among an evening of notes is the problem worth solving. You can record it while logging the hand too.

Getting it into an editor

Clips are in Files under On My iPhone › Flushodds › Vlogs, so they drag straight into iMovie on the phone or Final Cut Pro on an iPad — no export step. Optionally they also copy to Photos.

From a clip, a hand, or the whole session you can export:

A vlogger wants the ninety seconds the hand took, not the forty minutes around it. The trim happens on the device.

boundaries, because Final Cut rejects a marker that is not.

The session menu exports markers for every clip in one go, so an editor opens the whole night already marked up.

Filming and syncing

Hands, notes and session details sync between your devices. Video never does, and never will — it is gigabytes and there is no server behind this app to put it on. A clip filmed on your phone appears on your iPad as a real entry with the hands intact and a line saying which device the footage is on.

The Bankroll

Money in is not a win

Set an opening balance, and add funds whenever you like without playing a hand. Deposits move your balance and never touch your win rate — balance and net profit answer different questions and the app keeps them apart. A second opening balance corrects the first rather than adding to it.

Sessions

Log a cash game or a tournament with the buy-in, any rebuys, and the cash-out. Tournaments take a placement and a field size. Hourly rates come from the time you actually sat down, not an estimate.

A session counts once you end it. Turn off Still playing and save; it moves out of In progress and its money reaches the balance, the profit and every chart. Until then it has not won or lost anything yet, so it is deliberately kept out of the totals — a game you are still sitting in is not a result.

Starting a vlog with Also log this to the bankroll opens one of these for you, already running. End it when you cash out.

Expenses

Log an expense against a session or on its own, and photograph the receipt there and then. The photo stays attached, on your device.

Playing abroad

Record a session in the currency you played in and lock the exchange rate you actually got. Rates are stored per row and never fetched: there is no server to fetch from, and a floating rate would restate last year's trip every time the market moved.

A row in another currency with no rate is held back and counted, never converted at a guess — the total will tell you how many rows it excluded.

Reports for an accountant

Report for an accountant, from the + menu, covers a month, a quarter or a year and produces two files:

the numbers can be checked and re-sorted rather than taken on trust.

Both are written here on the device and then shared by you. The report states its own basis: the dates it covers, the currency, when it was generated, and — importantly — what it left out. A session recorded in another currency with no locked rate is excluded and counted, never converted at a guess and never quietly dropped.

Rollups and charts

Daily, weekly, monthly and yearly, by game and by venue. Charts are part of the paid app; the numbers are not.

Tools

The tab holds the four things that are not a tab of their own: two calculators that answer one question each, and the room and chip records that outlive any single session.

Equity

Two hands, two ranges, or one of each, with or without a board. Tools › Equity.

Type a hand as its cards (AhKh) and a range in the usual notation (JJ+, AQs+). The board is optional — leave it empty for preflop equity, or give it a flop or a turn to see how the matchup has moved.

It says which kind of answer it gave you. Two known hands are enumerated exactly: every remaining runout, counted, with no error at all. Anything involving a range is sampled, and the result says how many runouts it tried and roughly how far out it might be. A sampled answer and an exact one deserve different amounts of trust, and the app will not let you mistake one for the other.

This is also the thing to reach for when a number somewhere else looks wrong. It enumerates a single matchup exactly, so it can settle an argument with the solver rather than restate it.

ICM

What a tournament stack is actually worth in money. Tools › ICM.

Give it the stacks at the table and the payouts, both comma separated, and it returns what each seat is worth. Chips are not money in a tournament: the chip leader with half the chips in play does not have half the prize pool, and the short stack is worth more than their chips suggest because everybody else can still bust.

Where it can, it enumerates every finishing order exactly; past the point where that is possible it samples, and says so along with how many samples it used.

Poker rooms

A room recorded once is a room you pick from a list instead of typing again. That is the whole point: "Aria", "aria " and "ARIA" typed across three months are one room here, so the profit-by- venue breakdown is not quietly split three ways.

Only the name is required. A Tuesday home game does not need an address, and a room you only know by name is still a room. Everything else — street, city, region, postal code, country, phone, notes — is there if you want it.

The address is written the way its own country writes it. The fields are kept apart rather than as one block of text, because a Japanese address is not an American one with the lines reordered and a British one has no state.

Favorites sort to the top, which is what makes a list of forty usable when two of them are yours. Tap the star on any row.

A room with an address shows a map. Unless the room already knows its own coordinates, that is a request to Apple to turn the address into a point, made when you open that room and at no other time. Nothing is looked up in the background and no location of yours is involved. It is the only request the app makes that is not you asking to download a training session.

The app ships knowing some rooms. The Strip, the World Series venues including the two it has outgrown, the European tour stops, and a spread of card rooms elsewhere. Some carry a full street address and a telephone number; the rest carry a name and a city and nothing more, because an address for a real business written from memory would be wrong some of the time and a player driving to an address this app invented is worse than a player typing one in. So the list saves the typing and the spelling, and where an address is missing it is yours to fill in once if you want the map. Rooms open and close and the app has no way to find out, so add whatever is missing — it is one tap.

A few rooms know exactly where they are, and those cost nothing at all. Where a room carries its own coordinates the map is drawn straight from them and no lookup is made. You can see them on the edit screen, and forget them if you would rather the address was looked up instead.

Delete what you do not play. Rooms you remove stay removed; they are not reinstated the next morning.

Picking a room

The Venue row in a vlog session and in a bankroll session opens this list. Favorites first, then everything else, and a search field that matches the name or the city. Typing a name that is not on the list yet offers Use "…", which records the room as it sets it — so the list grows out of the sessions you actually log, without a trip to Tools first.

Chips

Every chip you have photographed, in one place, arranged the way the question gets asked: what is the green worth at this room?

and five hundred worthless points at the next.

not hidden — set the session's venue and they file themselves.

Chips are photographed in the Vlog, which is where you are sitting when there is a stack in front of you. This is the same records months later, when the session they came from is not what you are looking for.

The manual and the settings

The manual is in the app, under Tools › User Manual — the same words you are reading now, readable with no connection because it ships in the app rather than linking to a website. Settings is where iCloud sync, solver precision and card reading are turned on and off.

Settings and syncing

Sync with iCloud

Turning it on mirrors your data to your own private iCloud database, between your own devices. Quit and reopen the app to apply the change.

anything — records that arrive twice are collapsed to the newer one.

you an empty bankroll and pretend that is your bankroll.

Solver precision

Preflop work needs a 169×169 equity table, built on your device the first time you need it. Fast is usable in seconds; Precise takes a few minutes and is finer than the point at which push/fold thresholds move. Whichever is in use is stated on screen — a coarse answer is never presented as a fine one.

Video

Also save clips to Photos copies finished clips there, which is where iMovie imports from. The app's own library keeps them regardless.

When something looks wrong

"That hand is not in your range." It is an answer, not an error. Add the hand to the range with one tap if that is how you actually play.

The solve says it was simplified. A flop against wide ranges does not fit in a phone's memory at full detail. Rather than refuse, the app steps the betting abstraction down until it fits and tells you exactly what it gave up, along with how exploitable the result is. Turn and river solves run at full detail.

A clip says the video is on another device. It is. Open that clip on the device that filmed it. The hands and notes are on both.

A session from the site will not load. The app checks a file before running it and says what is wrong. If you wrote it yourself, the likeliest cause is a position that does not exist at that table size — a 6-handed table has no UTG.

A number looks wrong. Check it. Tools › Equity enumerates a matchup exactly, and the solver's own exploitability is reported next to every solve. Beware "obvious" dominance, though: 87o really does have more all-in equity than 97o, because connected cards make more straights.