Inspiration
Halloween has always been about the thrill of the unknown — the dark corners of imagination where stories come alive. I wanted to create something that doesn’t just tell a horror story but makes you a part of it. My goal was to blend AI, storytelling and interactivity in a fun, spooky, and lightweight way anyone could enjoy from a browser.
What it does
Register with a username & password Choose story size and horror theme (Ghosts, Vampires, Zombies, Demonic Possession) Make branching choices that dynamically change the narrative Unlock a password-protected ending and download their personalized horror story
How I built it
I used Python and Streamlit to create the app’s interactive UI. Story logic is: random for unpredictable plot twists base64 for secure image embedding Custom horror images for immersive storytelling Streamlit Cloud for hosting and sharing the app online
Challenges I ran into
Getting branching story logic to work seamlessly without confusing the player. Managing image embedding (so Streamlit could load everything instantly). Recording a demo video while explaining every flow clearly within 5 minutes . Maintaining a consistent eerie vibe while keeping the app lightweight and bug-free.
Accomplishments that I'am proud of
Successfully built my first full-fledged Streamlit web app completely from scratch within the hackathon time limit. Created an interactive horror storytelling engine that generates unique stories every time. Recorded and edited a demo video explaining every feature clearly while keeping the spooky theme alive.
What I learned
How to build and deploy full Streamlit apps quickly. How to design an interactive user experience with random and conditional logic. The importance of writing modular, reusable Python functions for branching narratives. Basic front-end storytelling design (UI/UX + visual engagement).
What's next for Whispers in the Dark — An AI Horror Experience
Include background music and sound effects for immersion. Create multiplayer horror experiences where players’ choices affect each other’s fates.
Built With
- base64
- python
- random
- streamlit-cloud
Log in or sign up for Devpost to join the conversation.