this post was submitted on 20 Mar 2026
5 points (51.5% liked)

Selfhosted

58085 readers
1654 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

  7. No low-effort posts. This is subjective and will largely be determined by the community member reports.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 2 years ago
MODERATORS
 

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 + detailed 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!

top 50 comments
sorted by: hot top controversial new old
[–] circuscritic@lemmy.ca 51 points 1 week ago* (last edited 1 week ago) (19 children)

Since no one is leaving critical comments that might explain all the downvotes, I'm going to assume they're reflexively anti-AI, which frankly, is a position that I'm sympathetic to.

But one of the benign useful things I already use AI for, is giving it criterias for shows and asking it to generate lists.

So I think your project is pretty neat and well within the scope of actually useful things that AI models, especially local ones, can provide the users.

[–] webkitten@piefed.social 20 points 1 week ago

Seriously; local AI use is what everyone should strive for not only for privacy but because it's better than using a large data centre and the power use for Ollama is negligible.

load more comments (18 replies)
[–] eager_eagle@lemmy.world 19 points 1 week ago (1 children)

that's pretty cool, this is just the wrong crowd, don't worry about the downvotes

[–] nikodindon@lemmy.world 2 points 1 week ago

thanks ! ^^

[–] meldrik@lemmy.wtf 11 points 1 week ago (1 children)

This is a cool tool. Thanks for sharing. Don’t worry about the downvotes. The Fediverse has a few anti-AI zealots who love to brigade.

[–] nikodindon@lemmy.world 2 points 1 week ago

Thank you ! :)

[–] Scrath@lemmy.dbzer0.com 9 points 1 week ago (2 children)

I remember building something vaguely related in a university course on AI before ChatGPT was released and the whole LLM thing hadn't taken off.

The user had the option to enter a couple movies (so long as they were present in the weird semantic database thing our professor told us to use) and we calculated a similarity matrix between them and all other movies in the database based on their tags and by putting the description through a natural language processing pipeline.

The result was the user getting a couple surprisingly accurate recommendations.

Considering we had to calculate this similarity score for every movie in the database it was obviously not very efficient but I wonder how it would scale up against current LLM models, both in terms of accuracy and energy efficiency.

One issue, if you want to call it that, is that our approach was deterministic. Enter the same movies, get the same results. I don't think an LLM is as predictable for that

[–] LiveLM@lemmy.zip 5 points 1 week ago

One issue, if you want to call it that, is that our approach was deterministic. Enter the same movies, get the same results. I don't think an LLM is as predictable for that

Maybe lowering the temperature will help with this?
Besides, a tinge of randomness could even be considered a fun feature.

[–] four@lemmy.zip 3 points 1 week ago (1 children)

I'm not an expert, but LLMs should still be deterministic. If you run the model with 0 creativity (or whatever the randomness setting is called) and provide exactly the same input, it should provide the same output. That's not how it's usually configured, but it should be possible. Now, if you change the input at all (change order of movies, misspell a title, etc) then the output can change in an unpredictable way

[–] hendrik@palaver.p3x.de 3 points 1 week ago* (last edited 1 week ago)

Yes. I think determinism a misunderstood concept. In computing, it means exact same input leads to always the same output. Could be a correct result or entirely wrong, though. As long as it stays the same, it's deterministic. There's some benefit in introducing randomness to AI. But it can be run in an entirely deterministic way as well. Just depends on the settings. (It's called "temperature".)

[–] pfr@piefed.social 8 points 1 week ago (1 children)

Anti-AI evangelism is at its peak rn.

[–] Andres4NY@social.ridetrans.it 2 points 1 week ago* (last edited 1 week ago) (4 children)

@pfr @nikodindon That assumes it won't get worse, which I hope it does. AI companies have forced me to take down web stuff that I had running for almost 2 decades, because their scrapers are so aggressive.

20 decades

Found the time traveler!

load more comments (3 replies)
[–] fubarx@lemmy.world 8 points 1 week ago (1 children)

The more local inference, the better. Nice work!

load more comments (1 replies)
[–] timestatic@feddit.org 8 points 1 week ago (1 children)

Sorry OP that you're getting downvote bombed. This is actually really neat. People go nuts when they hear AI but this is fully local so I think this reaction is unjust. This has nothing to do with ram prices since that stems from data centers or corpos pushing AI on you. Thank you for sharing

[–] nikodindon@lemmy.world 2 points 1 week ago

thanks for your comment :) I edited my original post to explain the project better

