4 ms·
BlackBird – a fast desktop media player built with Electron, Vite and SQLite
- jaccon 7mo agoHi HN, I've been working on a desktop media player called BlackBird. The idea started from a simple frustration: modern music/video consumption is almost entirely browser-based or streaming-centric, while local libraries are often poorly supported by modern tools. I wanted something that feels closer to the old Winamp/Foobar era, but built with a modern stack and capable of handling large libraries efficiently. BlackBird is a desktop media player focused on local media, but with some integrations that bridge offline and online content. Some features so far: Library management Recursive folder import for music and video files Automatic extraction of ID3 metadata Album artwork detection and storage Fast indexing using SQLite YouTube integration Add a YouTube link directly to the library Metadata fetched via oEmbed Playback through an embedded overlay player Organization Views for Songs, Albums, Artists and Videos Playlist creation with drag & drop Favorites Deep search across title, artist, genre and metadata Editing Built-in metadata editor Replace artwork locally Update tags without leaving the player Playback Universal queue mixing local files and YouTube items Shuffle and repeat modes Multi-select operations for large libraries Customization Theme system based on JSON files Full export/import of settings, playlists and metadata From a technical perspective: Electron for the desktop runtime Vite for fast builds and development better-sqlite3 for synchronous, high-performance local database operations UI built with vanilla TypeScript/JS and CSS to avoid heavy frameworks inside Electron The goal was to keep the UI responsive even with large libraries, while keeping the architecture relatively simple. I'm still iterating on it and would love feedback from people who care about desktop apps, media libraries, or Electron performance. If you're curious, I'm happy to share more details about the architecture, indexing strategy, or performance benchmarks.
- harrisonpage 7mo agoSuggestion: Add a screenshot or two to the README