Skip to main content
Back to the notebook

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.

Accessibility

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.

6 min read
Product

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.

8 min read
UX

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?

7 min read