DEEP STACK POKER · 2026-10-17

Full product roadmap

Elite remains $50/month, coming soon. This build connects substantial practice, study and account features, but the advertised paid core still requires production, content, coach-quality and usability acceptance. Later expansions remain separate.

This inventory describes the current source build, not a production deployment or proof that the full roadmap is finished. “Preview available” means bounded functionality is implemented and has a route in this build. Target-host migration, independent review and production acceptance remain separate.

Free includes 100 total practice starts, including the first five guest hands. Pro remains $20/month. Elite remains $50/month, coming soon, with checkout disabled. No annual price or fourth public plan is approved; preserve explicit legacy pricing mappings and access to available reviews/exports at the practice cap.

Implemented connected preview

The connected preview now includes 4/6-seat PLO4/PLO5 practice, supported special formats, public decision capture/replay, account-backed study, deterministic coaching, explicit-range equity, supported imports, drills/retests, ICM and an account-backed session journal. These are bounded implementations, not a finished professional curriculum, validated model coach, full solver or hosted multiplayer product.

Notebook and journal D1 APIs use revisions, retry identifiers, local recovery and explicit conflict review. Migrations 0005 and 0006 must be applied and verified on the target host. Local working changes are not automatically confirmed account saves. The practice table cannot resume a live hand after reload; replay balances remain fixed at the saved decision.

Model-quality gate remains open: all eight local baseline evaluation cases timed out, and a separate diagnostic produced a hallucination. Deterministic calculator facts and authored reasoning remain usable previews; the optional model adapter must stay disabled until the actual provider passes independent multi-turn evaluation. No solver or model-quality claim follows from the current tests.

Acceptance-led sequence

Work is ordered by acceptance, not calendar promises. Optional private tables, automatic mixed-game rotation, custom fitted opponents and competitions can ship separately from a complete and honestly advertised core. Arbitrary Omaha solving needs separate feasibility and reference validation. The marketplace and unapproved annual pricing remain parked.

  1. Make the platform dependable

    Verify target-host accounts, study/journal migrations, practice limits, recovery and payment operations; reconcile legacy Hold’em QA.

    Acceptance: Guest-to-account, multi-device recovery, access isolation and test-mode billing pass.

  2. Connect the full learning loop

    Validate the implemented Omaha → saved decision → deterministic coach/calculations → review → drills/retests loop, then close content and operational gaps.

    Acceptance: The advertised launch bundle works end to end and passes independent poker and usability review.

  3. Add the other poker products

    Harden preview ICM, journal and live-format tools; add private tables, mixed-game rotation, custom profiles and separately gated competitions.

    Acceptance: Each module ships only after its own acceptance tests and operational setup.

  4. Earn deeper solver coverage

    Benchmark a bounded Omaha reference/solve service and supported node locking.

    Acceptance: Reference agreement, licenses, tree matching, costs and response times are measured.

  5. Keep optional businesses separate

    Coaching marketplace and any unapproved annual pricing remain outside the launch commitment.

    Acceptance: Explicit product decision before work or customer claims.

Paid-release gates

R01 / Play / Preview available / Foundation

Deep live-table practice

Keep the core Hold’em experience and make its decisions easier to study.

Current implementation

The existing nine-seat Hold’em simulator, selectable stakes, multi-table practice, reviews and analytics remain in the site. Elite changes do not certify older Hold’em findings resolved.

Full scope

Next work

Reconcile legacy Hold’em findings against the release candidate and verify mobile play, session continuity and deployed account limits.

Ready when

Independent action-order, all-in, side-pot, chip-conservation and hidden-information tests pass; mobile play and session continuity pass.

Plan allocation: Free includes 100 total hands; Pro continues Hold’em play. Elite would inherit Pro.

Dependencies: R02

Evidence and limits

app/play, public/table and existing Hold’em tests; the latest Elite tests are not a substitute for a deployed Hold’em regression.

Route in this build: /play

R02 / Platform / Integration needed / Foundation

Accounts and a portable poker workspace

One account for play, review and study across devices.

Current implementation

Practice starts are account-bound. Study notebook and session journal now have authenticated D1 APIs with revision checks, idempotent retry, local recovery and explicit conflict choices; guest work is imported explicitly.

