Random Activity Generator
Generate random activity ideas filtered by category, energy level, time, participants, and cost. 150+ curated activities with spin animation.
Set your filters and hit Generate to discover your next activity
About
Decision fatigue is a documented cognitive phenomenon where the quality of decisions deteriorates after a long session of decision-making. When faced with unstructured free time, the paradox of choice often results in doing nothing at all. This generator addresses that problem directly. It draws from a curated pool of 150+ activities across 8 categories, each tagged with metadata: estimated duration in minutes, energy expenditure (LOW, MEDIUM, HIGH), participant count, and cost bracket. The selection uses crypto.getRandomValues for uniform distribution, not Math.random, which relies on a PRNG with potential bias in short sequences.
Filters narrow the eligible pool before selection, so every result respects your constraints. A repeat-prevention buffer tracks your last n picks (default n = 20) and excludes them from the candidate set. If the filtered pool is exhausted, the buffer resets automatically. This tool approximates spontaneity within user-defined boundaries. It does not account for weather, local availability, or physical limitations beyond the energy tag. Pro tip: set filters loosely on first use to discover categories you would not have considered.
Formulas
The generator applies a filter-then-select pipeline. Given the full activity set A and user-selected filter predicates F1, F2, … Fk, plus a history buffer H of recently shown items:
A single activity is then selected uniformly at random from the eligible pool P:
Where |P| is the cardinality of the eligible pool. If |P| = 0, the history buffer H is cleared and the filter is re-applied. The modulo operation introduces negligible bias when |P| ≪ 232, which holds for any dataset under 10,000 items.
Where: A = full activity dataset, Fk = filter predicate for dimension k (category, energy, duration, participants, cost), H = history buffer (last 20 selections), P = eligible pool after filtering, i = random index.
Reference Data
| Category | Example Activities | Typical Duration | Energy Range | Cost Range |
|---|---|---|---|---|
| Outdoor | Hiking, Bird Watching, Geocaching, Park Picnic | 30 - 180 min | Low - High | Free - Cheap |
| Creative | Sketching, Poetry Writing, Origami, Photography | 20 - 120 min | Low - Medium | Free - Moderate |
| Social | Board Game Night, Potluck Dinner, Trivia Night | 60 - 180 min | Low - Medium | Free - Moderate |
| Fitness | Yoga, Jump Rope, HIIT Workout, Swimming | 15 - 90 min | Medium - High | Free - Cheap |
| Learning | Online Course, Language Practice, Documentary | 30 - 120 min | Low | Free - Cheap |
| Relaxation | Meditation, Bath Soak, Stargazing, Reading | 15 - 90 min | Low | Free |
| Cooking | Bake Bread, Smoothie Experiment, Meal Prep | 30 - 150 min | Low - Medium | Cheap - Moderate |
| Productivity | Declutter a Room, Journal Planning, Digital Detox | 20 - 120 min | Low - Medium | Free |
| Decision Fatigue Benchmarks | ||||
| Average decisions per adult per day | 35,000 (Sahakian & Labuzetta, 2013) | |||
| Willpower depletion onset | After 2 - 4 hours of continuous decision-making | |||
| Optimal break activity duration | 15 - 30 min (restorative effect peaks) | |||
| Paradox of choice threshold | > 7 options degrades satisfaction (Iyengar & Lepper, 2000) | |||
| PRNG bias window (Math.random) | Detectable in sequences < 1000 samples (V8 xorshift128+) | |||
| CSPRNG source used here | crypto.getRandomValues (uniform 32-bit) | |||