Inspiration

Monsters have it rough on the housing market. Vampires need blackout curtains, werewolves need the whole living room once a month, ghosts walk through your bedroom door, and nobody wants a zombie leaving arms on the couch. The theme asked us to build something a Halloween character could use in their day-to-day life, and finding a roommate who won't ruin your afterlife felt like the most relatable monster problem there is. So we built MonsterMatch, the afterlife's #1 roommate finder.

What it does

  • Build your monster: pick one of 10 types and set 7 habit sliders (light, sleep schedule, noise you make, quiet you need, messiness, space, temperature).
  • Swipe through 19 monsters, each with their own personality, backstory and hometown. There are three different vampires alone.
  • Compatibility report: a live score with a breakdown per trait, plus a dealbreaker detector.
  • Mutual matching: they have to swipe right on you too. Low compatibility means they'll probably pass.
  • Auto-written roommate agreement covering quiet hours, a cleaning schedule, rent split by how much space you take up, the thermostat, and the next full moon.
  • AI chat with your matches: every monster texts like a real person with slang from their hometown (Toronto, New York, London, Dublin, Philly and more). You can double text and chat with several monsters at once.
  • Refresh listings: monsters move in and out of the building in real time.

How we built it

MonsterMatch is plain HTML, CSS and JavaScript with no framework, hosted on Netlify.

Compatibility score. Each monster has 7 traits from 0 to 10. We score 6 lifestyle areas from 0 to 100. For example, light is

$$s_{\text{light}} = 100 - 14\,\lvert a_{\text{light}} - b_{\text{light}} \rvert$$

and noise compares how loud one monster is against how much quiet the other needs. The final score is a weighted sum plus monster quirk rules:

$$S = \operatorname{clamp}!\left(\sum_{i=1}^{6} w_i\, s_i \;+\; \sum_{j} q_j,\ 3,\ 99\right)$$

Light, schedule, noise and tidiness have weight $w_i = 0.2$, and space and temperature have $w_i = 0.1$. The quirk rules $q_j$ are where the monster logic lives: a witch's garlic potions are $-25$ for a vampire, a werewolf living with a skeleton is $-30$ (bones…), and a witch's storm spells charging a lab-built monster is $+15$.

Full moon. The next full moon is calculated with real lunar math, starting from a known full moon and adding the synodic month of $29.53$ days.

AI chat. Each monster gets a persona prompt with their personality, habits, hometown slang, your profile, and the compatibility issues between you. We call the Gemini API, with a free AI service and scripted replies as fallbacks so the demo never breaks. Replies have a "read" delay and a typing speed based on message length, so it feels like texting a real monster.

We used AI coding tools to help build parts of the project.

Challenges we ran into

  • Making the AI sound human. The first replies sounded like a poetry book ("a soft whisper through velvet curtains"). We rewrote the prompt to make the monsters text casually in lowercase with slang, banned dashes, and added a cleanup step that strips them out anyway.
  • Double texting and multiple chats. At first you couldn't send a message while a monster was typing. We rebuilt the chat so each conversation runs on its own and the monster waits until you stop texting before it replies to everything at once.
  • API problems mid-hackathon. A Gemini model we used got retired during the event, and the free AI service rate-limited us. The app now reads Google's error, switches to the suggested model automatically, and retries instead of faking a reply.
  • A bug where a hidden popup showed up as a giant white box once we hosted the app outside our dev environment.

What we learned

  • How to turn a fun idea into a real scoring algorithm with weights and rule-based adjustments.
  • Prompt engineering: getting an AI to sound less like an AI is harder than getting it to sound smart.
  • Handling async code, rate limits and fallbacks so a live demo doesn't fall apart.
  • Shipping a polished, working project in one day by cutting scope early.

What's next

Monster-made listings with photos of their haunted apartments, group houses for covens and packs, and a landlord mode.

Built With

Share this project:

Updates

Submission history