Full scope

Next work

Apply migrations 0005 and 0006 in the chosen target environment; verify two-device recovery, backup/restore, export/deletion and production identity flows.

Ready when

Two devices recover the same work; 101st Free start is denied; concurrent requests cannot overspend; cross-account reads and writes fail.

Plan allocation: Account ownership and export apply to every plan. Elite study sync is part of the planned Elite core.

Dependencies: None

Evidence and limits

app/api/elite/study and journal; lib/elite/study-sync.ts and journal-sync.ts; drizzle/0005_glossy_umar.sql and 0006_wise_blindfold.sql. Actual-handler/client tests establish implementation, not target-host rollout.

Route in this build: /profile

R03 / Play / Preview available / Elite core

PLO4 and PLO5 practice

Learn Omaha decisions at a table that remembers public play.

Current implementation

PLO4/PLO5 practice supports 4 or 6 seats, $1/$2 through $10/$25, 200–1000 BB hero buy-ins, cash/BB display and heterogeneous opponent stacks. Saves preserve a public decision while the live hand stays paused.

Full scope

Next work

Complete deployed browser/mobile acceptance and durable full-hand recovery. Keep 4/6-seat and 200–1000 BB limits explicit; reload still does not resume a live hand.

Ready when

PLO4/PLO5 cases at 2, 3 and 6 players and 50/100/250/500 BB conserve chips and obey pot limits, short-raise reopening and deck bounds.

Plan allocation: Omaha is planned for Elite. Current preview access is not a promise of permanent Free access.

Dependencies: R02

Evidence and limits

components/elite-table.tsx, lib/elite/table-session.ts and tests/elite-table-session.test.cjs; 144 complete-hand configuration checks plus six-seat snapshot/coach compatibility. No real-money or multiplayer claim.

Route in this build: /elite/practice

R04 / Play / Preview available / Expansion

Bomb pots and double boards

Practice the live formats where split pots and nut potential matter.

Current implementation

Table setup now exposes single/double boards, a 2-BB UTG straddle, 5-BB-per-seat bomb pots and eligible all-in run-it-twice. Run-it-twice is disabled for double-board hands; fractional play-chip awards are disclosed.

Full scope

Next work

Add format-specific drills and validated board-by-board range equity/side-pot analysis; verify every exposed setup and result in browser acceptance.

Ready when

Every supported format passes independent multiway all-in and split-pot fixtures; no duplicated runout cards or lost chips.

Plan allocation: Advanced Omaha formats are demonstrated in the preview. Their paid inclusion remains part of the approved Elite launch-scope decision.

Dependencies: R03, R06

Evidence and limits

Table settings and unchanged Omaha engine; four/six-seat special-format fixtures cover all supported stakes and both variants. The separate equity calculator models one equal-eligibility pot.

Route in this build: /elite/practice

R05 / Play / Preview available / Elite core

Adaptive opponent models

Make reads from what players actually showed and did.

Current implementation

Stable opponent identities retain per-observer public reads, including bot-versus-bot actions. New seats have random styles/depths; busted and occasional departing opponents are replaced with fresh identities.

Full scope

Next work

Calibrate on held-out scenarios and compare adaptation on/off under matched seeds. Review changes by street, size and opponent rather than equating aggregate statistics with realism.

Ready when

Unseen cards cannot change another player’s policy; bot A changes appropriately after B’s public pattern; replacement IDs never inherit the prior occupant’s reads.

Plan allocation: Hold’em table reads remain in the existing plans; Omaha adaptation is planned for Elite.

Dependencies: R01, R03

Evidence and limits

public/elite/omaha-bots.js and table-session tests; bounded turnover is authored behavior, not measured human psychology. Continuing players retain public memories; replacements do not inherit the departed observer state.

Route in this build: /elite/practice

R06 / Study / Preview available / Elite core

Omaha hand reader

See exactly which cards make your hand—and what could beat it.

Current implementation

Studio highlights the legal two-hole/three-board hand. The workbench reader enumerates compatible better two-card combinations, respects entered dead cards and distinguishes combination counts from range probabilities.

Full scope

Next work

Connect richer reader views directly to saved table decisions and review clean/dirty outs, backdoors and redraw explanations before expanding their claims.

Ready when

