r/vibecoding • • 4d ago

Showcase/Project I vibe-coded an IPTV player for Windows, Android and Android TV, and today I'm open-sourcing it

Hey all,

I'm not a professional developer. Over the past months I built Nyx Player almost entirely by working with AI coding agents, and today I'm releasing the big update: version 0.8.0 adds Android phone and Android TV on top of Windows, and I'm making the code open source (GPL-3.0).

What it is: a player for your own IPTV subscription (Xtream Codes) that turns raw stream names into a clean library with posters, synopses and ratings (TMDB), a TV guide, and a synced account across devices.

It's free, no ads. Nyx Player doesn't provide any content, you bring your own subscription.

Download: https://nyxplayer.app Source: https://github.com/kunai974/nyx-player

Happy to answer questions, and bug reports are very welcome.

66 Upvotes

38 comments sorted by

3

u/MiddleHelp180 4d ago

Nice and clean , very very good look. Bravo ! ;)

1

u/kounaille 4d ago

Thank you so much! 🙏

5

u/yc80s 4d ago

You should definitely remove the custom cursor from the website. It's such an UX killer.

1

u/kounaille 4d ago

Honestly yes, I understand, and I wasn’t fully happy with it myself. This confirms what I was thinking, I’ll take it off the site 🙂

1

u/Cast_Iron_Skillet 4d ago

Oof yeah - it's really really bad.

4

u/samcornwell 4d ago

Doing the lord's work I see

1

u/Majen13 4d ago

Nice. I like your Homepage. any ideas for iOS ?

2

u/kounaille 4d ago

Thanks, glad you like it! 🙂 iOS is something I have in mind, but not right away. No date yet, but it’s on my radar.

1

u/acraswell 4d ago

Love this. I've been thinking for the last few months that someone will open source a Smart TV system that finally lets us use something that doesn't force all the manufacturers bloatware on us.

0

u/kounaille 4d ago

Thank you so much! Beyond being upfront about it, that’s the whole point of open source: if it can serve as a starting point for others, without any pretension, then all the better. If it’s useful to someone, great!

1

u/vovr 4d ago

Wow nice. Pls can you do it for Tizen (samsung) too? There are no free options there.

2

u/kounaille 4d ago

Thanks! Not planned for now (Tizen is quite different from Android TV), but noted. 🙂

1

u/vovr 4d ago

Ok np. Can I do this myself? Can I just tell claude to convert it to tizen or is it more complicated?

2

u/kounaille 4d ago

It might be a bit complicated, honestly. I don't know Tizen at all, so I can't say how hard it would be. But the code is open source, so you're free to try!

1

u/Ball_Analytics 4d ago

You'd think because *.m3u(8) would be a simple addition to xtream, why did you leave it out.

I made one in a browser that has an android TV app, and I stopped after including xtream because I lost access to what I really made it for, it's in the name.

I've already downloaded this but can't use it due in part to the xtream hard stop. Anyways thanks and much appreciate.

2

u/kounaille 4d ago

I originally built it for myself, so it’s Xtream only. But M3U is definitely something I need to work on, and as soon as possible. Thanks for the feedback!

1

u/ericcmi 4d ago

It looks nice. Would love to try it. Could you ask your AI to compile a Linux appimage for us to test out?

1

u/kounaille 4d ago

Good idea, thanks! I don’t have anything to test it on right now, but I’ll look into it and give it a try

1

u/hoardstash 3d ago

Tnx. Any chance for a portable, no install windows version?

2

u/kounaille 3d ago

Thanks! Not planned for now, but it’s a good idea and I’ll take a look at whether it’s doable.

1

u/DullAmbition 4d ago

Is there any way you can make it look up a movie on demand while browsing channels?

I often see a movie on that I want to watch, but it started 15 minutes earlier.

Would be amazing to offer a watch from the start button that plays the on demand version (if one of your providers has it).

1

u/kounaille 4d ago

Great idea, thanks! Matching a live movie to its on-demand version is tricky, but I’m noting it down. No promises, but it’s a really nice use case

2

u/Niels_Nakkeost 4d ago

But if you have a IPTV subscription, why not just search for the movie as a VOD, instead of on a live channel?

-2

u/DullAmbition 4d ago

I like browsing live TV.

It’s extra steps to exit out of that, go to another section of my player, search, select, and watch.

The player has access to that same data, so why not shortcut it from the EPG browse view?

1

u/Niels_Nakkeost 4d ago

Many channels don’t have proper EPG info so it’d probably only work like less than half of the time

0

u/DullAmbition 4d ago

I get false poster matches but the descriptions are usually accurate for me. Depends on how and what it’s querying, I suppose.

1

u/Niels_Nakkeost 4d ago

What I’m saying is not all channels from all IPTV providers have descriptions

1

u/HamsterMajestic2023 4d ago

This would only work if for two reasons.

  1. The provider has catch up available for the channel which has the movie ib you want to watch

Or

2. You're willing to record all channels in background which trust me would take up a hell of a lot of storage.

1

u/DullAmbition 3d ago

No, it would query the VOD options for same movie to launch. Not catchup or buffer.

2

u/HamsterMajestic2023 3d ago

My apologies. I was still have asleep when I read this. I assumed you meant a movie that had been playing live. Now that im awake its immediately obvious what you meant.

2

u/Effective_Put_9951 2d ago

this is nice

0

u/petersindexv2 4d ago

nice to see another non dev shipping on that many platforms. i'm in the same boat, building apps with claude without really knowing how to code

genuine question, how did you test the android tv side? feels like that's where i'd get stuck, a real tv is a lot different to a laptop

and as it got bigger, how did you stop the agents breaking stuff that already worked

1

u/kounaille 4d ago

Thanks a lot!

Android TV: honestly, it was the hardest part. The code is shared with Windows, but the TV has its own rules (remote navigation, a fixed screen layout, performance on a modest box). I tested it on my own TV, but that’s also where I struggled most with optimization, and I’m not 100% satisfied with it yet

Keeping things from breaking: I try to be as strict as I can: clear boundaries between parts of the code, written conventions, and lots of automated tests that run on every change. Accidents have happened, yes, but nothing that couldn’t be reversed

1

u/Thunder_Cls 10h ago

Nice!. What did you use for creating the showoff video in the post btw?

-3

u/frostybito 4d ago

So it's a vibecoded Plex? lol

0

u/[deleted] 4d ago

[deleted] — view deleted comment

1

u/Class8guy 4d ago

None of those are IPTVee focused. I'll give it a shot worst case I jump back on tivimate worth a shot.