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
Share this project:

Updates