[–] Overspark@piefed.social 7 points 1 week ago (1 children)

A recommendation for Moonrise Kingdom based on Mickey 17? The genres might match, but those are totally different movies.

[–] Janx@piefed.social 5 points 1 week ago (1 children)

Also, A Bug's Life from Mickey 17!?

load more comments (1 replies)
[–] RIotingPacifist@lemmy.world 4 points 1 week ago (1 children)

How does this compare to an ML approach?

are you training or just using an LLM for this?

[–] eager_eagle@lemmy.world 8 points 1 week ago* (last edited 1 week ago) (1 children)

There's no training, the LLM embeddings are used to compare the plots via a cosine similarity, then a simple weighted score with other data sources is used to rank the candidates. There's no training, evaluation, or ground-truth, it's just a simple tool to start using.

[–] FerCR@kbin.earth 2 points 1 week ago

Exactly! This has been done plenty of times in the past (there's a reason why some movies datasets are used as toy example for data analysis). For the unfamiliar with the field, the LLM part here is simply that, instead of building a feature space from predefined tags or variables, it makes a "fuzzier" feature space where it embeds the movies based on the text tokens the model sees. In essence, the way to compute which movie to recommend is the same (a.k.a no LLM) it is just that the data used for the computation is generated differently.

[–] hendrik@palaver.p3x.de 2 points 1 week ago (1 children)

Did you build it, though, or did Claude code it?

[–] prettygorgeous@aussie.zone 12 points 1 week ago (1 children)

Built with Claude by the looks of things. Not sure if Claude was used to generate the boilerplate and whether the dev reviewed it after or whether Claude did all of it, but definitely Claude was used for some of it. I recognise the coding style that Claude outputs and the bugs that it implements that will cause TypeErrors if not handled.

FWIW, I'm not against using AI as an assistant for coding (I do it too, using Claude and Vercel as assistants) just as long as the code is reviewed and understood in full by the dev before publishing.

[–] irmadlad@lemmy.world 4 points 1 week ago (3 children)

FWIW, I’m not against using AI as an assistant for coding (I do it too, using Claude and Vercel as assistants) just as long as the code is reviewed and understood in full* by the dev before publishing. *my emphasis

A very sane take. I do wish devs would fully disclose this on their github or other. That way, if the project is seasoned, well starred, et al, and the dev used AI as an assistant, then the user gets to decide. Given all the criteria are met, I would deploy it.

I will say that I have observed what seems like a pretty decent up tick in selfhosted apps, and I would be willing to bet a goodly amount of them have at the very least, used AI in some capacity, if not most/all code. I don't have any solid evidence to back that up but it just seems that way to me.

[–] prettygorgeous@aussie.zone 8 points 1 week ago* (last edited 1 week ago) (2 children)

I think the problem is a cyclical one. Some devs are afraid to admit that they used AI to help them code because there's so much hatred towards using AI to code. But the hatred only grows because some devs are not disclosing that they've had help from AI to code and it seems like they're hiding something which then builds distrust. And of course, that's not helped by the influx of slop too where an AI has been used and the code has not been reviewed and understood before its released.

I don't mind more foss projects, even if they're vibe coded, but please PLEASE understand your code IN FULL before releasing it, if at least so you can help troubleshoot the bugs people experience when they happen!

[–] irmadlad@lemmy.world 5 points 1 week ago (1 children)

Some devs are afraid to admit that they used AI to help them code because there’s so much hatred towards using AI to code.

I would say there is a lot of truth to that statement. The backlash is immediate and punishing. I've said before, I think there are a lot of young devs who would like to contribute to the opensource/selfhosting community, but lack the experience.

[–] hendrik@palaver.p3x.de 2 points 1 week ago* (last edited 1 week ago) (1 children)

We also have issues with young people in the industry. As some junior developer stuff is now done by AI, we're lacking more and more positions to start in, and learn the ropes. And you can't start out as a senior, either. So that got more complicated as well.

[–] irmadlad@lemmy.world 3 points 1 week ago

Experience is something you never have until after you need it.

[–] november@piefed.blahaj.zone 4 points 1 week ago

Some devs are afraid to admit that they used AI to help them code because there’s so much hatred towards using AI to code.

Cowards. "Some devs" would not survive five minutes in the real world as a queer person.

[–] hendrik@palaver.p3x.de 3 points 1 week ago* (last edited 1 week ago) (2 children)

Yeah. Maybe it's time to adopt some new rule in the selfhosted community. Mandating disclosure. Because we got several AI coded projects in the last few days or weeks.

I just want some say in what I install on my computer. And not be fooled by someone into using their software.

I mean I know why people deliberately hide it, and say "I built ..." when they didn't. Because otherwise there's an immediate shitstorm coming in. But deceiving people about the nature of the projects isn't a proper solution either. And it doesn't align well with the traditional core values of Free Software. I think a lot of value is lost if honesty (and transparency) isn't held up anymore within our community.

[–] timwa@lemmy.snowgoons.ro 3 points 1 week ago (1 children)

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 2 points 1 week ago* (last edited 1 week 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.

[–] irmadlad@lemmy.world 2 points 1 week ago

Yeah. Maybe it’s time to adopt some new rule in the selfhosted community.

Tho I chafe against rules and regulations, I realize they are necessary.

I just want some say in what I install on my computer. And not be fooled by someone into using their software.

Me too. It's why I try to carefully pick seasoned projects, and I don't jump on the bandwagon just because it's a new twist to an old solution. I selfishly want others to be my beta testers. LOL Hey, I admit it. Also, I am truly thankful that there exists in the community, those who can and do look at the code and understand the issues involved. I do not possess those skills. I know a limited amount of code and use it for me locally. I would never dare publish it tho. I'm too afraid of what the ramifications would be should someone use my code and the wheels fall off their server. I would feel very responsible. It's the reason I do not even publish my notes to a wiki of some sort.

[–] timwa@lemmy.snowgoons.ro 2 points 1 week ago (5 children)

Honestly, any developer that isn't using an LLM as an assistant these days is an idiot and should be fired/shunned as such; it's got all the rational sense of "I refuse to use compilers and I hand-write my assembly code in vi."

(And I speak as someone who has a .emacs file that's older than most programmers alive today and finally admitted I should stop using csh as my default shell this year.)

Here's the disclosure you need: all projects you see have involved AI somewhere, whether the developers like to admit it or not. End of. The genie is out of the bottle, and it's not going back in. Railing against it really isn't going to change anything.

[–] irmadlad@lemmy.world 4 points 1 week ago

Here’s the disclosure you need: all projects you see have involved AI somewhere, whether the developers like to admit it or not. End of. The genie is out of the bottle, and it’s not going back in. Railing against it really isn’t going to change anything.

I've said it before, AI is here to stay. It's not a fad. Kind of like when the internet first started to become publicly available. Lots of people deemed it a fad. It's now a global phenom and it is the basis by which we do business on the daily, minute by minute, globally. I do think that AI needs some heavy governmental regulation. It would be great if we could all play nicely together without involving the government(s). Alas, we don't seem to be able to do that, and so, government(s) has to step in, unfortunately. The problem with that is, imho, surveillance capitalism has worked so well that governments also want to take a peek at that data too. I have nothing to back up that conspiracy theory, it's just a feeling I get.

load more comments (4 replies)
[–] Alvaro@lemmy.blahaj.zone 2 points 1 week ago (1 children)

A bugs life from mickey 17?

Explain OP

[–] MummifiedClient5000@feddit.dk 3 points 1 week ago

Bugs, obviously.

load more comments
view more: next ›