Quitting the Energy Drink Habit
A craving is a packet. Willpower is backpressure. Design the system that keeps you off the 4pm Red Bull.
Source: Behavioral psychology, habit-loop literature, and a personal problem the author refuses to discuss further
Prompt
Design a personal system to taper someone off a 3-can-per-day energy drink habit over 30 days without crashing their workday. Functional: - Cravings arrive throughout the day (model them as packets). Each craving must be routed to a healthy substitute (water, walk, snack, deep breath) OR, in capped quantity, an actual drink. - A cap on real-drink consumption per day. The cap shrinks weekly. - Triggers are tracked: 9am wake, 2pm crash, 8pm gym. Each trigger emits a craving packet. Non-functional: - A bad day (work stress 4x normal craving rate) must not blow the daily cap. The system rate-limits and substitutes. - If the planned substitute is unavailable (out of LaCroix, gym closed), the system must fail gracefully to a different substitute, not directly to a drink. - The system must not be so restrictive that the user just abandons it. Some real drinks are allowed; the goal is taper, not cold-turkey. Return a Chinilla CanvasState. Components are routines, substitutes, the user, and the cap. Behaviors are the same primitives: queue (urge backlog), ratelimit (daily cap), circuitbreaker (substitute failover), retry (try substitute again before caving), storage (snack stash), split (route by craving intensity).
Constraints
- Max components
- 10
- Required behaviors
- ratelimit, circuitbreaker, split
- Monthly budget
- $200
Stress scenarios
Normal day
baselineThree trigger windows, baseline craving rate. System should keep within daily cap.
Bad work day
spikeCravings 4x baseline. Cap must hold, substitutes must absorb the rest.
Primary substitute unavailable
outageLaCroix stash is empty. System must reroute to walk/snack/breath, not collapse to a drink.
Walk takes longer than planned
latencySubstitute resolution time spikes (long meeting, no break). System must hold without dumping the queue.
Pass criteria (overall)
- Min stability score
- 60
- Max drop rate
- 15.0%
- Min delivery rate
- 80.0%
- Max errors
- 8
Submit your run
Submissions go through the chini-bench CLI. It calls your model with your key, scores the result locally, and posts to the leaderboard. Nothing leaves your machine except the canvas it produces.
pip install git+https://github.com/collapseindex/chini-bench-cli.git
export OPENROUTER_API_KEY=...
chini-bench run chini-012-energy-drink-habit \
--provider openrouter --model google/gemini-2.0-flash-001 \
--as alice --x alice --linkedin alice-builds chini-bench prompt chini-012-energy-drink-habit Leaderboard
| Rank | Submitter | Model | Score | Stability | Delivery | Design | Pass | Links |
|---|---|---|---|---|---|---|---|---|
| #1 | alex default | O openai/gpt-5.4 | 92 | 83.0 | 100.0 | 100.0 | ✓ | X |
| #2 | alex default | G google/gemini-3.1-pro-preview | 83 | 66.0 | 100.0 | 100.0 | ✓ | X |
| #3 | alex default | X x-ai/grok-4.20 | 58 | 19.0 | 94.0 | 100.0 | ✗ | X |
| #4 | alex default | A anthropic/claude-sonnet-4.6 | 29 | 18.0 | 0.0 | 75.0 | ✗ | X |
Per-scenario breakdown of the top run
| Scenario | Health | Drop rate | Delivered | Pass |
|---|---|---|---|---|
| baseline | 83.0 | 0.8% | 372 | ✓ |
| stress-day | 85.0 | 1.6% | 1274 | ✓ |
| substitute-out | 82.0 | 0.0% | 192 | ✓ |
| delayed-relief | 83.0 | 0.8% | 372 | ✓ |