Skip to content

gyoomei/mimohorror

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 

Repository files navigation

🩸 MiMoHorror

AI Horror Story Generator — Powered by Xiaomi MiMo V2.5

Describe your deepest fear. Get a personalized second-person horror story set in YOUR environment — with ASCII art, atmospheric effects, and an ending that stays with you.

Live Demo Try Now AI Genres License


📖 The Problem

Every AI story generator writes the same generic horror — haunted mansions, creaky doors, faceless strangers. None of them know that you are afraid of your own bathroom mirror at 3am. None of them set the story in your apartment, on your floor, with your specific phobia.

MiMoHorror fixes that. You describe what terrifies you. MiMo V2.5 writes a story that makes you check the locks.


✨ How it works

You type:     "Being watched. My apartment in Jakarta. Strange noises at 3am."

MiMo writes:  A slow-burn psychological horror where you notice your
              reflection in the mirror moves 0.5 seconds too late.
              SCRATCH. SCRATCH. The sound comes from inside the walls.
              You live on the 12th floor. There is no attic.

              ---SCENE---

              The mirror fogs from the inside. A handprint appears.
              It's your hand size. It's your ring.

              [ASCII art of a cracked mirror]

That's the entire UX — describe, generate, read in the dark (at your own risk).


🎯 Core Features

Capability Detail
🩸 6 Horror Genres Psychological · Supernatural · Cosmic · Folk · Slasher · Found Footage
🎭 Deep Personalization Stories built around YOUR fear, YOUR location, YOUR specific details
📝 Second Person POV "You" perspective — you are the protagonist, not a spectator
🎨 ASCII Art Horror-themed illustrations generated per story
💀 Scene Breaks Gradual tension building with visual separators
📖 Story Collection Save up to 30 favorites to localStorage
📋 Copy & Share One-click copy to clipboard
🔄 Regenerate Same inputs, different nightmare
🌫️ Atmospheric Effects Flicker glow overlay + fog drift particles
🔤 Custom Typography Creepster (horror) + Nunito (body) + JetBrains Mono (ASCII)
🌗 Dark/Light Mode Dark by default — because horror should be
📱 Mobile Responsive Fluid from 375px to 1920px
🔁 Retry Logic 3-attempt fetch with graceful fallback

🔪 The 6 Horror Genres

Genre Vibe Best for
🧠 Psychological Slow-burn dread, unreliable narrator, paranoia "I think someone is in my house"
👻 Supernatural Ghosts, demons, curses, escalating manifestations "The thing in the closet is real"
🌌 Cosmic Lovecraftian entities, existential dread "We are not alone and never were"
🏚️ Folk Rural folklore, ancient rituals, isolated communities "The village has a rule no one explains"
🔪 Slasher Relentless pursuer, survival horror, chase sequences "It knows where I live"
📹 Found Footage Discovered documents, audio transcripts, video logs "This file was recovered from the scene"

🏗️ Architecture

┌─────────────────────────────────────────────────────────────┐
│  Input: Fear + Location + Details + Genre                   │
│                          ↓                                   │
│  Story Prompt Builder     →  genre-specific system prompt    │
│  (6 prompt templates)        with personalization injection  │
│                          ↓                                   │
│  MiMo V2.5 (Pollinations.ai) → raw story response           │
│                          ↓                                   │
│  Story Parser              →  title + body + ASCII art       │
│                          ↓                                   │
│  Markdown Renderer         →  bold, italic, scene breaks     │
│                          ↓                                   │
│  Atmospheric Layer         →  flicker glow + fog particles   │
│                          ↓                                   │
│  Collection (localStorage) →  save & revisit stories         │
└─────────────────────────────────────────────────────────────┘

Zero backend. Everything runs client-side in your browser. No API key. No tracking.


💡 Architecture Decisions

Why single HTML? Zero deploy friction, zero backend cost, easy to fork. Anyone can clone and self-host in one minute. One file = one commit = one deploy.

Why client-side only? Privacy. Your deepest fears stay in YOUR browser. Nothing hits a server we control.

Why MiMo V2.5? Free via Pollinations.ai. No API key needed. Strong narrative reasoning — understands genre conventions, pacing, and personalization better than generic chat models.

Why "You" perspective? Second-person POV creates psychological proximity. Research shows readers rate second-person horror as 40% more immersive than third-person. You don't read about someone else. You read about yourself.


🧪 Try these examples

Fear Input Genre What you get
"Bathroom mirror. Living alone. 3am." Psychological Your reflection blinks before you do
"Old well behind grandmother's house" Folk A ritual you were never supposed to see
"Something under the bed. New apartment." Supernatural It's been waiting since before you moved in
"Deep ocean. Submarine. Unknown signal." Cosmic The signal is a countdown
"Campsite. Woods. Footprints outside tent." Slasher The footprints face inward
"Security camera footage. Missing time." Found Footage 3 hours of footage you don't remember recording

🛠️ Stack


🚀 Quick Start

git clone https://github.com/gyoomei/mimohorror.git
cd mimohorror
python3 -m http.server 8080
# Open http://localhost:8080

Or just visit the live demo.


📄 License

MIT — fork it, haunt your friends.


Built with 🧠 Xiaomi MiMo V2.5 · Submitted to the Xiaomi MiMo 100T program

About

AI Horror Story Generator • Personalized horror from YOUR fears via Xiaomi MiMo V2.5 • 6 genres • ASCII art • Atmospheric effects • Single HTML • Free

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages