Round 3

Picker — reworked to the Airtable model

Per your note: selected items now accumulate as pills at the top of the popover, they leave the list once picked (no more checkmark-in-place), and the group shortcuts sit inline at the front of the list — not a pinned section. Open it and add a few.

1 Recipient picker Decide
Tap “+ add”. Pick a group or a candidate → it jumps up into the pills row and drops out of the list below. Type to filter — the Any slate / Any opponent shortcuts lead the list and filter along with the candidates (try "slate" vs "mit"). Remove from the pills with ✕.
Anchored dropdown from the “+ add” pill — Airtable / Notion style
Filter donorsClear all
Geography
AllIn-DistrictOut-of-State
Donated to
Tags
⚑ Slate Funder⚑ Both Sides
Total given
$ Min$ Max
🔍
Mode: Popover · picks persist across modes
Locked per your call: picks accumulate at the top, the list dedups, and the group shortcuts filter with your search text. If this feels right in your hands, give me the word and I'll build it into the real app — both the quick-filter "Donated to" field and the full builder's recipient picker.
2 Tags as recipient conditions Confirmed → building
You confirmed this. For reference, here's the target: the recipient card gains a verb + quantifier; "at least" reveals a number. Tap the quantifier to see how it reproduces each tag.
Recipient
gave to at least 2 of
Any slate candidate+ add
Slate Funder
I'll build this next: the spec/API gain an "at least N" quantifier on recipient conditions, the card gets the two operator chips, and tapping a tag chip opens the builder pre-filled to its equivalent.
3 Already fixed on the branch Done
IconStandard Lucide sliders-horizontal (no +/− marks).
Geo copyDropped the "donors" suffix → All / In-District / Out-of-State, no line-wrap.
Geo styleFloating-pill segmented control, solid-fill active.
ButtonBuild a full query at export-button height (~34px).
AllIn-DistrictOut-of-State
These are committed on design/quick-filter-polish and verified locally — but not deployed to the live app yet (that needs your go-ahead). See the question below.