I just pushed v22 of my project : a local AI companion for Radarr, that goes beyond generic genre or TMDb lists.

This isn’t “yet another recommender”. It’s your personal taste explorer that actually gets the vibe you want in natural language and builds recommendations starting from your existing library.

Key highlights from a real recent run:

  • Command: --mood "dystopian films like Idiocracy, Gattaca or In Time"
  • Output: Metropolis (1927), V for Vendetta, Children of Men, Brazil (1985), Minority Report, Dark City, Equilibrium, Upgrade, The Road… → oppressive/surveillance/inequality/societal critique atmosphere, not just “dark sci-fi”.

How it works :

  • Starts by sampling random movies from your Radarr collection (or uses your mood/like/saga input).
  • Asks a local Ollama LLM (e.g. mistral-small:22b) for 25 thematic suggestions based on atmosphere/vibe.
  • Validates each via OMDb (IMDb rating, genres, plot, director, cast…).
  • Scores intelligently: IMDb rating + genre match + director/actor bonus + plot embedding similarity (cosine on Ollama embeddings).
  • Adds the top ones directly to Radarr (with confirmation: all / one-by-one / no).
  • Persistent blacklist to avoid repeats.

Different modes :

  • --mood "dark psychological thrillers with unreliable narrators" , any vibe you describe
  • --like "Parasite" --mood "mind-bending class warfare" (or just --like "Whiplash")
  • --saga (auto-detects incomplete sagas in your library and suggests missing entries) or --saga "Star Wars"
  • --director "Kubrick" / --actor "De Niro" / --cast "Pacino De Niro" (movies where they co-star)
  • --analyze → full library audit + gaps (e.g. “You’re missing Kurosawa classics and French New Wave”)
  • --watchlist → import from Letterboxd/IMDb
  • --auto → perfect for daily cron / Task Scheduler (wake up to 10 fresh additions)

Standout features:

  • 100% local + privacy-first (Ollama + free OMDb API only)
  • No cloud AI, no tracking
  • colored console output, logs, stats, HTML/CSV exports
  • Synopsis preview before adding
  • Configurable quality profile, min IMDb, availability filters
  • Works on Windows, Linux, Mac

GitHub (clean single-file Python script + great README):
https://github.com/nikodindon/radarr-movie-recommender

If you’re tired of generic Discover lists, Netflix-style randomness, or manual hunting give it a spin. The vibe/mood mode + auto saga completion really change how you expand your collection.

Let me know what you think, any weird mood examples you’d like to test, or features you’d want added!

  • Tim@lemmy.snowgoons.ro
    link
    fedilink
    English
    arrow-up
    2
    ·
    3 days ago

    Warning, anecdote:

    I was unexpectedly stuck in Asia for the last month (because of the impact of the war), turning an in-person dev conference I was organising into an “in-person except for me” one at a few days notice.

    I needed a simple countdown timer/agenda display I could mix into the video with OBS; a simple requirement, so I tried a few from the standard package repos (apt, snap store, that kind of thing.)

    None of them worked the way I wanted or at all - one of them written in Python installed about 100 goddamned dependencies (because, Python,) and then crashed because, well, Python.

    So I gave up and asked my local hosted LLM model to write it for me in Rust. In less than 10 minutes I had exactly what I wanted, in a few hundred lines of Rust. And yeah, I did tidy it up and publish it to the snap store as well, because it’s neat and it might help someone else.

    Which is more secure? The couple of hundred lines of Rust written by my LLM, or the Python or node.js app that the developer pinky-promises was written entirely by human hand, and which downloads half the Internet as dependencies that I absolutely am not going to spend time auditing just to display a goddamned countdown clock in a terminal window?

    The solution to managing untrusted code isn’t asking developers for self-declared purity test results. It’s sandboxing, containers, static analysis… All the stuff that you are doing already with all the code/apps you download if you’re actually concerned. You are doing those things, right?

    • hendrik@palaver.p3x.de
      link
      fedilink
      English
      arrow-up
      2
      ·
      edit-2
      2 days ago

      Good comment. The main issue is this: Back in the day I could have a quick look at the code and tell within a minute whether something was coded by a 12 year old or by some experienced programmer. Whether someone put in so much effort, I could be pretty sure they’re gonna maintain the project. Put in some love because it solves some use-case in their life and it’s going to do the same for me. Assess their skill-level in languages I’m fluent in.

      These days not so much. All code quality looks pretty much the same. Could be utter garbage. Could be good software, could be maintained. Could be anything, Claude always makes it look good on a first glance. There’s also new ulterior motives why software exists. And it takes me a good amount of time and detective work to find out. And I often can’t rely on other people either, because they’re either enraged or bots and the entire arguments are full of falsehoods.

      As a programmer and avid Linux user, I rely a lot on other people’s software. And the Free Software community indeed used to be super reliable. I could take libraries for my software projects. Could install everything from the Debian repo and I never had any issues. It’s mostly rock solid. There were never any nefarious things going on.

      And now we added deceit to the mix. Try to keep the true nature of projects a secret. And i think that’s super unhealthy. I had a lot of trust in my supply chain. And now I’m gonna need to put in a lot of effort to keep it that way. And not fall prey to some shiny new thing which might be full of bugs and annoyances and security vulnerabilities, and gone by tomorrow once someone stops their OpenClaw… Yet the project looks like some reliable software.

      And I don’t share the opinion on sandboxing. Linux doesn’t have sandboxing (on the Desktop). That’s a MacOS thing (and Android and iOS). All we have is Flatpak. But you’re forcing me to install 10GB of runtimes. Pass on the distro maintainers who always had a second pair of eyes on what software does, if it had tracking or weird things in it, whether it had security vulnerabilities in the supply chain. Maintainers who also provided a coherent desktop experience to me. And now I’m gonna pull software from random people/upstreams on the internet, and trust them? Really? Isn’t that just worse in any aspect?

      And wasn’t there some line in devops? Why is it now every operators job to do static analysis on the millions of moving parts on their servers… Isn’t that a development job?

      And I don’t think Flatpak’s permission system is even fine-granular enough. Plus how does it even help in many cases? If I want to use a password manager, it obviously needs access to my passwords. I can’t sandbox that away. So if the developers decide to steal them, there’s no sandboxing stopping them in any way. Same for all the files on my Nextcloud. So I don’t see how sandboxing is gonna help with any of that.

      I just don’t think it’s a good argument. I mean if you have a solution on how sandboxing helps with these things, feel free to teach me. I don’t see a way around trust and honesty as the basic building blocks. And then sandboxing/containerization etc on top to help with some specific (limited) attack vectors.

      I mean, don’t get me wrong here. I’m not saying we need to ban AI in software development. I’m also not saying 12 year olds aren’t allowed to code. I did. And some kids do great things. That in itself isn’t any issue.