// the find
leerob/next-music-player
A blazing fast, information dense media player built with Next.js.
A local music player UI built on Next.js, SQLite (via Drizzle), and the Web Audio API. It's a demo project from a Vercel employee — polished enough to run, but clearly built to showcase Next.js patterns rather than replace any real music player.
MediaSession API integration is done correctly — system controls and lock screen metadata actually work, which most toy audio projects skip. Keyboard navigation with vim-style bindings (h/j/k/l) is a thoughtful touch for a developer-facing tool. The audio streaming route (`/api/audio/[filename]`) handles local files cleanly via a Next.js route handler rather than serving static assets, which means you can add auth later without rearchitecting. Drizzle + SQLite for local music metadata is the right call — no Postgres to babysit for a personal tool.
Volume controls are wired to nothing and active song persistence is explicitly listed as unfinished — these are table-stakes features for any music player. The Vercel Blob dependency for playlist cover images means you need a Vercel account to use playlist images properly; there's no local file fallback. Search is 'basic' by the README's own admission — no fuzzy matching, no search by album or artist, just raw SQL LIKE queries. The setup flow requires `yt-dlp` to get audio files in the right format, which adds a non-obvious dependency that trips up anyone not already living in the command line.