hi HN, im luis. 10+ years in software and security, homelabbing for about 5
"netflix and spotify" is how it feels to use, not what it does under the hood. holyarrs doesnt play anything. you browse your shows, movies and music like a streaming app (top 10s, new & popular, coming soon), tap what you want, and it sends it to your downloader and files it into jellyfin or plex. those still do the playing
before this, my server needed 6 apps for that: sonarr for shows, radarr for movies, lidarr for music, bazarr for subtitles, prowlarr for indexers and overseerr for requests. 6 setups, 6 databases, and nobody in my house but me could use any of them
- the image is 15 MB. the 6 apps it replaces are 718 MB together
- one go binary, svelte UI, sqlite. the image has no OS and no shell
- runs on amd64, arm64 and armv7
- works with qbittorrent, sabnzbd, plex, jellyfin, emby
- imports your sonarr/radarr setup, and speaks their api so seerr can keep talking to it
- no api keys to set up. posters and search come from a metadata server i run and pay for
- free, AGPL-3.0
how it got built: claude code wrote most of the go and svelte. i wrote the specs, reviewed everything and tested it on my own server. what it got wrong: it never noticed cost. the app got heavier build after build until i started measuring every single one. thats the only reason its still 15 MB
why you might want to wait: its young, 1.0.7 shipped today and im fixing reports as they come in. music is still being built out, and a few features are held back until theyre fully tested (plex watchlists, trakt lists, subtitle sites)
why i built it: my family wanted netflix and i had 6 apps nobody but me could use
I'm interested. Does it handle subtitles translation with AI ? This is a must have for me.
First try to obtain subtitles in the locale I need, fallback to using AI to translate the embeded ones, fallback to downloading ones in original language / english and translating.
Hi Luis. Cool approach and thanks for sharing - however, I am a bit disturbed by the built-in reliance on your metadata server. Self-hosting/homelabbing would do better to have something the user controls himself/is hosted on something like IPFS.
>the image has no OS and no shell
What are you (Claude) even trying to say here?
Also, do you genuinely speak in AI-isms, or have you just had claude generate you this too and uncapitalised the first word of each sentence so it looks human?
Not the OP, but I see a lot of complaints on HN about dumb media player "voice control". I myself had cringe experiences with my car when I wanted to play a particular genre or song.
I think the best voice control was whatever was in the iphone 3gs. I distinctly remember being in my car and saying something along the lines of "iphone play deadmau5" and it just worked. I may have had to hold a button to activate voice mode, I don't remember, I just remember always finding Siri and related "modern" voice control software to be worse than whatever I had on that iphone.
I would use it for a regularly scheduled validation job.
Sometimes a bad copy, mismatch, or low-rated media slips through all the filters. Could use an LLM to fix the media and harden the filters to prevent issues going forward. I’ve probably spent weeks of my life toiling and tweaking over the last 15 years.
That wasn't written by a human. It was written by an AI. AI does this weird thing where it will say things like this - "AI or MCP features. Not in 1.0" - when the user prompting it hasn't actually requested whatever it is the AI has hallucinated as not being included. I've been using Claude Code to update some internal tooling I use (basically a bunch of python scripts I've painfully hacked together for myself that automate stuff) and it often comes out with things like "Not in this version: XYZ" when I have never even asked it to build XYZ.
What do you mean "for now" if there's one thing i don't want it to replace it's clearly qbittorrent. Trackers have client whitelist and I don't see a brand new vibecoded app being added to any of the serious ones
I believe things will be from now on. People see a gap in the offerings out there and they just whip it up. There will be a certain amount of stability that the LLMs will add by default to all of them and that's it. If you are interested, go ahead and use it.
I create my own vibecoded apps for my own use, that is not the problem. releasing them for others (who might not know this hasn't been tested) is irresponsible.
I don’t get this. So today he can build the experience he wants with little effort (he likely spent lots of tokens). You made no judgement in the quality or on his experience, only on the age of the repo. Why exactly is that?
I get there will be a lot of crapware, but you’re hackers no? Why all the gatekeeping even amongst yourselves? How much time did the openclaw guy take to built it? A weekend?
Sure, you could say “no thanks”. But all the labs certainly thought it was useful enough to replicate. And yes, it was, still is an insecure mess littered with bugs, but why are we all so repulsed?
It’s a genuine need. I build my own version of this, also on go, haven’t shared bc I am not sure how legal it is to distribute, but I have been using it for months and definitely beats running 6+ apps that keep breaking. I run one binary + jellyfin, never going back.
The problem is not the vibecoding, it is the release of a public facing internet app that is not a day old, hence it is impossible to know if it has security issues. He is supposedly a security engineer and he RELEASES a repo with less than a day old? how do you know it is secure? Again, this is something that will interact with the open internet.
Gatekeeping would be "do not write vibecoded apps for yourself", which is not the case here, this is releasing code for the public in an irresponsible manner.
I mean, every repo was 13 hours at some point. can't hardly get security updates unless others can see and review it.
I mean, I feel you... there's no way I'm running it when it's this new... I'll let others spend their tokens probing it and check it out in a month... no shade in the dude for releasing it, but anyone who has it running right now inside their network... I hope nothing bad happens.
They don't all support it well, however. My Blu-ray player, for example, mangles filenames about 10% of my media. And my TV just simply doesn't list all the files in a directory, regardless of size.
I also found browsing directories and files through DNLA slow and annoying.
My solution that I came up with is to make a companion mobile app or mobile web site, where I pick what movie I want to play, and then my server will serve only that one file via DNLA. When I want to watch something else after that I pick up the mobile app / mobile web app again and choose again and then the files for that movie or TV series is served instead
I spent some time building a .NET service that uses UPNP/DLNA to offer media to local devices. I got it working reasonably well, but the problem is that the client interfaces are absolutely garbage.
The better architecture is to push content over HDMI using an endpoint you control. This doesn't have to be the actual media server. We could invent a new system role and control multiple endpoints centrally. I don't want the TV to do anything more intelligent than display the video and audio frames it is receiving.
Subtitles? I really don't want to sign up to Opensubtitles and be hit with their ridiculous daily limit (on what is just text).
I was looking for a project just like yours and couldn't be bothered building one myself.
Edit: Gemini has provided some subtitles options.
Subtitle Search & Database APIs
• TheSubtitleDB.org: A completely free, open REST API for media players and apps. It requires no account, no API key, and has no rate limits, offering exact file hash matching as well as IMDb ID and TV episode lookups.
• Wyzie Subs (wyzie.io): A fast subtitle search API for movies and TV shows. It offers a free tier with 1,000 requests per day, sub-50ms response times, hearing-impaired filter options, and multi-language support.
• Opensubtitles-Unofficial-API: An open-source, community-hosted unofficial API. It lets you search and download subtitles from OpenSubtitle.
Ok, I'm a potential user, but what is your long term plan for following the scene and making sure HolyArrs supports the wild west of the grey area content acquisition?
Things like parsing the file name for format, group, language, repack etc...
This interests me, but I’ll let it cook a bit more before I give it a spin. I’ve got enough customization that moving to this without disruption may be a little challenging, or token heavy.
Adding a “Copy prompt for agent” instruction to the top of your docs, would be lower friction to entry, and allow me to review what it is that needs doing. It can be hard to account for every way someone might self host in docs too, which is why I think an agent is going to have a much easier time automating the setup here.
I've seen multiple "consolidate all the arr" attempts over the years. None prevail. Not saying this one won't, but something tells me it's going to peter out and be abandonware. It's incredible how sticky the OG arr apps have been to be honest. Likely because they are extremely stable and well-integrated.
Over the years we didn't have AI. Maybe it will become abandonware; but maybe the development will keep up thanks to AI.
For example, I've been using a Spotify replacement called Spotifast for a month or so. It's way better than the official Spotify app, and it's all vibecoded by one developer, and it gets lots of updates (it's basically a 1-to-1 clone of Spotify, plus additional features). It wouldn't have been possible before AI, or at least not that easily.
> Over the years we didn't have AI. Maybe it will become abandonware; but maybe the development will keep up thanks to AI.
It has always been the case that open source lived and died thanks to developer attention. That hasn't really changed with AI. The amount 1 hour of developer attention can do is drastically greater. But if the developer loses interest (which may well happen after a year or two), the project still dies unless there's other people to steward it.
Hopefully that will be true. But it's really amazing how many established open source projects are basically supported by one person working tirelessly for years or decades on end.
I'm working on one myself, but I probably won't ever release it to the world. I just want one that's simple enough for my wife to use, so we can cancel netflix etc. I need replicate the experience of browsing what's new or popular on her phone, watching trailers for them, and then a single button to download it and getting notified when it's on plex.
They're sticky because they stay focused on their specific domain, and they work well.
I also really don't understand the value pitch on "6 apps no one can use" in the post.
I publicly host Seerr and Jellyfin for my family, and they use that combo just fine. They explicitly don't get access to see any of the sausage making under the hood.
Given this doesn't support music yet (according to op) and you still need to host plex or jellyfin... what is the value statement here over seerr?
Your assumption that a vibecoded project with a single contributor behind it can cut 97% of the size of well established open source projects without breaking something very badly is not well founded.
Am I the only one still just manually downloading what I want into a folder that is shared via Samba with a Kodi box that takes care of cataloguing, browsing and playing?
[OP] CoderLuii | 4 hours ago
"netflix and spotify" is how it feels to use, not what it does under the hood. holyarrs doesnt play anything. you browse your shows, movies and music like a streaming app (top 10s, new & popular, coming soon), tap what you want, and it sends it to your downloader and files it into jellyfin or plex. those still do the playing
before this, my server needed 6 apps for that: sonarr for shows, radarr for movies, lidarr for music, bazarr for subtitles, prowlarr for indexers and overseerr for requests. 6 setups, 6 databases, and nobody in my house but me could use any of them
- the image is 15 MB. the 6 apps it replaces are 718 MB together - one go binary, svelte UI, sqlite. the image has no OS and no shell - runs on amd64, arm64 and armv7 - works with qbittorrent, sabnzbd, plex, jellyfin, emby - imports your sonarr/radarr setup, and speaks their api so seerr can keep talking to it - no api keys to set up. posters and search come from a metadata server i run and pay for - free, AGPL-3.0
how it got built: claude code wrote most of the go and svelte. i wrote the specs, reviewed everything and tested it on my own server. what it got wrong: it never noticed cost. the app got heavier build after build until i started measuring every single one. thats the only reason its still 15 MB
why you might want to wait: its young, 1.0.7 shipped today and im fixing reports as they come in. music is still being built out, and a few features are held back until theyre fully tested (plex watchlists, trakt lists, subtitle sites)
why i built it: my family wanted netflix and i had 6 apps nobody but me could use
im in the comments, tell me what breaks
embedding-shape | 2 hours ago
I'm not convinced this is true, could you expand further what you mean here?
xfalcox | 2 hours ago
First try to obtain subtitles in the locale I need, fallback to using AI to translate the embeded ones, fallback to downloading ones in original language / english and translating.
belst | 2 hours ago
onionisafruit | 2 hours ago
That’s how I feel. I’ll give this a try.
igmn | 2 hours ago
Claude did
TutleCpt | an hour ago
corroclaro | an hour ago
haellsigh | 55 minutes ago
- Radarr uses api.radarr.video: https://github.com/Radarr/Radarr/blob/7e3f80c98d01481430ab35...
- Sonarr uses skyhook.sonarr.tv: https://github.com/Sonarr/Sonarr/blob/c018578e4b79ee048575c0...
- Lidarr uses api.lidarr.audio: https://github.com/Lidarr/Lidarr/blob/28ab333eafa138a72319e4...
- Readarr uses api.bookinfo.club: https://github.com/Readarr/Readarr/blob/0b79d3000d4e5f8425f4...
I do agree with what you said however.
oxtn | 41 minutes ago
No shot. The initial commit was 551kLOC followed by 100kLOC+ within a day. There's no way you reasonably reviewed _everything_.
afzalive | 19 minutes ago
nign | 5 minutes ago
Also, do you genuinely speak in AI-isms, or have you just had claude generate you this too and uncapitalised the first word of each sentence so it looks human?
ZenoArrow | 3 hours ago
Why would you even want this, what desirable features could you add by adding AI?
glimshe | 3 hours ago
SketchySeaBeast | 2 hours ago
komali2 | 42 minutes ago
hedora | an hour ago
So far, that's been the peak of voice control from what I can tell. Xbox one was completely unusable, even if 2026 Siri makes both systems look good.
utopiah | 3 hours ago
segmondy | 3 hours ago
timcobb | 2 hours ago
vinnymac | 2 hours ago
Sometimes a bad copy, mismatch, or low-rated media slips through all the filters. Could use an LLM to fix the media and harden the filters to prevent issues going forward. I’ve probably spent weeks of my life toiling and tweaking over the last 15 years.
eddieroger | an hour ago
Natural language searching seems like a good reason.
saaaaaam | 53 minutes ago
zeroq | 19 minutes ago
Just scroll down the readme, down to the "Version tag" section if you need more proof.
patadura | 25 minutes ago
Oxodao | 3 hours ago
Though I like the choice of go. The heavy c# stack other have is quite resource intensive
https://www.reddit.com/r/selfhosted/comments/1rckopd/huntarr...
Oxodao | 2 hours ago
What do you mean "for now" if there's one thing i don't want it to replace it's clearly qbittorrent. Trackers have client whitelist and I don't see a brand new vibecoded app being added to any of the serious ones
vekntksijdhric | 3 hours ago
hsuduebc2 | 2 hours ago
mlnj | 2 hours ago
I believe things will be from now on. People see a gap in the offerings out there and they just whip it up. There will be a certain amount of stability that the LLMs will add by default to all of them and that's it. If you are interested, go ahead and use it.
vekntksijdhric | 2 hours ago
figassis | 2 hours ago
I get there will be a lot of crapware, but you’re hackers no? Why all the gatekeeping even amongst yourselves? How much time did the openclaw guy take to built it? A weekend?
Sure, you could say “no thanks”. But all the labs certainly thought it was useful enough to replicate. And yes, it was, still is an insecure mess littered with bugs, but why are we all so repulsed?
It’s a genuine need. I build my own version of this, also on go, haven’t shared bc I am not sure how legal it is to distribute, but I have been using it for months and definitely beats running 6+ apps that keep breaking. I run one binary + jellyfin, never going back.
vekntksijdhric | 2 hours ago
Gatekeeping would be "do not write vibecoded apps for yourself", which is not the case here, this is releasing code for the public in an irresponsible manner.
xprnio | 2 hours ago
Oxodao | 2 hours ago
hatsix | 33 minutes ago
I mean, I feel you... there's no way I'm running it when it's this new... I'll let others spend their tokens probing it and check it out in a month... no shade in the dude for releasing it, but anyone who has it running right now inside their network... I hope nothing bad happens.
utopiah | 3 hours ago
bityard | 2 hours ago
QuantumNomad_ | an hour ago
My solution that I came up with is to make a companion mobile app or mobile web site, where I pick what movie I want to play, and then my server will serve only that one file via DNLA. When I want to watch something else after that I pick up the mobile app / mobile web app again and choose again and then the files for that movie or TV series is served instead
bob1029 | 56 minutes ago
The better architecture is to push content over HDMI using an endpoint you control. This doesn't have to be the actual media server. We could invent a new system role and control multiple endpoints centrally. I don't want the TV to do anything more intelligent than display the video and audio frames it is receiving.
stroebs | 2 hours ago
Are you aiming to be more feature complete with the rest of the *arr stack or intentionally a different course?
comrade1234 | 2 hours ago
hsuduebc2 | 2 hours ago
mephux | 2 hours ago
CommanderData | 2 hours ago
I was looking for a project just like yours and couldn't be bothered building one myself.
Edit: Gemini has provided some subtitles options.
Subtitle Search & Database APIs
• TheSubtitleDB.org: A completely free, open REST API for media players and apps. It requires no account, no API key, and has no rate limits, offering exact file hash matching as well as IMDb ID and TV episode lookups.
• Wyzie Subs (wyzie.io): A fast subtitle search API for movies and TV shows. It offers a free tier with 1,000 requests per day, sub-50ms response times, hearing-impaired filter options, and multi-language support.
• Opensubtitles-Unofficial-API: An open-source, community-hosted unofficial API. It lets you search and download subtitles from OpenSubtitle.
FabCH | 2 hours ago
Things like parsing the file name for format, group, language, repack etc...
gonzalohm | 40 minutes ago
vinnymac | 2 hours ago
Adding a “Copy prompt for agent” instruction to the top of your docs, would be lower friction to entry, and allow me to review what it is that needs doing. It can be hard to account for every way someone might self host in docs too, which is why I think an agent is going to have a much easier time automating the setup here.
hjahre | 2 hours ago
tjohnell | 2 hours ago
reddalo | an hour ago
For example, I've been using a Spotify replacement called Spotifast for a month or so. It's way better than the official Spotify app, and it's all vibecoded by one developer, and it gets lots of updates (it's basically a 1-to-1 clone of Spotify, plus additional features). It wouldn't have been possible before AI, or at least not that easily.
leoedin | an hour ago
It has always been the case that open source lived and died thanks to developer attention. That hasn't really changed with AI. The amount 1 hour of developer attention can do is drastically greater. But if the developer loses interest (which may well happen after a year or two), the project still dies unless there's other people to steward it.
Hopefully that will be true. But it's really amazing how many established open source projects are basically supported by one person working tirelessly for years or decades on end.
psadauskas | 29 minutes ago
a012 | 12 minutes ago
horsawlarway | 5 minutes ago
They're sticky because they stay focused on their specific domain, and they work well.
I also really don't understand the value pitch on "6 apps no one can use" in the post.
I publicly host Seerr and Jellyfin for my family, and they use that combo just fine. They explicitly don't get access to see any of the sausage making under the hood.
Given this doesn't support music yet (according to op) and you still need to host plex or jellyfin... what is the value statement here over seerr?
NamTaf | 2 hours ago
You don't just shed 97% of the size without compromises. What are those compromises and why were they made?
semiquaver | 2 hours ago
nign | 11 minutes ago
cnqso | an hour ago
pmlnr | 2 hours ago
Yeah...
Oxodao | 12 minutes ago
henko | 2 hours ago
pmlnr | an hour ago
A vibe coded project like this, no matter how nice, will not help with the rest of the family.
* Samsung sm-t545 because it has a servicable battery. I loath the Samsung software part, but hardware-wise it's not bad.
*at that point it was a flash sale and for £150 not ~£400 like today :((
akaitea | an hour ago
Myzel394 | 20 minutes ago
afzalive | 18 minutes ago
Umm, no you check Sonarr.
thejazzman | 12 minutes ago
https://demo.pixelbrite.site
https://pixelbrite.site
DLNA, proper Airplay and Chromecast support, file matching, ABR, all the HDRs, etc.
lbrito | 12 minutes ago
Here I was thinking people just used Plex! No idea what any of those are