DEV Community

Sam Chen
Sam Chen

Posted on

I Built a Book Recommendation Engine Based on Mood, Not Genre

Genre-based book recommendations are broken. Someone who loves "The Great Gatsby" and "Norwegian Wood" doesn't want "literary fiction" — they want books that feel a certain way.

I built BookMoodMatch to solve this.

Why Mood > Genre

Think about the last book you loved. You probably wouldn't describe it by genre first. You'd say it was "cozy" or "mind-bending" or "made me ugly-cry on the train."

That emotional dimension is what BookMoodMatch uses. Instead of asking "what genre?" it asks "what mood are you in?"

How It Works

The matching algorithm considers:

  • Current mood — contemplative, adventurous, cozy, intense, light
  • Reading context — commute, vacation, before bed, weekend binge
  • Past favorites — not just titles, but what you loved about them
  • Avoidance signals — topics or tones you want to skip right now

The Data Challenge

Building a mood taxonomy for books is harder than it sounds. A book can be simultaneously "dark" and "hopeful." The same book reads differently depending on where you are in life.

I ended up with a multi-dimensional mood space rather than simple labels. Each book gets scored across several emotional axes, and matching happens in that space.

Results

The most common feedback: "This is the first recommendation engine that actually gets me." Genre systems put you in a box. Mood systems meet you where you are.

Try it at bookmoodmatch.com.

Top comments (0)