💡 Inspiration
I wanted to create something that feels nostalgic, interactive, and genuinely unsettling — a browser-based horror experience that doesn't rely on jump scares but builds tension through glitches, audio, and terminal interactions.
The idea of a haunted terminal from a failed 90s experiment came to life from blending tech folklore, analog horror, and my love for minimal, atmospheric storytelling.
💻 What it does
Project Chimera is an interactive horror terminal you run inside your browser.
You explore a decaying, haunted system using familiar commands like ls, cat, help, and run. The deeper you go, the stranger it gets — audio distorts, the interface glitches, and the system begins to "wake up."
It's a cursed command-line experience where code and horror collide.
🛠️ How I built it
- Frontend: HTML, CSS (with heavy CRT/glitch styling), and vanilla JavaScript
- Audio: Web Audio API for ambient sound, distortion effects, and timing with user input
- Interaction Design: Simulated command parsing and file system behavior with hidden responses
- Deployment: Hosted via GitHub Pages for easy access
Everything was built from scratch — no frameworks, no libraries, just raw web tech.
🧩 Challenges I ran into
A significant challenge was ensuring audio played reliably. Modern browsers often suspend AudioContext until explicit user interaction. Implementing a robust resume mechanism was key.
Initially, running index.html directly from the file system (file://) caused fetch requests for audio to fail due to security policies. Understanding and implementing a local HTTP server was essential.
Coordinating CSS glitches, text output, and Web Audio API events to create a cohesive and impactful horror experience required careful timing and setTimeout management.
Iterating on CSS animations and JavaScript triggers to make the visual and auditory glitches feel organic and genuinely unsettling.
🏆 Accomplishments that I'm proud of
- Built an immersive horror experience using only HTML, CSS, and vanilla JS
- Successfully created tension without using any frameworks or back-end
- The retro terminal aesthetic, interactive audio, and timed glitch effects came together exactly how I envisioned
- People testing it actually got creeped out — mission accomplished 👻
📚 What I learned
- How to bend vanilla JS to simulate a realistic, stateful CLI experience
- Advanced use of the Web Audio API for atmospheric control
- How to enhance storytelling purely through UI and terminal interactions
- Importance of subtle audio + visual timing in creating a horror experience
- That less can be more — a simple interface can deliver a powerful story when done right
🔮 What's next for Project Chimera
- Add branching narratives based on user commands
- Include corrupted images or video files to increase immersion
- Make it more reactive — detecting repeat visits or evolving over time
- Introduce a "fake OS crash" or recursive system reboot mechanic
- Potentially turn this into a full-blown ARG (Alternate Reality Game) with hidden web pages, lore, and puzzles
Built With
- audio
- css3
- html5
- javascript
- webapi
Log in or sign up for Devpost to join the conversation.