Spotify is, without doubt, the worst piece of software that I still use on a daily basis. It's incredibly buggy, incredibly slow, and the UI has so many "usability inconsistencies".
I find the Android app particularly bad, just a couple of examples:
- Under a playlist you get a list of suggested songs, the UI element looks like a "regular song", but unlike every other "song" element the user has been trained to recognize, the "swipe right to queue" does not apply to these elements. For some reason.
- When you don't have connectivity, e.g. you walk into a Faraday cage, then the
search tries to reach the internet and won't show you results before it either: 1) does so, 2) times out. Which means you can't browse your local library before some websocket times out. Just show me the local results first?
Why is spotify so popular?
There are different solutions to listen to music.
What does spotify do that almost no one else does?
Is it the music library or something else?
I use youtube music, but I am looking for alternatives (but not spotify for various reasons).
It's a music player, and it's way too heavy for what it does. Well, it does a lot it doesn't need to, too. Uses 1.5GB of RAM on my laptop atm. Since I only have 16GB on my work laptop that's noticeable. I'd love it if Spotify AB could replace its client with a native Rust one, although using an immediate-mode GUI library like fastpotify does might not be the best option...
Is there any music streaming service with fast native cross-platform (Linux, Mac, Windows, Android) clients? Because I'd switch. Feel like Spotify's recommendations have taken a nosedive lately, so that wouldn't hold me back too much.
Quite annoying when, as we see in the tv show “the playlist” that traces back the story of Spotify, the founder put a huge emphasis on performance to differentiate them from the rest and create the best possible UX…
Yes, the Android app is particularly bad. For the past couple of weeks, it's gotten to a point where the app will take 30s to load on my phone. Nothing, not even reinstalling the app fixes this.
I realise I’m pissing into the wind here, but I find the LLM text on the homepage and docs quite funny/ awkward.
> “Ctrl+M turns it into a tiny player that wears any classic Winamp 2 skin, spectrum analyser, equalizer, and playlist included. 2000s vibes, pixel for pixel.”
Everything is said with too much intensity, and phrasing that sounds impressive but doesn’t really mean that much. Like “wears any classic Winamp 2 skin” feels so awkward, what’s “wears”? You mean it can use it?
I feel like if you can’t be bothered to write the code, at least document it yourself and write the marketing copy so I know you understand the product. Otherwise how can I trust running it on my computer? Did the LLM generate some amazing rm -rf somewhere, or another blunder that wrecks data I might care about?
Yes, the code is generated. Yes, the docs are generated. I agree LLM copy is annoying and will rewrite them myself.
But I built this for myself out of frustration with the official client, and I use it every day, so every bug I find is fixed immediately. I also care about bugs and PRs from other people, as you can see the amount that have been closed on the repo. The only reason I would stop maintaining this is if Spotify kills it.
I also wouldn't call this vibe coded either. Human directed and LLM generated is fairer. It's been an intense 5 days with tons of design decisions and testing on 3 platforms. I think we need a new vocabulary to distinguish it from "author doesn't care". I do.
I rewrite docs myself on my own projects because they read as very LLMish, there's an intermediate stage which feels slightly less bad where I ask it to remove most of the comments, especially LLM signposting ones and then "rewrite any remaining comments and docs in a dry ukgov/gds style" which makes things slighyly less worse.
> The Debian Project nevertheless expects that all contributions submitted to Debian, regardless of how and with which tools they were produced, satisfy the same standards of quality, correctness, maintainability, and legal compliance.
Slop text on the homepage does not scream "quality" to me.
I'm going to sound harsh here, but please don't take this as criticism of the effort, it's criticism of how it's being portrayed. The quality might for all intents be great and useful.
> But I built this for myself out of frustration with the official client
But you didn't build it. This is akin to me telling an intern to build me a widget and then claiming it was me who built it. Or a construction manager saying they built a skyscraper.
Yes, the intern and the construction crew needs guidance and management, but I can't then go to the management committee and claim ownership of the effort.
> I also wouldn't call this vibe coded either.
You didn't write any of the code or even the documentation for that matter. You guided a code generator that relied on you to guide high level decisions but then did all the implementation on it's own. That's vibe coding.
Having used Claude a lot for the past four months, I get exhausted from its style. Every sentence has been buffed and polished and enhanced and it never just plainly says a thing. It's as if you have to eat every meal with every possible flavor enhancer in existence.
Interestingly enough, https://fastpotify.rocks/winamp/ shows what I dislike about LLM-generated text: From "The buttons do what they say [...]" to "[...] a different format and are not supported" is just a huge wall of text without any visual guidance.
It's as if the person writing these lines didn't care about the result. One could argue that people not caring about written documentation isn't anything new, but in the past, these documentations also had little text. So they were easier to digest. Now, we get great walls of text that are hard to read. I cannot say that I like that.
What sucks is that clearly the author has prompted the model somehow to generate this text, and this prompt probably contains the actual meat that the model just "expanded on" while adding it's own fluff, and if the author just shared the actual verbatim prompt instead, the documentation would be 90% shorter but also 200% more "informative per character used".
Just share the prompt you used, regardless of how low quality or bad it is, rather than this word spaghetti of 100s of words saying basically nothing, such a waste.
I prioritized shipping over carefully crafting docs. I thought nobody would read them and they'd rather enjoy the software. I was wrong. I'll rewrite them.
Fair enough. But then, how should I enjoy the software, if the documentation to its' usage is buried beyond a whole paragraph? To be clear, I do not judge the usage of AI per se. But you can instruct AI to write a clear manual. It just takes time. :)
I think you got a but too much negativity, from a crowd that became more easily irratated because their AI sensor became very sensitive by e.g. reviewing a lot of AI generated code and comments.
The difference is that the marketing stuff used to be only on corporate websites. Now it's everywhere, because pretty much everybody hates writing, and the "pretty much" can be left off when the writing is a job or some other form of obligation.
Not OP but I don’t really care if it was or not. All I know is that I’ve been using the Spotify app 10+ years and it works well. I don’t know if this random app works, and if it hasn’t been supervised I doubt it does.
> I feel like if you can’t be bothered to write the code, at least document it yourself and write the marketing copy so I know you understand the product.
Do you not understand it?
This person doesn't owe you any work. He's providing a product for free and this is a reasonable enough description of the product.
> Did the LLM generate some amazing rm -rf somewhere, or another blunder that wrecks data I might care about?
I'm pretty sure at this point hand-crafted code is more likely to contain security bugs. The mythical "rm -rf" random LLM insertion is not a real threat. Every time I see stories about this kind of issue, it's almost always preceded by basically prompt poisoning.
> The mythical "rm -rf" random LLM insertion is not a real threat. Every time I see stories about this kind of issue, it's almost always preceded by basically prompt poisoning.
It is real, typically happening when dumber models (haven't personally seen any of the SOTA ones on reasonable thinking/reasoning level do this) try to clean up stuff via bash and forget to assign a variable. Things like "rm -rf sessions/$id" without double-checking $id is actually defined, would do "rm -rf sessions/" and remove the entire directory. Add in more variables in a path like "rm -rf $HOME/projects/$user/$repo/$tmpdir" and the dumb models people think they can use for local coding, promptly removes a lot more than expected.
Not sure how people aren't already running these agents in an environment/sandbox where stuff like this wouldn't matter, locally or not, but some LLMs do truly accidentally delete stuff for people, without "prompt poisoning", I had it happen myself while testing Qwen3.8-27B (BF16) locally just a week or two ago, exactly as described above.
Just recently, Opus 4.8 almost deleted a bunch of important files (I caught the issue before) because it failed to consider that two-way-sync would delete files from my NAS if deleted locally.
LLMs seem to have been fine-tuned to use metaphors, presumably because they read like vivid creative writing. The over-use of metaphor in LLM-produced text is exhausting.
Slop code is already hard to tolerate, but any hint of slop in text will immediately make me chuck it into the bin / close the tab, no exceptions. My lifetime is finite, I'm sure as fuck not gonna spend time reading something that a person could not even be arsed to write themselves. I'm only annoyed that it takes sometimes a few seconds, sometimes a few minutes, to detect that I'm actually not reading a person's thoughts but only a machine simulacrum of such.
I highly recommend anybody to take up a similar rule, in any context. Slop in a website? Close. Slop in an email? Bin. Slop in a code comment? Skip.
There is a tribe of people who carve bots out of trees using their hands. https://en.wikipedia.org/wiki/Dugout_canoe. It stupid to waste time doing something a computer can do reasonably well. IMO
Spotify is in the process of killing the librespot project that this and most third party Spotify players are built on. I think the golden age of music streaming is coming to an end. I’ve migrated to a self hosted library with streaming and radio for discovery. I hope we’ll see many projects in the space flourish. Many, like Navidrome and the whole OpenSubsonic ecosystem, seem to be doing quite well.
What makes you think Spotify is killing it? I know they aren't supporting FLAC but otherwise I don't think they're actively trying to stop it as opposed to not really caring if they support it (which is more "We don't care" as opposed to "We have to stop this")
I haven't seen any evidence of Spotify killing librespot. To me the project looks active and works totally fine. I don't have a new Spotify account to verify the claim above.
I suspect wilted-iris is conflating it with the recent changes to the Web APIs: new developer apps can't use all endpoints anymore. In Fastpotify if you add your Client ID I use both an older developer app and your app to keep everything as fast and seamless as possible.
Librespot no longer works for new accounts. APIs are being gated off and they’re applying legal pressure to dissuade projects from reverse engineering anything new. At the end of the day, they can turn the tap off anytime they want, whether by technical or legal means. I tired of having so much of my music experience at risk and chose to migrate on my own terms.
They can only turn the tap off because those projects operated in ways that required them to leave it on.
Biggest mistake most librefication projects make is to do their project out in the open where they can easily be subject to legal pressure, then fall into complete disarray the moment that pressure appears. They can't move underground once pressure starts, because everyone already knows who they are.
> Biggest mistake most librefication projects make is to do their project out in the open
That's not it. Most youtube downloaders are not developed in the open and Youtube still breaks them every other week by changing on purpose the way they operate. And, unlike highly obfuscated instructions, studying the network queries used by a simple app does not require expensive reverse engineering efforts from Spotify engineers; essentially, it's the same as developing in the open.
The only case i can think where obfuscation might help would be if the actual Spotify API consumers were servers by the app developers (or some form of obfuscation via residential proxies) and the app developed an entirely different API to/from its servers. But then, you're back to the developers and hosts can receive legal threats, etc...
You propose the open-source community operates behind closed doors like the very software they aim to replace?
I’d argue Spotify has so little to gain by being hostile, that perhaps the lawyers are more expensive than just ignoring these pet projects (which would never gain mass adoption).
If anyone other than me really likes classical music, I thoroughly recommend Hyperion Records. DRM free downloads in your choice of codec, one to two free CDs worth of sampler per month to download (with a jewel case PDF!) and some truly excellent world leading groups and beautiful new music.
Thanks for sharing. I loved buying then downloading cheap samplers from punk and hardcore labels when I was younger. That was part of the culture and that really helped me discover new music and shaping my tastes. This is something that doesn't exist that much anymore and I'm glad to find this initiative. I try to listen to classical music but that's a very difficult world to discover, this will probably help by helping me to focus on few titles instead of jumping in the gigantic and maze-ish pool !
One part of the classical diaspora I think is both under appreciated and undergoing something of a renaissance is that of contemporary choral music. There are many great examples but two I'd like to draw to attention to two of those I have recently sung, and really enjoy:
(1) The works of Ēriks Ešenvalds,[1] a Latvian composer who was a fellow in composition at Trinity College, Cambridge and brought really a large part of the surprisingly rich eastern European singing tradition to the west. I had never heard of the Singing Revolution against the USSR in Latvia, Estonia and Lithuania – countries with a wonderful, rich choral tradition where music (and choirs) played a really nonzero part in the downfall of the USSR. All absolutely beautiful and a group I sing with has worked with a lot of composers from this part of the world. Amazing soundscapes with harmonies that are never quite as good in equal temperament as outside it and yet always tonal and beautiful.
(2) Desmond Earley and the choral scholars of Trinity College Dublin – who conjures up a rich sound world of very pure, Irish tones that almost sounds synthetic but is made entirely from human voices and traditional instruments. It is simple to sing but difficult to master. I would highlight Dúlamán, [3] a traditional song about the economic importance of seaweed.
Would you be willing to share a bit more about this setup? The only thing keeping my on streaming is the fact that its almost impossible to find new music otherwise. I know LastFM exists but it just doesn't click for me the way that streaming does. I like discovering music organically.
I left spotify around two years ago for a self hosted option (I mostly use navidrome+feishin). Music discovery was a concern for me as well, but then I realized that I didn't like the idea of spotify curating which music I discovered. So far, this is what has worked for me:
- Actually listening to the music I have now. I think the art of listening through full albums has slowly died, but there is so much music we're ignoring because we just listen to Artist's top tracks.
- Word of mouth. Asking my friends what they listen to. This is a way that people used to discover music and I've found so much good music this way.
- Bandcamp. Bandcamp is SUCH a good way to discover new music. You can listen to the music in app, there are great articles and you can actually support the artists!
I have pretty much the same setup. The only thing that bothers me with navidrome+feishin is that gapless playback is not working perfectly.
Also, a great resource for discovering new music is the public library. They often have a curated CD section that I then rip into FLAC. I've had great chats with the people in my town's library, and I often pick a totally random CD off the shelves and discover some amazing artists.
While moving from spotify to youtube music a few years ago I bought a vinyl player to listen to full albums and fell for it. Then when I moved to curate and self host my collection with Plex and Plexamp I realized I'm not using the player anymore since I'm using Plexamp to listen to albums. Plexamp is not perfect and not open source unfortunately, but it's a really good non-enshitified product.
I had to migrate away from youtube music since the experience was infuriating me every time. I love making playlists on the go. In youtube music after adding 30 tracks to the play queue, tapping 1 track accidentally deletes the play queue and plays this track. This made me feel bad every time it happened.
I don't see how it is just accepted to lose progress in 2026 as if we're using win95. It feels like 80% of the sw I use provides a caveman UX, not leveraging the tech, leaking implementation details and being constrained by technical reasons. On the other hand, working on Prepbook[0], I realized how hard it is to create the perfect experience and how it's even harder to justify it financially.
I'm doing discovery by talking to people, I love it. Every time I listen to Monolink I recall my co worker that just said "check out monolink" when he heard I love Ott. I love that it makes the experience about connection to people as well.
using nts.live and and fip radio -> https://www.radiofrance.fr/fip at the moment for same purpose. Radio France allows to save liked track names in profile to look up later.
I listen to Flow State, SomaFM, and aggregate from local shows and a few people I follow on social media among other discovery platforms. (I don’t have a favorite yet.)
I found that Spotify was increasingly recommending AI artists and songs I already knew. It surfaced very little outside of my comfort zone and effectively nothing that wasn’t new. There’s a whole world of music out there that Spotify wasn’t showing me.
I used to use hypem soo much during the music blog days and had a subscription etc but it seemed to stop working or something so after a while I stopped using it. I will have to check it out again
was a big question mark I had as well. The Clear Channel and iHeart stations are not known for discovery. Now if you find a college station or by some miracle an independent station you can get some new stuff. My favorite local college station is also ad free. They also have an app which I lean on as it's not the strongest transmitter so their coverage is spotty. Maybe there's other indy stations with apps as well??
RRR and PBS in Melbourne both stream online and are both fantastic for music discovery. Go the former if you lean indie and the latter if you lean international.
This radio station is local to the city I live in, and they've been great for music discovery for me, although heavy focus on local artists, but they've put me onto a few international artists as well.
I subscribe to them, have done so for ~10 years I reckon. I don't listen as much as I used to, but I want them to continue existing either way.
Be aware, the quality of their playlists is incredibly variable, but that's part of the charm. I guarantee you'll hear something you haven't heard before... for better or worse.
I would always recommend KEXP. They have a really varied set of shows and setlists, don't seem to be swayed by "we must play the top 40", genuinely care about music, and are super nice if you head into the building in Seattle (which has a public access space, coffee shop, bathrooms, and a SubPop store).
I've had three tours around the place just by telling the folks there that Im there from out of town. To be fair, I might have gotten the tours because I came all the way over from England the times, but it's my favourite place to hang out when I'm in Seattle.
Also Ken is the nicest guy ever, and he introduced me to Larry Mizzel Jr while he was broadcasting live.
Get the app, or use the player on their website, and hive then a try for an hour or do. The app has the ability to "heart" a track while it's playing live, which helps with discovery.
Call me a boomer but I’ve had a ton of fun with XM radio. I can find new music on Bandcamp but nothing compares to hearing some classic from the 80’s that you would have never thought to put on when you’re driving home after work on a Friday.
I don't know about you but spotify discovery feels like the least organic discovery possible. Its so homogeneous and predictable and corporate slop adjacent it makes me cringe just thinking about it.
I've discovered so many great artists through Spotify, and been to many of their shows (which Spotify also helps surface with their "Live Events" feature). I regularly get artists with less than 100k listeners in my Discover Weekly, which I then look up, and find that they did a concert on KEXP, and the comments all proclaiming "I knew good music wasn't dead!".
So I can say for sure that I don't share the slop sentiment. Sure, there's some generic filler every now and then, but any non-cohesive mix, as opposed to a carefully curated album is going to have songs that naturally become "fillers".
Just now, I discovered that Spotify snuck in "The Juan Maclean - Running Back To You (2014)", which is a cover of "Brian Bennet - Solstice (1978)". Neither songs are completely unknown, but they're also not exactly Bruno Mars.
I don't know if this is pure luck or algorithmic rhythm analysis, but for me it's working.
Because millions of Spotify-compatible speakers are sold with firmware that will never be upgraded, so they can't ever change the Spotify connect protocol without breaking those devices.
I'm glad they're doing well but I would guess only a tiny fraction of the people who use Spotify would be capable of setting up Navidrome. I tried and went back to Plex. I wish it were otherwise but if something takes more than a few clicks to go from zero to music that leaves 95% of users out! I hope these projects get more accessible though.
I've also canceled my Spotify sub three weeks ago and migrated to Navidrome. I'm still not quite satisfied with the available clients, I'm using Feishin. Fastpotift looks like a nice candidate to extend to support Navidrome.
Tools for piracy are much better today than they were back in the Napster or grooveshark days. It’s actually kind of shocking to me that we haven’t had a popcorntime moment for music again. Nothing technical is preventing the creation of a perfect decentralized anonymous p2p FLAC streaming platform with plausible deniability.
How would the plausible deniability piece work? If you stream some bytes to someone else, you can't deny doing it. Unless you imagine this working over Tor, idk what the performance of Tor is these days but I never thought it could support such an application.
Music is relatively small. Tor is totally capable of hosting zlibrary without bandwidth restrictions getting in the way.
By plausible deniability I simply meant adopting a similar approach that Stremio has, to keep it on the good side of App Store approval processes. The app itself only allows for creative commons content by default, but with the right incantations it can host anything.
Stremio and other apps like Fusion have gone up and been (reasonably quickly) taken down off the App Store though.
Not really "on the good side" when your main distribution method is "add this app to your account within the first 1-2 weeks of it being in the App Store or never again", or sideloading.
Probably for the same reason Twitter killed their API, more control over the experience and to serve ads/cross-promote. More cross-promote for Spotify.
The first Spotify client, the one in Qt was actually really good. Things started going downhill slowly when they integrated Facebook then very fast when they threw everything through the window to rewrite everything in electron.
It wasn't, really. At least not completely. I fully agree on the algorithm - I miss times of scrobbling to Last.fm, which was much better at this. (Spotify always supported scrobbling to Last.fm from their client, surprisingly).
Spotify used to be snappy and worked really well on Linux. I even used it for local libraries, as it was one of the few options that didn't crash on mine.
It was at the beautiful time when we realized web apps can have local storage, Google released that experiment called Chrome to "show public how modern browser can evolve and inspire other browser makers how to progress". We know it ended up in "extinguish the market with it", unfortunately.
But Spotify chose native app approach - they distributed it as packages. Deezer on the other hand, back then (I don't know now) had just native web app that could pull music locally. I think it was an extension of Chrome (?). It also worked perfectly fine on Linux, almost two decades ago.
> We're going to vibe code the entire enshittified internet to be ours once again.
It’s such a wishful thinking, but no it doesn’t and won’t work this way. Code != useful product. Plus today’s web is all about fabricated content, AI bots, cloudflare challenge walls and all other annoying stuff. The very idea of being able to create something in seconds is already killing internet.
Garbage being created at unprecedented rates does not diminish the fact that LLMs are acting as a positive multiplier for useful tools; this very item being one.
No one in all these years had gone through the effort of replicating the Spotify client with a snappy fast interface for a reason. Everything had been an integration into already existing software, or simpler interfaces, because the effort was not worth it. The equation has changed.
You can look at the glass half full all you want, my glass is overflowing.
This is the best year in all of my 20 years in tech. I'm creating so much stuff and it's all I've ever wanted.
This is the dream of the 2000's, and big tech can't stop us anymore.
I think I'm going to write my own music player soon that behaves exactly like I want it to. Maybe this weekend. Or maybe right after my home automation project. But I can probably squeeze them both in.
> You are creating so much stuff, but most of them are useless garbage that no one cares about.
Are you so sure of that?
One of my projects is at $5M ARR in just six months. I passed $400k in sales this month. It's an open source project.
I'm teaching my wife to code and we're going to make a video game together. Surely you can see the value in that bonding experience? She never would have been interested prior to Claude Code.
I've been writing my own SRS software for drilling typing in Japanese. It's pretty fantastic. Nothing like that existed before I made it. So many needs that went unmet are just being filled.
That's just top of mind. I've been doing a ton.
Nobody likes to tag music the way I like to (multiple scalar quantified dimensions with clustering), so there's literally no music player on the planet in the shape that I want. If I'd wanted to build that before, I'd have to spend opportunity cost over several weekends to start building, plus the ongoing burden of maintenance. That's likely a few months burnt plus fixing things when API integrations break down. Now it's a few hours plus a bug fix here and there.
This is 3D printing for software.
I don't get the negativity. This is all so magical.
I am very interested in your projects. Particularly the music player.
Tagging for Latin America music is basically a cluster fuck of misleading misunderstandings, there's not a single salsa, merengue, son, charanga, or bachata song that has been correctly tagged in any streaming platform o scrobbler. It's like the people using the platforms are deaf to the rhythms. WTF is Latin Jazz doing in a salsa song? Exactly.
FYI on this site, I had to enable WebGL to get it to run in Firefox. Not sure why it requires WebGL specifically I didn't see anything on the pages that seemed to need something like that. They could be losing customers that can't load their site.
If anyone is interested in selfhosting or wants to stop using spotify without losing the discoverabily:
I use explo+slsk+lidarr+navidrome, for access on my phone I use dsub2000 or symfonium but mainly dsub2000.
Explo is the software used for the discovery https://github.com/LumePart/Explo
It automatically downloads daily jams, weekly jams and weekly exploration playlists from your listenbrainz account(free) using youtube, soulseek(with slskd) or lidarr (support was merged very recently).
I also imported all my artists from my spotify account when I migrated which you can do in lidarr with the plugin ̶a̶n̶d̶ ̶t̶h̶e̶ ̶f̶o̶r̶k̶ ̶ bellow ̶b̶e̶c̶a̶u̶s̶e̶ ̶i̶t̶ ̶i̶s̶n̶'̶t̶ ̶s̶u̶p̶p̶o̶r̶t̶e̶d̶ ̶i̶n̶ ̶t̶h̶e̶ ̶m̶a̶i̶n̶ ̶l̶i̶d̶a̶r̶r̶.̶
Thanks for sharing Explo, looks like a good project for discovery, I’m going to check it out!
I’m using a similar setup, with Lidar/Navidrome, but using Subwave for discovery. It works very well for going through your library and playing music like a radio station would, but it won’t recommend anything that’s not already in there.
I used lscr.io/linuxserver/lidarr:nightly, note that the `latest` tag won't work as it's using the `master` branch which doesn't have plugin support yet, so either use the `nightly` tag or the `develop` tag.
I might be misremembering, but I swear when Spotify launched it was a big revelation at the time because the client was super fast and playback was almost instantaneous. This was a big deal as other music players like iTunes were bloated.
Obviously streaming was the big selling point, something that iTunes didn’t offer at the time, but I swear the client was written in some native UI framework, along with the C/C++ library.
Or was the spotify UI always just a browser engine skin and the perception of speed was from the playback engine?
Lots of people seem to care about whether a project was built by hand over time by a few committed developers, or if it was vibe-coded in the past week by a single person.
Whether the distinction matters or not, it would be nice for everyone involved if projects falling into the second category were more upfront about that.
Yes, a project maintained and built over longer time has a bigger chance of staying relevant, than someone's weekend fun they will abandon once the dopamine hit of "making something" wears off.
I'm not sure what decision you're talking about.
My comment just mentions that it would be convenient if disclosure of vibe-coding was more common.
I can look for myself and see that the repo was started a week ago and has had hundreds of commits since, and that the author exclusively talks about ai on twitter. I'd just like it if I could save myself some time, and it would prevent useless discussions in this thread were people argue whether the commit-messages look like ai.
I'll admit to having some bias against vibe coding, but trying to put that aside I think it depends on the purpose of the project. If it attempts to be an improvement over existing software then absolutely yes it would, things like speed, performance, security and reliability are not something I'd trust vibe coding for. If its for doing something novel where the previously mentioned is less of the focus, I can imagine myself looking past that, sure.
Interesting. I've always wanted something like this. The official Spotify player sucks in many ways, but the UI/UX is decent, or at the very least I'm used to it now.
All the other lightweight Spotify clients roll their own UIs in ways that I don't like, so I really appreciate that their LLM has taken the time to clone the UI 1:1.
But now I have to decide if I want someone else's vibecode on my computer. I think not.
Edit: egui is an immediate mode GUI library written in Rust. egui runs natively on , and on the web it is compiled to WebAssembly and rendered with WebGL or WebGPU. Everything you see is rendered as textured triangles. There is no DOM, HTML, JS or CSS. Just Rust.
Devs are constantly making the mistake of falling in love with immediate mode GUIs... because it's convenient for them, the developer. For the user, it's almost always a worse experience as things don't behave in the same way as the rest of the platform they're on.
egui is great for video game debug UI overlays and internal tools, and maybe some specialized graphical tools. Otherwise its quirks are too annoying for general purpose app usage. Sure, you banged out a UI quickly with it, at the expense of your users.
No, it’s fine. It’s the longer term DX that takes a hit. Anything other systems can do, immediate mode can do, because like those systems you can always cache across frames. The same can’t really be said for retained mode. We wrote some about it here: https://tritium.legal/blog/desktop
I was about to come here and say that egui is a terrible choice for web. Everything is rendered in a canvas, so accessibility and extensibility is thrown out of the window. Basic browser functions like pinch-zoom don't work, it has some very wonky visual bugs when resizing the window, interactions have a very noticeable delay, no browser extensions work with this.
This is really not a good solution for web apps, and if you're vibe coding your apps anyway, there isn't any reason not to have a native browser application.
Software has finally started to get faster, and I love it.
Pls don't consider this a spam, but if anyone is interested in a fast native Slack client, I'm building one, since Slack themselves don't want to: https://msga.app
Looks good, but ran into loading spinners fairly quickly, large playlists kill this, I suspect because the api is not properly respecting the cache headers and is refetching the same information repeatedly and thus getting rate limited. Also
Once that happened I wasn't then sure if issues I'm seeing are from api or the app itself. It's possible this is prioritising the responsiveness of the UI rather than the actual speed of user interactions.
Also the menu bar icon doesn't work for me (on MacOs). I can see it, but it doesn't do anything and there's nothing in the app itself to enable/disable it (though thankfully it does respect cmd+drag to delete).
It’s not specific to this program, but I lately get this feeling that distributing widely a piece of software that exists for 5 days and saw a dozen releases in that period is stretching the open source trust model.
I've been slowly trying to stop my spotify usage and replace it with owned audio files.
Mostly I try to use Bandcamp but many artists are not there. Sometimes I just rip the audio from youtube but would prefer a way to buy that gives most of the money to the artist.
I've found that it's actually surprisingly difficult to find a lot of music I like for purchase. Bandcamp is good but there is also 7Digital (both owned by Songtradr), Bleep and Qobuz. 7Digital usually has stuff that won't be on Bandcamp. There are also a few newer alternatives popping up like Ampwall, Subvert, and Mirlo.
Saving everything until Bandcamp Fridays for the ones on Bandcamp, otherwise pretty much Beatport or not buying it at all. Some labels I've listened to for a long time (like Liquicity) I buy the music straight from their store, figure the artist/label gets the most then.
After discovering music I like on YouTube or whatever, I buy albums on Bandcamp and Qobuz if possible, and Amazon as a last resort. Then I host them on my personal Navidrome server to enjoy without involving any big tech.
Are compact discs no longer available? I used to rip from those - every album I've ever downloaded and kept I have the CD for. Some bought before the download, many bought after.
But it's been a long time since I've heard anything good enough to purchase.
Tried using Spotify web client on Safari the other day. Performance was absolutely terrible.
For comparison I was using Apple Music via safari before.
I’m just surprised that such a big company can produce such an awful web experience, guess everyone is just using the native app, but for some that’s not possible
Just came to say that official client (all its processes combined) uses 1.1Gb of RAM on my macbook air, while this, playing the same track from the same playlist and nothing else, gets only up to 280Mb
Love the Winamp feature - but more so that it comes with milkdrop! That is next level.
What would YouTube music support look like? And another random feature request - universal playlist import / export (i.e. take my YouTube playlist and convert it to Spotify and vice versa - Rosetta stone style)
If anyone wants a lightweight, GUI, non-slopcoded spotify client I find spotify-qt[1] does the job nicely.
Alas, it wears only the skin of your system QT theme
Wow, I was going to say I assume the pic in the top right is of the official Spotify client, which seems confusing, but it seems this actually just looks really like the official client. Which is good but possibly makes it more likely Spotify will come after you.
The UI feels a lot less sluggish than the official client (which in my experience seems to have gotten way worse lately) but in many cases I am just sent to a loading page which ultimately takes a similar amount of time to load the content. So it seems a lot of the slowness is coming from the Spotify server side, it's just that the official client seems to freeze while waiting for a response whereas this doesn't.
Hopefully Spotify don't kill librespot. As I understand it you can basically only use it with Premium accounts, so it's not like they aren't getting paid anyway. If some other provider were to come along and offer access to the same content as Spotify with a stable API that you can use with any client, I would pay more for that than I currently do for Spotify.
As an aside, ncspot is another good and more minimalise Spotify client, which is a TUI.
If you're focused on lightweight, native and fast, I don't think you should use an immediate-mode GUI toolkit. Why does an app like this need to hit a 60fps framerate? It's not a game.
I was surprised to see an immediate mode gui toolkit.
They're great to integrate into a game loop because you control your loop, (and they're a delight to use) but I thought for perf retained mode was the way to go?
Am I missing something? Then again if the bar needing to be beaten is spotify's existing desktop app maybe it doesn't matter?
Egui doesn't do that. But it's written in Rust and only updates when you interact with it so in practice it's way more efficient than I would have expected.
Author here. Two reasons I chose an immediate mode UI framework:
1. Latency. A click paints on the next frame, because it sidesteps the stages of a retained mode UI: there's no dirty-marking, no layout and paint passes scheduled for later, no cached visual state that can be stale.
2. Simplicity. The UI is a plain function of app state. There's no retained tree to keep in sync and no invalidation bugs: mutate the state and the next frame shows it.
Yes, the drawback is that you have to watch what a frame costs, but it doesn't repaint at every frame. It paints on input and you can schedule repaints yourself. Fastpotify sits at zero CPU when idle, asks for a few frames a second while a track plays, and runs at full rate only while you scroll.
always thought the spotify ui was really really good, it just has way more features and feels like it is made by a great team that actually uses the app and has input over it's design, vs apple music which is just a normal app that feels like it was made by a committee
I've been thinking recently about buying an AI-capable GPU and using it to reverse-enginner and debloat apps I use every day. It seems like a task that even a dumber AI model could do. Disassemble the app, then either cut the things I don't care about, or just implement it fresh in a correct way.
I don't think models that run on single GPUs are capable of that yet sadly. You still need to spend ~$100k to get an actually good local LLM. Correct me if I'm wrong, local AI guys. It's really hard to get actually numbers on this stuff, but to run e.g. GLM 5.3 Flash as far as I can tell you need one of those super expensive 8 GPU machines.
if i tasked it with "create spotify" I'd need that much.
asking it to "disassemble Spotify and find out the minimal code path needed to play a song" is much more in reach. I don't need it to oneshot it. If it gets stuck, I've read enough disassembled C to figure it out and get it unblocked.
Instead of banging my head against a binary for 5 hours, I'll have my agent bang it's weights for 20 hours, then put in my 1 hour of polish.
My first task would be to fix the Android version of Facebook Messenger. My friends still stick with it because they have iPhones, and that version works fine. I have been putting up with broken image previews for 2 years now. I'll fix that fucking wild pointer they don't care about and make it usable as a chat app. And I'll remove the ads while at that.
Very cool. I'm cloning the repo, just in case it gets taken down. I've been using EGUI, but its biggest problem is that LLMs really struggle with it. There isn't enough good examples of it. This codebase seems to have a lot of good examples, so given this as a reference, one might make a lot of progress much faster.
I'd love to put in some love and effort into a Spotify replacemeny that supports jams. I'd share the app with friends. I needed an excuse to make a cross-platform app anyway.
Fuck Spotify. Even if you don't care about the ethics of Daniel Ek's investments, the platform itself is crap. One of the lowest paying to artists, not paying at all unless they hit a threshold, and the catalogue is filling up with AI slop, which they push on users via 'radio' and 'mix' playlists, so they can pay even less royalties. No, thanks.
I've tested Deezer for half a year. The software quality was horrible.
Had a lot of crashes, it often took many many seconds to change between the songs and often getting stuck, the buffering algorithm was nuts and eating a lot of bandwidth.
Everything on a standard Pixel. Full 5G coverage was available.
Qobuz have the highest per stream payout rate for artists [0], and have the best audio quality of all streaming platforms (better even that Tidal imho). They have desktop, mobile and android auto (and presumably carplay) clients, and an equivalent to Spotify Connect whereby streaming can be switched to a different client.
Downsides are no native client (same webview approach as Spotify), not as strong recommendations (though slowly improving), good but slightly quirkier UI (also slowly improving). For me the trade offs are worthwhile.
Tidal is the last streaming service I use, split between that and a jellyfin+arrs setup coupled with buying music from artists directly.
Fuck Spotify and their rotten leadership. Was amongst the early adopters (2009). I'm sure they won't care for the loss, and I won't miss th when they're gone.
Also, I know it's a bit niche, but Deezer does not have an equivalent of "Spotify Connect" protocol, which means that Network Integrated Amplifiers (like Onkyo A-50), CANNOT implement a player with good UX. Spotify is now king since they introduced lossless quality which is enabled by default in such amplifiers. The benefit is that there is no local streaming (e.g. Bluetooth) and no latency. The data come from Spotify directly to the amplifier and then your speakers.
So, Deezer that had a audiophile target audience, has effectively lost the game.
Tried Tidal? The one gripe I have with it is no remote control, as in using phone to change what's currently playing on the device connected to my sound system, without it thinking I want to start playing on my phone.
The best is to host your own, navidrome is great and easy to set up. But if you really wanna hate on one, it’s Apple Music, believe it or not, they will actually delete ALL your playlists that you made over the years if you stop paying subscription for few weeks or sometime for days, why? Because Apple says fuck you, you are renting and you are not entitled for anything, which also explains why they are now trying to have hardware as a service with their new renting hardware program.. at least spotify doesn’t do that and keep your playlist to export later.
Careful, you'll get downvoted by knee-jerk reactions from people who have absolutely no idea whatsoever about the harm Spotify causes to artists trying to survive in the music industry.
I hacked the official client apart to hide some bullshit (like podcasts) and fix bugs that were pissing me off. Shared it exactly once and it stopped working within a month. Bugs were still there too
This app is a dream come true for me. As a user I'm heavily invested in Spotify but I've grown more and more irritated with their client. Especially the recommendations, which thankfully are largely absent from your client.
Would love a setting to also remove the "Made for you" section, as well as the "Recommended for you" section, both on the home page.
I was using Spicetify to customize the official client to this effect, using CSS.
The volume of commits is quite crazy. For example, he wrote a +486/-51 commit in 20 minutes (33287cb) with quite dense rust code. That's about 25 changes per minute -- very impressive! The docs also smell of LLM output, for example describing the app as native despite using egui/wgpu.
What about egui and wgpu is not native?
Those are both generally what is considered running something natively. Both even mention running "natively" in their descriptions.
I guess what you mean is "OS-provided controls". In that case, ye that is not what this is.
If it was a site made with AI it would be stuffed with way more ad copy, components, UI toggles, and small text. If this was made with AI, they seem to have restrained it from going on the gaudy UI mess of most AI generated sites that are what I like to think of as "Maximalist Minimalist". A hodgepodge of a design library.
The website looks great to me, clean and simple, perfect for a project like this. “Not looking like it was made by AI” isn’t something I value for itself in a website, any more than “not looking like it was made with injection molding” is something I would value in a plastic item.
Either it’s good or it isn’t, but it’s not good or bad because of how it was made.
I find the Android app particularly bad, just a couple of examples:
- Under a playlist you get a list of suggested songs, the UI element looks like a "regular song", but unlike every other "song" element the user has been trained to recognize, the "swipe right to queue" does not apply to these elements. For some reason.
- When you don't have connectivity, e.g. you walk into a Faraday cage, then the search tries to reach the internet and won't show you results before it either: 1) does so, 2) times out. Which means you can't browse your local library before some websocket times out. Just show me the local results first?
reply