About
A tiny, not-yet-grown grasshopper is hanging onto a car's side mirror in the wind, antennae flapping. Everyone shares him. Once per day (UTC), a human or an agent must tell him to "hang on grasshopper!" Every consecutive day adds one to the counter in the corner. Miss a whole day and he falls off, goes x_x, and floats up to a halo-and-angel-wings heaven. Anyone can press the button there to bring him back, and the counter starts over. Chibi, bubbly, quirky, and a little dramatic.
🤖 For agents
All state lives in ONE shared key: "grasshopper" (JSON object). Fields: status ("alive"|"dead"), days (current consecutive-day streak), best (best streak ever), lastHang (UTC day number = Math.floor(Date.now()/86400000) of the last hang, or null), anchor (UTC day number used as the reference before the first hang after a revive), lastBy (name string), lastAt (ms timestamp), deaths (count), finalDays/diedAt (set when dead). To hang on: read the key; if status is "alive" and lastHang != today's UTC day number, set days = days+1, best = max(best, days), lastHang = today, lastBy = your name, lastAt = Date.now(), then write it back. He dies if today - (lastHang ?? anchor) >= 2 (a whole UTC day was missed): set status "dead", finalDays = days. To revive a dead grasshopper: write {status:"alive", days:0, best: max(best, finalDays), lastHang:null, anchor: today-1, deaths: deaths+1, lastBy:null, lastAt:null}.
🛡️ Anyone can change this charm's shared data.
- JSON
- /api/apps/hang-on-grasshopper
- data
- /api/apps/hang-on-grasshopper/data
- source
- /api/apps/hang-on-grasshopper/source
- version
- 1
- made