Independent PLO4/PLO5 scorer fixtures agree; card-removal, double-board and four-to-a-flush traps pass; no pair-count statistic is mislabeled as range equity.

Plan allocation: Keep existing basic hand labels. The richer Omaha reader is planned for Elite.

Dependencies: R03

Evidence and limits

components/elite-tools.tsx, public/elite/research-worker.js and omaha-coach.js; independent dead-card regression. Reader output describes the current board, not future win probability.

Route in this build: /elite/tools?tool=equity

R07 / Study / Preview available / Elite core

Range explorer

Follow a range through position, actions and board texture.

Current implementation

The workbench accepts explicit weighted Omaha hands or uniform random ranges for up to three opponents, removes blocked combinations and exports reproducible inputs/results. A chart library and graphical feature-filtered range explorer are not implemented.

Full scope

Next work

Add versioned authored or licensed reference ranges, combination filters and drill links. Label authored assumptions separately from matched solved references.

Ready when

Weights and card removal reconcile; actions narrow ranges without inventing frequencies; unmatched depth or multiway trees are clearly unsupported.

Plan allocation: Basic Hold’em range tools remain free. Advanced Omaha range exploration is planned for Elite.

Dependencies: R06

Evidence and limits

public/elite/range-equity.js and components/elite-tools.tsx; explicit user-entered ranges are assumptions. No licensed Omaha chart collection or action-conditioned range inference is supplied.

Route in this build: /elite/tools?tool=equity

R08 / Study / Preview available / Elite core

EV and exploit laboratory

Test whether a read changes a decision, not just the equity number.

Current implementation

Range equity now uses bounded exact enumeration or collision-conditioned joint Monte Carlo with tie shares and sampling intervals. Studio retains terminal heads-up EV sensitivity, separating fold probability from equity when called.

Full scope

Next work

Review boundary-case uncertainty displays and add explicit validated multi-street, multiway and side-pot models before extending the terminal EV tool.

Ready when

Independent cashflow fixtures match; sunk costs and uncalled returns are treated consistently; no double-counting fold equity as showdown equity. Equity fixtures include ties, blocked combinations and correlated multiway deals; repeated-seed coverage is measured.

Plan allocation: Existing Pro live-spot tools stay in Pro. Deeper Omaha equity and exploit modeling is planned for Elite.

Dependencies: R06, R07

Evidence and limits

lib/elite/study.ts, public/elite/range-equity.js and independent combinatorial/cashflow tests. Equity supports one board/equal eligibility, no rake or future betting; sampling intervals exclude uncertainty in ranges.

Route in this build: /elite/tools?tool=equity

R09 / Study / Preview available / Elite core

Conversational poker coach

Ask follow-up questions about the exact decision and the assumptions behind it.

Current implementation

A connected deterministic coach accepts saved/manual/imported decisions, bounded follow-ups and public calculation facts. An optional provider adapter exists but model coaching is not release-quality: all eight local baseline cases timed out, and a separate diagnostic produced a hallucination.

Full scope

Next work

Keep model-backed coaching disabled until an actual provider passes held-out multi-turn poker review, latency, privacy and failure tests. Validate the deterministic core with educators and representative users.

Ready when

50 held-out spots × 5 turns have zero critical card, pot, hidden-card or invented-solve errors; report fallback rate and latency separately from answer quality.

Plan allocation: Current authored Hold’em chat remains in its existing plans. Grounded conversational Elite coaching and its message allowance must be verified before sale.

Dependencies: R02, R06, R08

Evidence and limits

components/elite-coach.tsx, lib/elite/coach.ts and coach-provider.ts, coach tests and scripts/qa/coach-local-eval.cjs. Authored reasoning and calculator facts are not solver output; the local evaluation does not support a model-quality claim.

Route in this build: /elite/coach

R10 / Review / Preview available / Elite core

Hand import and live-hand reconstruction

Bring a hand from your own game into the same study workspace.

Current implementation

The workbench imports supported PokerStars USD NLHE/PLO4/PLO5 histories, reconstructs decision-time boards/chips, removes duplicate IDs and excludes conflicting records. Selected postflop Omaha decisions save to study; raw files stay browser-local unless explicitly exported.

Full scope

Next work

