Back to browse
GitHub Repository

Open-source cloud music player with a bring-your-own-music model. Local control, optional sync, zero platform dependency.

382 starsJavaScript

Vibe Music – Bring Your Own Source (BYOS) Open-Source Music Player

by hotheadhacker·Feb 14, 2026·2 points·0 comments

AI Analysis

MidCozyZero to One

BYOS music player avoids licensing lock-in, but source fragmentation is the feature and the bug.

Strengths
  • Genuine architectural insight: separates metadata (MusicBrainz) from playback source (user-supplied)
  • Offline-first PWA with IndexedDB, Media Session API, handcrafted CSS glassmorphism design
  • Solves real problem: library independence from Spotify/Apple licensing agreements
Weaknesses
  • User still must curate/host audio sources; no built-in discovery beyond Archive.org archive searching
  • Competing against Spotify, Apple Music, and dozens of open-source players (Plex, Jellyfin); unclear sustainable advantage
Category
Target Audience

Users wanting music library control outside proprietary streaming platforms; open-source audio enthusiasts

Similar To

Jellyfin · Plex · Navidrome

Post Description

Hi HN,

I’m the creator of Vibe Music. I built this because I was tired of the "black box" streaming era where your library is at the mercy of platform licensing and opaque algorithms.

Vibe Music is built on the Bring Your Own Source (BYOS) model. It separates the discovery layer (Metadata) from the playback layer (Storage).

The app fetches high-quality metadata from MusicBrainz, but the audio source is entirely up to you. Whether it’s a public-domain archive from Archive.org, a self-hosted CDN, or any website hosting MP3 assets, Vibe Music pulls it together into a premium glassmorphic interface.

Key Features BYOS (Bring Your Own Source): The player is source-agnostic. You can attach audio URLs from any website or streaming source that exposes MP3/M4A assets.

Discovery via MusicBrainz: Full integration with the MusicBrainz API for accurate album, artist, and track metadata.

Local-First / PWA: Built with React 19 and IndexedDB. It works offline, supports Media Session API for native controls, and is fully installable on iOS/Android.

Hand-Crafted Aesthetics: No component libraries. I spent months on a custom glassmorphic design system using pure Vanilla CSS Modules to keep it fast and lightweight.

Vibe AI: An integrated assistant that builds a local context of your library stats (top artists, listening patterns) to offer context-aware music analysis.

The "Pro" Layer (VibeSync) While the frontend is open-source, I’ve built a proprietary service called VibeSync for digital continuity:

Radio Mode: An infinite, biased shuffle that uses a custom Fisher-Yates variant to balance "freshness" with library variety. Atomic Library Mirroring: Time-travel recovery for your library state using atomic transactions.

Tech Stack: Frontend: React 19, React Router 7, Vite. Data Layer: IndexedDB (LocalForage) + Custom Caching Logic. Metadata: MusicBrainz API + CoverArtArchive. AI: OpenAI/Gemini streaming integration. Styling: Pure Vanilla CSS (No Tailwind, no MUI).

I’d love your feedback on the BYOS concept and the UI. It’s been a labour of love to build a player that feels premium but stays true to the open-web spirit.

GitHub: https://github.com/vibe-music/vibe-music-web Live Demo: https://web.vibemusic.fm Homepage: https://vibemusic.fm

Similar Projects