🎃 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
- css3
- gemini
- html5
- javascript
- laughter
- tears
Log in or sign up for Devpost to join the conversation.