Build the manual legal-action reconstruction flow and broaden supported history fixtures. Preserve unknown cards, parser warnings and source units; do not imply every site/format is supported.

Ready when

12 expert-specified hands reconstruct with reconciled pots and stacks; malformed or unsupported formats fail visibly; duplicate imports do not duplicate results.

Plan allocation: Existing Hold’em imports remain available as configured. Deeper Omaha import and reconstruction is planned for Elite.

Dependencies: R02, R03

Evidence and limits

public/elite/hh-import.js and review.js, research worker and import UI; independent cashflow/future-information/dedup/currency tests. Multi-board, bomb-pot and non-USD imports are rejected.

Route in this build: /elite/tools?tool=import

R11 / Review / Preview available / Elite core

Replay and decision notebook

Move from a saved hand to the exact choice you want to understand.

Current implementation

Table and supported imported decisions connect to the notebook and coach. Captured table replay steps through public actions/known boards; balances are explicitly fixed at the saved decision. Authenticated D1 notebook sync has conflict review and local recovery.

Full scope

Next work

Finish historical stack-by-action replay, full-hand resume and cross-device acceptance on the target host. Unify tags, reasoning and imported/simulated review without fabricating missing facts.

Ready when

20 decision round-trips preserve exact facts and IDs; later boards or hidden cards never contaminate earlier advice; replay and export agree.

Plan allocation: Keep Free latest-100 review and Pro extended history. Elite adds the connected Omaha study notebook and sync.

Dependencies: R02, R10

Evidence and limits

components/elite-decision-context.tsx, elite-studio.tsx, study API/sync and table/coach tests. Snapshot text is bounded; oversized captures reject without truncation. Working local changes are not silently treated as confirmed cloud saves.

Route in this build: /elite/study

R12 / Review / Preview available / Elite core

Leak reports and improvement dashboard

Turn a repeated pattern into a specific study task.

Current implementation

Imported Omaha review now shows opportunity-based patterns, example-hand links and a dated study plan. Existing Hold’em progress views remain separate; results are review prompts, not verified strategic errors.

Full scope

Next work

Unify variant/source filters, simulation/import evidence and drill outcomes. Add full metric-to-hand drill-down and independent denominator checks before claiming a complete improvement dashboard.

Ready when

Every reported percentage has the right opportunity denominator; imported/simulated outcomes stay separate; no winnings-only or repeated-quiz metric is presented as skill.

Plan allocation: Existing Hold’em Pro analytics stay in Pro. Unified Omaha reporting and its drill recommendations are planned Elite additions.

Dependencies: R10, R11

Evidence and limits

public/elite/review.js and workbench import UI; existing progress dashboard is separate. No winnings-only skill score, validated EV-loss grade or full Omaha statistics dashboard is claimed.

Route in this build: /elite/tools?tool=import

R13 / Study / Preview available / Elite core

Study plans and deliberate practice

Know what to work on next, then test whether it stuck.

Current implementation

42 authored exercises, confidence records, first/repeat tracking, goal/time sessions and due reviews remain connected to saved decisions. Notebook decisions and attempts can be saved to the authenticated account with explicit conflict handling.

Full scope

Next work

Expand the independently reviewed curriculum and unseen transfer sets; verify due queues across devices. Local due dates are not notifications or an automatic cross-device scheduler.

Ready when

Every answer has author/reviewer/version and basis; repeats never count as unseen; 12 scenario families include 3 held-out transfer variants each.

Plan allocation: Existing Pro study tools stay in Pro. The reviewed Omaha curriculum and connected retests are planned for Elite.

Dependencies: R02, R11, R12

Evidence and limits

lib/elite/study.ts, elite-studio.tsx and study sync tests; exercise arithmetic checks do not establish expert review, retention or a full professional curriculum.

Route in this build: /elite/study

R14 / Review / Preview available / Expansion

Live-session journal and results

Keep real-session results, decisions and context together.

Current implementation

A session journal now records/edit/deletes USD buy-ins, cash-outs, hours, stakes and notes, with stake filters, cumulative results and backup import/export. D1 account save/load includes revisions, conflicts and local recovery.

Full scope

Next work

Verify journal migration and two-device conflicts/recovery on staging; add richer session-to-hand links and any approved currency conversion/correction history without mixing training chips into cash results.

Ready when

Rebuys and stake changes reconcile; hourly rates use valid durations; edits recompute reports; small samples do not establish skill.

Plan allocation: The journal is allocated to Pro and inherited by Elite; account-backed implementation is present, with production rollout still gated.

Dependencies: R02, R10

Evidence and limits

components/elite-tools.tsx, lib/elite/research.ts, journal API/sync and migration 0006; journal-sync tests cover actual handlers/client behavior. Edits save locally until Save to account confirms them.

Route in this build: /elite/tools?tool=sessions

R15 / Formats / Preview available / Expansion

Tournament and ICM laboratory

Compare chip value with prize-equity consequences in supported spots.

Current implementation

The tournament workbench exposes bounded 2–12-player Malmuth–Harville ICM and one-caller full-effective-stack shove branches, with explicit dead-pot treatment, no-tie assumptions and equal-payout indifference.

Full scope

Next work

Add saved tournament scenarios and reviewed edge-case coverage; keep bounties, multiple-elimination ordering, future-game simulation and tournament solving out of the offer until implemented.

Ready when

Published hand-verifiable examples agree; dead-pot conventions are explicit; unsupported multiple-elimination order and excessive jobs are rejected.

Plan allocation: The bounded ICM tool is an Elite preview. Final paid inclusion and limits must be approved before release.

Dependencies: R02, R20

Evidence and limits

lib/elite/research.ts and tournament UI; independent finish-order permutation and winner-take-all cashflow oracles. Model prize equity is not a solved push/fold strategy.

Route in this build: /elite/tools?tool=icm

R16 / Formats / Integration needed / Expansion

Private practice tables

Study with invited people around the same hand.

Current implementation

The standalone server-authoritative private-table API and signed-ledger prototype remain separate from the browser practice table; their in-memory stores are not production durability.

Full scope

Next work

Build the authenticated lobby, durable table/ledger adapter, reconnect and spectator rules; adversarially test concurrent actions and restart recovery.

Ready when

Forged seats, actions and records fail; no private cards leak; server restarts preserve a recoverable hand; parallel clients cannot double-act.

Plan allocation: Private tables are planned for Elite. Table/seat limits will be confirmed before release; no real-money games.

Dependencies: R02, R03, R20

Evidence and limits

Enhanced engine src/table-server.js; no hosted private-table lobby or durable multiplayer deployment is delivered by the browser previews.

R17 / Formats / Integration needed / Expansion

Mixed-game rotation

Switch between supported Hold’em and Omaha formats in one practice session.

Current implementation

An orbit-based mixed-game scaffold exists in the engine package. The website supports manual between-hand PLO4/PLO5 selection, not automatic Hold’em/Omaha rotation.

Full scope

Next work

Connect tested per-variant adapters and an explicit rotation lobby, preserving separate game rules, state and public-model contexts.

Ready when

Orbit boundaries and replacements rotate correctly; no stack or card state leaks between formats; per-format reports reconcile.

Plan allocation: Mixed-game rotation is an Elite expansion after its adapters and formats pass QA.

Dependencies: R01, R03, R04, R16

Evidence and limits

Enhanced engine src/mixed.js; no automatic orbit rotation UI or integrated mixed-game history exists.

R18 / Study / Planned / Research

Solver and reference library

Use an identified solution when the spot actually matches.

Current implementation

The existing bounded Hold’em lab remains separate. New Omaha calculators use explicit inputs; no PLO solution/reference service, arbitrary deep multiway solver or licensed chart library is integrated.

Full scope

Next work

Benchmark sources, licenses, matching rules and bounded compute before committing to solver coverage. Core can use reviewed authored assumptions and exact arithmetic with honest labels.

Ready when

Independent reference fixtures match; unsupported trees fail clearly; resource/cancellation limits hold; expert review confirms labels and recommendations.

Plan allocation: Keep the current bounded Hold’em lab free. Future Omaha solve coverage and compute allowances are a separate Elite release decision.

Dependencies: R07, R08, R20

Evidence and limits

Existing /solver and /solver-lab routes; range-equity and ICM calculations are not solved strategy references. No model output is evidence of a solve.

Route in this build: /solver

