Every version filters the same example spot so they compare directly: single-raised pot, BB defends vs BTN open, hero calls the flop c-bet, holding TT+ / AQs+, pot ≥ 40bb. All four include the typed shorthand — they differ in what's primary. All data shown (spot families, action lines, ranges, pot size) is filterable today from the synced slim rows, no schema change needed for v1 of this feature.
V1
Query bar — shorthand-first with autocomplete
One prominent input replaces nothing — it sits above the existing FilterBar. You type shorthand (srp, bb-vs-btn, TT+…) and each recognized token snaps into a colored chip; an autocomplete panel teaches the vocabulary as you type, with live matching-hand counts per suggestion. Clicking a suggestion inserts it, so mouse-only users can still build anything.
Judd · Hands
1,284 hands matchSave filter ☆Clear all
⌕srp ×bb-vs-btn ×f:call-cbet ×hand:TT+,AQs+ ×pot>
Pot & stacks
pot>40bbfinal pot at least 40 big blinds412 hands
pot>100bbfinal pot at least 100 big blinds96 hands
net<0hands hero lost money3,540 hands
Results
sdwent to showdown1,872 hands
wonhero collected the pot4,309 hands
↑↓ navigatetab complete? syntax guidespace = AND · | = OR
Strong atFastest for repeat use; shorthand is the primary citizen, not an add-on. Zero layout cost — one bar. Autocomplete with live counts doubles as discovery. Filters are trivially copy/paste-able and saveable as text.
Trade-offVocabulary must be learned; browsing "what can I even filter on?" is weaker than a panel. Complex OR-groups get hard to read as a token strip.
V2
Filter drawer — HM3's tree, modernized
A right-hand slide-over (like Linear's filter panel) with collapsible categories mirroring HM3's structure: Preflop → Flop → Turn → River → Hole cards → Pot & result. Sections show an active-count badge; a sticky footer live-updates the matching-hand count. Shorthand lives as a field at the top — typing there checks the corresponding controls, and clicking controls writes the shorthand back.
Judd · Reports · filter drawer open
Filters · 5 ▾All timeCoinACR
Strong atMost discoverable — every capability is browsable, nothing to memorize. Closest to what HM3 users expect. Sections scale gracefully as filters are added over time. Live count in the footer gives instant feedback.
Trade-offHeaviest chrome; slowest for power users (open panel → find section → click). The drawer occupies real width — on smaller windows it overlays the data you're filtering.
A popover of structured Where [field] [operator] [value] rows. Each field comes from a categorized dropdown, operators adapt to the field type (action sets, ranges, numbers), and rows AND together with an explicit "+ or group" for unions. A mode toggle flips the whole builder to raw shorthand text — the two representations are the same object, always interconvertible.
Judd · Hands · condition builder open
Advanced · 5 ▾All timePositionsCards1,284 hands
Advanced filterBuilderText
WherePreflop · Pot type ▾issingle-raised×
andPreflop · Matchup ▾isBB vs BTN open×
andFlop · Vs c-bet ▾hero didcall×
andCards · Hole cards ▾in rangeTT+, AQs+×
andPot · Final pot ▾≥40 bb×
+ Add condition+ Add "or" group
Equivalent shorthand — editable in Text mode, kept in sync
srpbb-vs-btnf:call-cbethand:TT+,AQs+ pot>=40bb
Strong atBest balance of discoverability and precision — fields are browsable but the result reads like a sentence. Operators make numeric filters (pot, net, EV loss) natural. OR-groups have a real home. The text/builder duality is explicit, which makes the shorthand learnable by watching rows serialize.
Trade-offMore clicks than the query bar for experts; long condition lists get tall. "Matchup"-style compound values still need mini pickers inside the value pill.
V4
Spot canvas — describe the spot like a poker player
A poker-native modal: pick the matchup on a mini table (click hero seat, then villain seat), set each street's action on a timeline that mirrors the replayer strip, and paint hole cards on the 13×13 matrix (drag to select, with quick-toggles for pairs / broadways / suited). A synced shorthand line at the bottom is always live — type in it and the canvas updates, click the canvas and the text updates.
Judd · Hands · spot canvas open
Matchup
UTGMPCOBTNSBBB
Hero — BBOpener — BTN
Pot typeLimpedSRP3BP4BP+
Action line
PF
BTN opensHero callsHero 3-betsHero folds
F
Villain c-betsHero callsHero raisesHero foldsChecks through
Strong atSpeaks poker, not database — the matchup table and street strip match how players think about spots, and reuse existing visual language (replayer strip, hole-card matrix from Reports). The 13×13 painter is far better than range text for exploration. Great demo/marketing surface.
Trade-offBiggest build; a modal this rich needs careful keyboard/reduced-motion work. Some filters (date, stakes, sites) don't fit the metaphor and stay in the old bar. Street strip must gracefully degrade for spots the flags can't express.
Your picknone yet — click "Choose" on a versionPick one, or several to combine. Your selection is saved in the page; once you're happy, just tell Claude you've chosen and it will read it from here.