Advanced hand filtering — four UI directions

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 match Save 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
↑↓ navigate tab complete ? syntax guide space = 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 time CoinACR
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.
V3

Builder rows — composable conditions, Notion-style

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 timePositionsCards 1,284 hands
Advanced filter BuilderText
Where Preflop · Pot type is single-raised ×
and Preflop · Matchup is BB vs BTN open ×
and Flop · Vs c-bet hero did call ×
and Cards · Hole cards in range TT+, AQs+ ×
and Pot · Final pot 40 bb ×
+ Add condition + Add "or" group
Equivalent shorthand — editable in Text mode, kept in sync
srp bb-vs-btn f:call-cbet hand: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

UTG MP CO BTN SB BB
Hero — BBOpener — BTN
Pot type LimpedSRP3BP4BP+

Action line

PF
BTN opensHero callsHero 3-betsHero folds
F
Villain c-betsHero callsHero raisesHero foldsChecks through
T
any action — click to constrain
R
any action
Pot ≥ 40 bb Result WonLostShowdown

Hole cards — drag to paint · TT+, AQs+

Pairs 66+ Broadway Suited aces Connectors Clear
Shorthand srp bb-vs-btn f:call-cbet hand:TT+,AQs+ pot>=40bb — editable, syncs both ways 1,284 hands Apply
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 pick none yet — click "Choose" on a version Pick 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.