finds.dev← search

// the find

theovilardo/PixelPlayer

★ 4,926 · Kotlin · NOASSERTION · updated Jun 2026

privacy-first Android music player built with Material 3 Expressive. Play offline, sync lyrics, fine-tune with equalizer presets, and cast to your devices.

PixelPlayer is a local-first Android music player built with Jetpack Compose and Media3/ExoPlayer. It targets users who want a privacy-respecting alternative to streaming apps, with offline playback of local files plus optional connections to self-hosted servers (Navidrome, Jellyfin) and cloud storage (Google Drive). The feature set is genuinely broad — equalizer, lyrics sync, tag editing, Chromecast, AI playlists.

The tech stack is solid and current: Media3 ExoPlayer with FFmpeg extension for broad format support, Room with FTS for fast library search, Hilt for DI, and Coil for image loading — all sensible choices that won't bite you. The backup system is unusually well-structured for a music app: modular handlers per data type, a validation pipeline, and legacy format detection, which means upgrades are less likely to wipe user data. The database schema is at version 42 with exported migration JSON files for every step, so Room migration tests can actually catch regressions. Supporting Navidrome, Jellyfin, Google Drive, and Telegram as source backends is a real differentiator over most FOSS players.

The 6GB RAM recommendation for a music player is a red flag — that's heavier than most games, and no explanation is given for why. Either the app has serious memory leaks, the recommendation is cargo-culted, or the AI/image caching is unbounded. The AI playlist feature requires users to supply their own API keys (Gemini, OpenAI, etc.), which is fine, but it also means user keys are stored on-device with no documented security model. The license is proprietary despite being hosted on GitHub with a contributing guide — forks are explicitly unsupported per the README disclaimer, which makes the open-source positioning confusing and limits community trust. Android Auto support is listed as 'Soon' in the feature list, which is the kind of thing that sits there for years.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →