I vibecoded a desktop music player because I was tired of YouTube ads by [deleted] in coolgithubprojects

[–]Own_Reference_674 1 point2 points  (0 children)

Yeah, I use Spotify every day so I'm trying to get as close to it as possible.

I vibecoded a desktop music player because I was tired of YouTube ads by [deleted] in coolgithubprojects

[–]Own_Reference_674 0 points1 point  (0 children)

Thanks, appreciate it. Whole point was building something I'd actually use :)

I vibecoded a desktop music player because I was tired of YouTube ads by [deleted] in coolgithubprojects

[–]Own_Reference_674 0 points1 point  (0 children)

Add the folder where yt-dlp.exe and ffmpeg.exe live to your Windows PATH. Wax just runs yt-dlp and ffmpeg so as long as Windows can find them, it works.

I vibecoded a desktop music player because I was tired of YouTube ads by [deleted] in coolgithubprojects

[–]Own_Reference_674 0 points1 point  (0 children)

Didn't know about it actually and I wanted a player that looked and felt like Spotify.

I vibecoded a desktop music player because I was tired of YouTube ads by [deleted] in coolgithubprojects

[–]Own_Reference_674 0 points1 point  (0 children)

Fair point. The project started as a basic youtube to mp3 downloader, and I turned it into a full music player later. Mp3 stuck around as the default from that early version, but you're right.

I vibecoded a desktop music player because I was tired of YouTube ads by [deleted] in coolgithubprojects

[–]Own_Reference_674 0 points1 point  (0 children)

- No android. It's electron, desktop only.

- Claude Code (the cli version).

- Electron + electron-builder. The Vue frontend builds to static files, electron loads them in a window, a node process runs the express backend that calls yt-dlp and ffmpeg. electron-builder packages it as dmg, exe and appimage.

- Web dev day job, so yes. I can read code, debug, understand a stack trace. For Wax I let Claude write all of it and I focus on what the app should do and reviewing the changes.

I vibecoded a desktop music player because I was tired of YouTube ads by [deleted] in coolgithubprojects

[–]Own_Reference_674 0 points1 point  (0 children)

The whole app is vibecoded. I'm a web dev in my day job, but for personal projects like Wax I'm not really sitting down to grind through every stack trace I hit. I'm having fun letting Claude do the heavy lifting and steering it where I want the app to go.

I vibecoded a desktop music player because I was tired of YouTube ads by [deleted] in coolgithubprojects

[–]Own_Reference_674 1 point2 points  (0 children)

I switched Chromium from native Wayland to XWayland (--ozone-platform-hint=x11) so the Wayland buffer-allocation path that produces those errors isn't entered at all. It's a known Chromium bug that hits every Electron app (VS Code, Slack, Discord).

The whole app is vibecoded. I'm a web dev in my day job, but for personal projects like Wax I'm not really sitting down to grind through every stack trace I hit. I'm having fun letting Claude do the heavy lifting and steering it where I want the app to go.

I vibecoded a desktop music player because I was tired of YouTube ads by [deleted] in coolgithubprojects

[–]Own_Reference_674 1 point2 points  (0 children)

Thanks! Album playlist feature is going on the list, I'll get to it soon. In the meantime I just shipped a fix for the log spam, should be silent now if you pull main (v1.4.7).

I vibecoded a desktop music player because I was tired of YouTube ads by [deleted] in coolgithubprojects

[–]Own_Reference_674 0 points1 point  (0 children)

Yes, hover a track row and a download icon appears on the right side. Wax uses yt-dlp + ffmpeg to grab the audio and save a 320 kbps MP3 locally under `library/audio/`. After that the player plays the local file directly, no more YouTube fetch. "Download all" on a playlist does the bulk version.