Published: 2026-07-04
One tagged list, many decisions: designing a master list for filtered random picks
A decision list is only useful if it is current, and nobody keeps six lists current. The fix is structural: keep one master list, tag each item with the situations it fits, and let the filter — not a fresh copy-paste — decide what is on the menu tonight.
Why decision lists multiply and die
It always starts with one list — "dinner ideas," say, twenty items long. Then a busy Tuesday arrives and half the list is two-hour recipes, so you make "quick dinners." Then a no-spend month spawns "cheap dinners." Within a season you have five or six overlapping lists, a new idea gets added to one of them (whichever was open), and the moment two copies disagree, all of them stop being trustworthy. The failure is not discipline; it is data design. You stored the same information in multiple places, and duplicated data always drifts.
The alternative is the same one every database designer reaches for: one canonical
list, with the situational information attached to each item instead of encoded in
which list it lives on. That is precisely what the
Conditional Random Picker
is built for. Each line is an item plus hashtags — Stir fry #quick #cook,
Burger #takeout — and at pick time you filter by tag, so the "quick
dinners" list is not a document you maintain but a query you run.
How the filter reads your tags
Two rules govern the filter, and they pull in opposite directions by design. The
include field takes a comma-separated set of tags and keeps only the
items that carry all of them — include is an AND. Type
quick, healthy and a salad tagged #healthy #quick stays in
the pool, while a pizza tagged only #quick drops out. The
exclude field is the opposite: an item is removed if it carries
any excluded tag — exclude is an OR, a veto. Matching ignores capitalization
(#Quick and #quick are the same tag), and when the pick
lands, the tags are stripped from the displayed result, so the machinery stays out of
the answer.
The AND-include is what makes a master list expressive. With single-tag filtering you
would need a combined tag for every situation (#quick-and-healthy, and
soon a combinatorial explosion of them). With AND semantics, you tag each item along
independent dimensions once and compose the dimensions at pick time.
Designing a tag vocabulary that survives contact with real life
A workable vocabulary has a few properties. First, tags should name
dimensions, not moods: effort (#quick vs
#project), method (#cook vs #takeout), dietary
facts (#veg, #spicy). "Mood" tags like #comfy
feel right when you write them and mean nothing three months later. Second,
pick one word per concept and stick to it — a list where half the
fast meals are #quick and half are #fast will quietly drop
the other half from every filtered draw, and randomness makes that hard to notice.
Third, keep it small: two to four tags per item, five or six tags total across the
list. If you find yourself scrolling a mental tag glossary, the vocabulary has failed.
One more habit pays off: tag the exceptions, not the defaults. If
almost everything on your list is vegetarian, tagging every item #veg is
busywork — tag the few meat dishes #meat and use exclude when the
vegetarian friend visits. The exclude field is at its best as an allergy or veto
switch: spicy when the kids are eating, gym for hotel-room
workouts, scary on family movie night.
The same pattern beyond dinner
Meals are the gateway use, but the pattern transfers anywhere one list serves several
situations. A workout list tagged #upper, #legs,
#short, #nogym becomes a different program every morning
depending on the filter. A date-night list tagged #free,
#indoor, #booking adapts to weather and budget. Movie
backlogs (#short, #subtitles, #rewatch),
weekend chores (#outdoor, #tenmin), even icebreaker
questions for different audiences — the shape is identical: one honest list, tagged
along the dimensions that actually change between occasions. If your situations
differ by likelihood rather than by category — you want takeout to win
sometimes, just not often — that is a job for the
Weighted Random Picker
instead; tags gate, weights tilt.
When the filter comes back empty
Stack enough conditions and eventually a draw returns nothing: no item carries all the include tags and dodges every exclude. The tool does not invent an answer — an empty pool yields an empty result — and that emptiness is information. It means your list has a hole at exactly the intersection you keep asking for. Quick and healthy and not takeout coming up blank is your cue to go find two recipes that fit, not to loosen your standards at 6 pm with low blood sugar. In the moment, drop one include tag (start with the one you care least about) and re-roll; afterwards, patch the gap so next Tuesday's query has something to find.
Start with the list you already have. Paste it into the Conditional Random Picker , spend five minutes tagging along two dimensions, and retire the other five copies. Everything runs in your browser, the list is saved locally between visits, and the next time someone says "something quick, but not spicy," the answer is one filtered click away.