Inspiration
Work frustrations (a flooded inbox, a bug that won't die, a deadline that moved again) are real, but they're hard to laugh about. Chaos Desk turns them into fictional enemies you can actually defeat. Your deadlines are real. Your enemies are fictional.
What it does
- Pick a frustration and describe your workday.
- Chaos Desk generates a boss for it, with a name, personality and difficulty.
- Play Bug Blaster: 20 seconds to click or tap bugs (+10), golden bugs (+50) and coffee (+5) while dodging bombs (-5).
- A result screen with a voice announcer and unlockable achievements, such as Deadline Ninja and Last-Minute Legend.
- Roast & Rescue: get gently roasted or genuinely encouraged.
How I built it
- React + Vite (plain JavaScript and CSS) with a neon arcade theme and SVG monsters
- Express for local dev, and Vercel serverless functions in
/apifor deployment - Gemini generates boss configs, and every response is validated and clamped by a sanitizer before it reaches the game
- ElevenLabs text-to-speech for the announcer
- Offline fallbacks for everything: preset bosses, local roasts and browser speech, so the game never breaks
- Stats and achievements are stored in localStorage
Challenges
Making LLM output safe to trust (validating and clamping every field), keeping voice working across browser autoplay rules, and debugging environment variables on Windows. A stale system env var silently overrode my .env file.
What I learned
Build the fallback first. A game that degrades gracefully is better than a demo that depends on an API.
What's next
More mini-games, shareable boss cards, and team boss battles.
Integration status
Built With
- css
- elevenlabs
- express.js
- gemini
- javascript
- node.js
- react
- vercel
- vite
Log in or sign up for Devpost to join the conversation.