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

  1. Pick a frustration and describe your workday.
  2. Chaos Desk generates a boss for it, with a name, personality and difficulty.
  3. Play Bug Blaster: 20 seconds to click or tap bugs (+10), golden bugs (+50) and coffee (+5) while dodging bombs (-5).
  4. A result screen with a voice announcer and unlockable achievements, such as Deadline Ninja and Last-Minute Legend.
  5. 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 /api for 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

Share this project:

Updates

Submission history