R19 / Play / Integration needed / Expansion

Custom practice opponents

Practice against a tendency profile without claiming to clone a person.

Current implementation

The standalone aggregate-profile fitter remains an uncertain tendency prototype. The live preview offers randomized authored archetypes but no user-built or fitted opponent profile editor.

Full scope

Next work

Build a profile editor, held-out conditional fit checks and evidence disclosures; avoid sharing real-player identity or private history in presets.

Ready when

Fit error and sample counts are visible; aggregate agreement is never claimed to reproduce a person’s conditional strategy.

Plan allocation: Custom tendency profiles are planned for Elite. They are not guaranteed replicas of real people.

Dependencies: R05, R07, R12

Evidence and limits

Enhanced engine src/clone.js; randomized table styles do not constitute opponent cloning or calibrated conditional strategy.

R20 / Platform / Integration needed / Foundation

Reliable compute and subscription service

Make paid access, saved work and expensive jobs dependable.

Current implementation

Account-bound practice, study and journal persistence, entitlement guards, bounded research workers and provider adapter limits now exist. Production payment lifecycle, host recovery and model quality are still release gates.

Full scope

Next work

Verify target-host migrations/bindings, backup/rollback and production-equivalent test-mode billing. Keep Elite checkout and unvalidated model service disabled; isolate any future CPU jobs.

Ready when

Payment lifecycle and stale/repeated events pass; process restart preserves access; per-plan limits hold; CPU jobs can be stopped without stalling the service.

Plan allocation: The three public plans remain Free, $20 Pro and $50 Elite coming soon. No annual offer or separate league plan is approved here.

Dependencies: R02

Evidence and limits

Site APIs, D1 migrations 0005/0006, browser worker termination, enhanced billing/job modules and access tests. Local tests are not live Stripe, provider reliability or disaster-recovery evidence.

R21 / Community / Integration needed / Expansion

Leagues and competition tools

Make rankings auditable before adding rewards.

Current implementation

Provisional standings code and a leaderboard route remain; prize entry, awards and automated fulfillment are not active. New study tools do not certify competition integrity.

Full scope

Next work

Resolve eligibility, ranking, ties, appeals, funding and reward rules; complete authoritative-ledger abuse tests and separate provider/jurisdiction review before prize activation.

Ready when

Standings reproduce from authoritative records; forged/replayed records and collusion scenarios are handled; published rules, funding and fulfillment are approved.

Plan allocation: Competition eligibility and its subscription allocation are undecided under the final three-plan lineup. Do not advertise prize access as included.

Dependencies: R02, R16, R20

Evidence and limits

Enhanced engine src/league.js and /leaderboard; no claim of production collusion resistance or approved reward operation. Core Elite need not wait for competitions unless sold as included.

Route in this build: /leaderboard

R22 / Community / Preview available / Foundation

Community and product feedback

Let players report problems and follow improvements.

Current implementation

Account-bound community submissions/voting and roadmap links exist alongside the expanded study previews. Production moderation and issue-to-release operations still need acceptance.

Full scope

Next work

Verify moderation, permissions and pagination on the target host; connect redacted repro cases and release notes to resolved issues.

Ready when

Ownership, voting, moderation and pagination tests pass on the deployed host; public posts contain no private account data.

Plan allocation: Community and roadmap feedback remain available to all plans; contributions require the applicable account permissions.

Dependencies: R02

Evidence and limits

components/community-board.tsx, community tests and /roadmap. Public feedback must not expose private imported hands or account notebooks.

Route in this build: /community

R23 / Community / Parked / Parked

Coaching marketplace

Keep human coaching as a separate future business decision.

Current implementation

Original marketplace scaffolding remains retained but outside the product; no directory, booking flow or transactions are activated by this work.

Full scope

Next work

Reopen only through an explicit separate scope, operating model and approval; do not bundle it into the current Elite promise.

Ready when

A separate approved product brief and execution budget exist before implementation.

Plan allocation: No current plan includes the parked marketplace.

Dependencies: R09, R13

Evidence and limits

Enhanced engine src/marketplace.js; original parked status is preserved. Tests do not authorize marketplace launch.

Existing research references

Retained from earlier roadmap research; not newly verified vendor claims, quality comparisons or licensed solution data.