Product
One number can’t describe a scare
Why Horrorometer rates films on Creepy, Gory, and Jumpy instead of five stars — and what a week of rating-system design taught me about taste.
Every review site collapses quality into one number. That’s mostly fine — a restaurant is good or it isn’t. But horror breaks the model, and Horrorometer exists because of how it breaks.
The problem in one comparison: a slow-burn atmospheric ghost story and a wall-to-wall splatter film can both score 3.5 stars. They have almost nothing in common — different pleasures, different audiences, different reasons you’d recommend them. The star rating says "equally good" when what the user needs to know is "completely different experiences". A horror fan who hates gore but loves dread gets actively misled by the flattened score.
Three axes, one personality
Horrorometer rates every title on three axes:
- Creepy — dread, atmosphere, the thing you feel before anything happens.
- Gory — the explicit stuff, what’s shown rather than implied.
- Jumpy — the physical shock, the cat-in-the-fridge school of filmmaking.
The axes are independent, deliberately. High Creepy / low Jumpy is — arguably — the genre’s high art. High Jumpy / low Creepy is a theme park ride, and a perfectly good one. The profile is the recommendation: a user who learns "my sweet spot is Creepy 8, Gory 2, Jumpy 5" has a search query no star system can express.
What the design week actually involved
The rating system took a week of design, and most of it was spent saying no:
- No composite score. The tempting middle ground — average the three into one headline number — reintroduces the exact flattening the axes exist to avoid. The profile is the answer; there is no summary.
- Three axes, not ten. — I tested lists like "slow burn, found footage, folk horror, slasher…" — each axis added makes rating more accurate and less likely to actually happen. Three is the number where users reliably finish the job. Coverage beats precision.
- No half-stars. A 1–5 range per axis keeps the mental load down. Users aren’t calibrating instruments; they’re expressing impressions.
- Community over critic. Ratings are averages of user profiles, with moderation — the taste graph is the product, not my opinion.
The taxonomy is the moat
Anyone can clone a review site. Cloning a taste model requires users to have already populated it — every rating makes the next recommendation better, and none of it is portable. The lesson I keep from this applies well beyond horror: the structure of your ratings encodes your understanding of your domain. A star system says "I understand quality". A three-axis profile says "I understand this genre’s quality" — and the second one earns loyalty the first can’t.
It also changed how I watch horror, which I did not expect from a data model. Once you split dread from shock, you notice how many “scary” films are only loud.
Keep reading
More from the blog.
Accessible by default: how I bake it in from the first sketch
Accessibility isn’t a checklist at the end — it’s a posture. Here’s how I keep it present from wireframe through to production code.
Shipping solo: what I learned building three live products
Horrorometer, Kanaboards, and SENDadvisor all started as itches I wanted to scratch. Some patterns held across all three — and a few surprised me.
Designing for stressful systems: lessons from SENDadvisor
Families navigating SEND services are already overwhelmed. How do you design a directory that feels calm, trustworthy, and genuinely useful?