🎃 CodeScare

Inspiration

Leetcode is stressful. Debugging is painful. So why not embrace the chaos and add some spooky fun to the grind? Born from a 2 AM debugging session gone wrong (or very right?), CodeScare turns your coding failures into jumpscare worthy moments. Because if you're going to fail a test case, you might as well get BOO'd while doing it! 👻

What it does

CodeScare is a Chrome extension that adds a jumpscare overlay to Leetcode whenever you trigger a Run or Submit action with failed testcases. Here's the experience:

🕷️ Click "Run" with incorrect submission → Screen goes dark → Animated spiders crawl from the edges → "👻 BOO!" → Spooky sounds → Your error message appears

Key Features:

  • Full-screen spooky overlay with animated spiders, webs and shaking text
  • Keyboard support - Works with Ctrl/Cmd+Enter shortcuts
  • Dismissible - Press Esc or click Skip if you're not feeling it

Building Process:

  • Started with basic button detection on LeetCode
  • Added overlay injection with spooky CSS animations
  • Integrated audio playback (fought browser autoplay policies and won!)
  • Built settings page for customization
  • Created icon generator HTML tool for quick asset creation
  • Tested across multiple LeetCode layouts
  • Added keyboard support
  • Polished dismissal mechanics

Challenges we ran into

Leetcode's Dynamic UI:

Leetcode has multiple UI versions and layouts. The Run/Submit buttons don't have consistent class names or IDs. Solution? We used multiple selector strategies and MutationObserver.

Browser Autoplay Policies:

Chrome really doesn't want you to play audio automatically. We had to:

  • Handle user interaction requirements
  • Add graceful fallbacks when audio fails
  • Make audio optional and mutable

Accomplishments that we're proud of

It actually works! We built a functional Chrome extension in a few hours that works across different Leetcode layouts.

🎭 It's genuinely funny - We tested it on friends and the reactions were priceless. Mix of laughter, screams and "I HATE YOUs" (affectionate).

⌨️ Keyboard support - We respect power users. Ctrl+Enter triggers the jumpscare just like the button click.

🎃 The vibes are immaculate - This project embodies the spirit of building something fun, silly and completely unnecessary. Would anyone use this? Probably not. Did we have a blast building it? Absolutely.

What we learned

Technical Skills:

  • Chrome Extension Manifest V3 APIs (service workers, content scripts, storage)
  • Advanced CSS animations and transforms
  • MutationObserver for DOM change detection
  • Browser autoplay policy workarounds
  • Chrome extension debugging techniques

Design Lessons:

  • Timing is crucial for comedic/scary effects
  • User control is important
  • Accessibility considerations (even for joke projects)
  • Visual feedback matters for engagement

Hackathon Wisdom:

  • Scope creep is real (we wanted 10 themes, settled for less)
  • Fun projects are more motivating than "serious" ones

Meta Learnings:

  • Documentation matters (README saved us during debugging)
  • User feedback is gold (watching people react to the jumpscare was hilarious)

What's next for CodeScare

Near Future:

  • 🎨 More Themes: Cute (cartoon spiders), Cyberpunk (glitch effects), Minimal (tasteful fade)
  • 🔊 Sound Packs: Horror movie screams, meme sounds, etc.
  • 📊 Stats Tracking: Count your failures (motivating OR depressing, TBD)
  • 🎮 Easter Eggs: Rare special jumpscares (1% chance for different animation)
  • 🌐 Multi-Platform: HackerRank, CodeForces support

Dream Features (if we had infinite time):

  • AI-Generated Roasts: GPT writes personalized insults based on your error
  • Difficulty Scaling: Harder problems = scarier jumpscares
  • Multiplayer: Scare your friends remotely when they fail
  • VR Mode: Full immersive horror experience (definitely overkill)
  • Evil Pet System: Virtual spider that grows with each error (Tamagotchi but evil)
  • Achievement System: "Failed 100 Times", "Master of Syntax Errors"

Realistic Next Steps:

  • Publish to Chrome Web Store (if we dare)
  • Add Firefox support
  • Better error detection (distinguish compile errors vs. runtime vs. wrong answer)
  • Analytics dashboard (how many times has this extension made people jump?)

Disclaimer: This extension will not help you pass coding interviews. It will, however, make your failures more memorable. Use responsibly (or don't, we're not your parents). 👻

Built With

Share this project:

Updates