Stremio Mood Catalogs: Browsing by Vibe Instead of Genre

By the AI Streams team · 2026-06-14

You sit down, you open Stremio, and you scroll. The rows are the same ones that were there last week: Trending, Popular, and a genre dropdown that goes Action, Comedy, Drama, Horror. None of those is what you actually want. What you want is "something warm that does not require me to think," or "I just got dumped and I want to feel worse on purpose," or "background noise while I do chores." Stremio has no row for any of that, so you keep scrolling, and twenty minutes later you watch nothing.

The problem is not that Stremio lacks content. The problem is that genre is the wrong unit for the decision you are trying to make.

Why genre filters fail

Genre describes what a film is. It says nothing about how it feels to watch, and feel is the thing you are actually shopping for at 9pm on a Tuesday.

Take "Comedy." That single tag covers Step Brothers and The Death of Stalin. One is loud, broad, and switches your brain off. The other is a precise, vicious satire that demands attention. They share a genre and share almost nothing about the experience of watching them. If you are in the mood for one, the other is actively wrong, and the genre filter cannot tell them apart.

It gets worse the more specific your mood is. "Drama" spans a cozy Sunday rewatch and a two-hour gut-punch about grief. "Sci-fi" spans popcorn space battles and slow, cerebral films where nothing explodes and everything is about loneliness. "Horror" spans a fun jump-scare night with friends and a genuinely upsetting slow descent you would never put on casually. Genre flattens all of that into one bucket, so the filter that is supposed to narrow your choice barely narrows it at all.

The genre dropdown also assumes the thing you are filtering on is the subject of the film. Most of the time it is not. You do not want "a film about space." You want "a film that makes me feel small and quiet." The subject and the feeling are different axes, and Stremio only gives you the first one.

What you carry into the evening is a mood, not a genre. The interface should meet you there.

What a mood catalog actually is

A mood catalog is a Stremio row organized around a feeling instead of a category. Instead of "Horror," you get "Rainy Sunday" or "Mind-bender" or "Workout fuel," and the row is filled with titles that deliver that experience regardless of which genre box they technically sit in.

The hard part is the matching. A naive version of this is just a relabeled genre tag: call the Comedy bucket "Feel-Good" and ship it. That does not work, because plenty of comedies are mean and plenty of feel-good films are dramas. The feeling cuts across genres, so the matching has to understand the feeling, not the label.

That is the difference between a cosmetic mood row and a real one, and it is where the underlying technology starts to matter.

How AI Streams does it: 12 curated moods, matched by meaning

AI Streams ships 12 operator-curated mood catalogs, and they are matched semantically rather than by genre tag. Here is what that means in plain terms.

Every mood has a short written description of the experience it is meant to deliver. That description gets turned into an embedding, which is a numeric fingerprint of its meaning. Separately, AI Streams maintains a pgvector index of roughly 10,000 popular titles, where each title has its own embedding built from its description, themes, and tone. Matching a mood is then a question of finding the titles whose meaning sits closest to the mood's meaning in that vector space.

The practical payoff: the system matches the feel, not the keyword. A film never gets into the "Feel-good sick day" row because someone tagged it feel-good. It gets in because its actual described content sits close to what that mood means. That is why a quiet drama and an animated comedy can land in the same mood row without either of them sharing a genre, and why the row feels coherent in a way a genre filter never does.

A hardcoded genre tag is a yes or no flag a human attached once. A semantic match is a distance measured against the title's real content, so it catches the films a tagger would have missed and skips the ones that match on paper but not in spirit.

These results are pre-computed weekly, not generated live while you wait. The full 10,000-title index gets re-scored against every mood on a schedule, so by the time you open the row it is already built and loads instantly. The weekly refresh also means new and recently popular titles rotate in on their own, without anyone hand-editing a list.

The 12 moods

The current set is split evenly: six for movies, six for series.

Movies:

Series:

What a few of them surface

Feel-good sick day leans toward warm, character-driven films with low stakes and a soft tone. Think gentle animated features and light comedies where the worst thing that happens is someone burns a pie. It deliberately skips anything that would spike your heart rate, even if that thing is technically a comedy or a family film.

Mind-bender goes the opposite direction. It pulls the slow-burn sci-fi, the time loops, and the puzzle-box thrillers that assume you are paying attention. A film like Arrival belongs here far more than it belongs in a generic "Sci-Fi" row sitting next to a superhero team-up, because the mood match is reading for the contemplative, demanding quality of the experience, not the spaceships.

Post-breakup is the one that proves the point. There is no genre called "heartbreak you want to sit inside on purpose." It cuts straight across Drama, Romance, and the occasional bleak comedy, gathering the films that stay with the loss instead of rushing past it, and that find their way to something hopeful by the end. A genre dropdown literally cannot build this row. A semantic match builds it easily, because "the feeling of a breakup" is exactly the kind of thing an embedding captures and a tag does not.

This is also why moods that sound adjacent stay distinct. "Rainy Sunday" and "Stormy night" are both atmospheric and both built for weather you watch from indoors, but the embeddings pull on different things: one reads for introspective, melancholy-but-warm slow-burns, the other for dread, isolation, and psychological horror. A film can score high on one and low on the other. The vector space keeps the rows separate in a way that hand-assigned tags, with their tendency to get slapped on everything vaguely adjacent, never would.

How to set it up

Mood catalogs are free for everyone on AI Streams. You do not need the Pro tier to use them.

  1. Go to /configure and start the setup wizard.
  2. Add your own AI provider key (Gemini, OpenAI, or a local model). This is the bring-your-own-key path and it is free. If you would rather not manage a key, the Pro tier at $4/mo uses a managed key instead.
  3. In the catalog ordering step, drag the mood rows you want into your Discover board. Keep the ones that match how you actually watch, drop the rest.
  4. Install the generated addon URL into Stremio. The mood rows show up in Discover alongside your other catalogs.

That is the whole setup. Because the moods are pre-computed, there is nothing to wait for once they are installed; the rows are populated the first time you open them.

Where mood catalogs fit

Mood catalogs are one answer to the discovery problem, and they pair naturally with the others AI Streams provides. Use the pillar discovery guide for the full picture of how AI-driven discovery works on Stremio. When you know roughly what you want but not the title, semantic search lets you type the vibe directly ("slow-burn sci-fi like Arrival but darker") and get real results instead of keyword matches. And over time, taste profiles tune the whole experience to what you actually finish, so the recommendations drift with you instead of staying frozen.

A note on what AI Streams is and is not: it is a discovery layer. It decides what to watch, surfaces it with rich metadata and rated posters, and hands you a title. It is never in the playback path and it does not source streams. You bring your own way of watching; AI Streams just makes the decision a good one.

Genre will tell you a film is a comedy. It will never tell you whether tonight is a Step Brothers night or a Death of Stalin night. Mood catalogs answer the question you were actually asking.

Ready to stop scrolling? Set up your mood rows at /configure.

Try AI Streams free