Talk to Dracula, Grim Reaper & Bloody Mary — each powered by their own AI agent.
Halloween should be felt, not just seen.
So I built Tantrik — a web experience where you can actually chat with supernatural spirits, each with unique personalities, sounds, animations, and moods.
Live App → https://tantrik-web.vercel.app
Source Code → https://github.com/luexclothings-hue/tantrik
👻 What is Tantrik?
A fully immersive Halloween spirit-chat platform where users talk to:
- 🧛 Count Dracula – ancient, poetic, blood-obsessed
- 💀 Grim Reaper – cold, judgmental, metaphor-heavy
- 👰 Bloody Mary – unpredictable, whispery, mirror-themed
Each spirit has:
- Its own AI agent
- Custom system prompt
- Animated background scene
- Spirit-specific ambience + horror sounds
- Themed UI + color psychology
🧱 Architecture Overview
tantrik/
├── tantrik_web/ # Next.js 16 + React + TS frontend
└── tantrik_ai/ # Flask backend with multi-agent AI
🔮 Multi-Agent AI Backend (Flask + OpenAI)
Tantrik doesn’t use one model pretending to be everyone — I built separate AI agents for each spirit.
Base agent
class SpiritAgent:
def __init__(self, name, system_prompt, primary_api_key, model, temperature):
self.name = name
self.system_prompt = system_prompt
self.model = model
self.temperature = temperature
Dracula example
class DraculaAgent(SpiritAgent):
def __init__(self, primary_api_key):
super().__init__(
name="Count Dracula",
system_prompt=DRACULA_SYSTEM_PROMPT,
primary_api_key=primary_api_key,
model="gpt-4o-mini",
temperature=0.9
)
1.Why separate agents?
2.Faster
3.Cheaper
4.No personality mixing
5.Better consistency
🎨 Immersive Halloween Frontend (Next.js 16)
- Frontend stack:
- Next.js App Router
- React 19 + TypeScript
- Tailwind CSS
- Streaming chat UI
Horror animations (blood drips, flickers, cracked mirrors)
Custom sound engine (ambience + effects)
All wrapped in a Halloween color psychology theme:
Mystic Purple (#8B5CF6)
Blood Red (#DC2626)
Pumpkin Orange (#FF6B35)
Shadow Black (#0A0612)
⚙️ How Kiro Helped Me Build Tantrik
Kiro became my AI development partner.
✔️ Hook System
- onCheck → Prevent duplicate components, enforce naming rules, block non-Halloween colors
- onGenerate → Ensure theme compliance during generation, log all files
- onSave → Formatting warnings, missing semicolons, TODO detection
✔️ Steering Docs
- I wrote full guides:
- Coding style
- Dev rules
- Agent architecture
- Theme system This made Kiro produce consistent, on-brand code automatically.
😂 Fun Bugs
Dracula once said “bro”
Grim Reaper used “lol”
Bloody Mary gave relationship advice
First blood animation looked like ketchup
🚀 What’s Next
- Seasonal themes (Christmas, New Year spirits)
- Live voice chat with spirits
- AR “mirror ghost” mode
- More AI entities
🧡 Final Thoughts
Tantrik showed me how powerful multi-agent systems + theme design + Kiro automation can be.
If you want to build something atmospheric, weird, creative — this is your sign.
“The spirits always listen…
but they only answer in darkness.” 👻

Top comments (0)