A modern self-hosted music player.
9k
Stars
464
Forks
207
Open issues
30
Contributors
AI Analysis
Feishin is a modern, self-hosted music player designed for music streaming servers like Jellyfin, Navidrome, and Subsonic-compatible systems. It serves users who want a polished desktop or web interface for personal music libraries, offering features like MPV player backend, smart playlists, and lyric support. This tool is specifically for self-hosted music server enthusiasts and is not a general-purpose media player or cloud streaming client.
Inferred from signals mentioned in the README (tests, CI, type safety) — not a review of the actual code.
AI's overall editorial judgment — not an average of the bars above, can weigh other factors too.
Feishin: a polished desktop/web music client for self-hosted Jellyfin and Navidrome servers
Feishin is a TypeScript-based desktop and web music player designed for users running self-hosted music servers (Jellyfin, Navidrome, and OpenSubsonic-compatible servers). It replaces the author's earlier project Sonixd, offering a modern UI, dual audio backends (MPV for desktop, web audio for browser), scrobbling, synchronized lyrics, and smart playlists. Its target audience is the self-hosted media enthusiast community — people who run their own music libraries and want a capable, aesthetically refined client. With ~8,800 stars, active Discord/Matrix communities, Flathub availability, and a Docker deployment path, it has established meaningful real-world presence in the hobbyist homelab and audiophile self-hosting scene.
Created in July 2022 as a full rewrite of Sonixd, itself a well-regarded Subsonic-API client. Feishin carries forward that user base while modernizing the stack and expanding server compatibility to include Jellyfin natively.
Growth appears driven by the expanding self-hosted media server community, Sonixd's established reputation feeding migration to Feishin, and Jellyfin's own rising popularity (53k stars). Flathub listing and Docker support lowered the installation barrier. Steady 52 stars/week as of June 2026 suggests organic, word-of-mouth growth rather than viral spikes.
Available on Flathub with documented installs, Docker image on GitHub Container Registry (ghcr.io), and a hosted web demo on Vercel. Discord community exists (invite linked in README). Download count badge visible on GitHub releases. Adoption is real but concentrated in the self-hosted hobbyist segment; no enterprise or large-scale deployment evidence documented.
Likely an Electron-based desktop application with a React/TypeScript frontend, given the project uses TypeScript and ships desktop binaries alongside a web version. Appears to use MPV as an external audio backend on desktop via IPC, and falls back to the Web Audio API in browser/Docker deployments. Server communication likely via Jellyfin REST API and OpenSubsonic API.
not documented in README
Last push was June 23, 2026 — the same day as the evaluation date — indicating very active maintenance. The project has been continuously updated since 2022 and maintains a public taskboard, Discord, and Matrix channel, all pointing to a healthy, engaged maintainer and community.
ADOPT IF: you run a Jellyfin or Navidrome self-hosted music server and want a polished, actively maintained desktop or web client with MPV audio backend, scrobbling, and lyrics support. AVOID IF: you need a mobile client, require support for other media types (video, podcasts), or are not running a compatible self-hosted server. MONITOR IF: you use alternative Subsonic-API servers not yet fully tested, or rely on features listed as in-progress on the taskboard.
Independent dimensions
Mainstream potential
3/10
Technical importance
6/10
Adoption evidence
5/10
- Single maintainer dependency: project velocity and continuity appear heavily reliant on one author (jeffvli), creating bus-factor risk.
- Electron-based desktop apps carry known resource overhead and platform-specific packaging friction (e.g., macOS quarantine issues noted in README).
- MPV audio backend requires separate installation on some platforms, adding setup friction for non-technical users.
- Scope is intentionally narrow (music-only, specific server APIs), which limits adoption ceiling but also means any API changes upstream (Jellyfin, Navidrome) could require rapid adaptation.
- Native Wayland support is noted as experimental and unsupported, which may be a friction point as Linux desktop adoption of Wayland accelerates.
Feishin is likely to remain the de facto community-preferred desktop client for Jellyfin/Navidrome music listening, growing steadily alongside those server projects. Mainstream breakout is unlikely given the niche requires self-hosting infrastructure.
Newsletter
Get analyses like this every Monday
Free weekly digest of the most interesting open-source discoveries.
Languages
Information
- Website
- https://feishin.vercel.app
- Language
- TypeScript
- License
- GPL-3.0
- Last updated
- 8h ago
- Created
- 48mo ago
- Analyzed with
- anthropic/claude-haiku-4-5
Stars over time
Contributors over time
Top 100 contributors only — repos with more will plateau at 100.
Open issues
Feature Request: Multi-channel audio support (decode E-AC3/Dolby Atmos to LPCM)
[Feature]: Optionaly rely on ratings over favourites
[Feature]: Playlist from current queue
[Feature]: Support for Spotify-like "Canvas" (Background Video Loops)
[Feature]: Add dynamic image or transparency option to main application background
Similar repos
| Repository | Stars | Week Δ | Language | Score | Updated |
|---|---|---|---|---|---|
|
|
9k | +90 | TypeScript | 8/10 | 8h ago |
|
|
7.4k | — | TypeScript | 6/10 | 1mo ago |
|
|
1.7k | — | TypeScript | 8/10 | 20h ago |
|
|
3k | — | Rust | 7/10 | 1d ago |
|
|
3.7k | — | JavaScript | 8/10 | 19h ago |
|
|
2.2k | — | Go | 8/10 | 2d ago |
Feishin's direct predecessor by the same author. Feishin is its intended replacement with a modern UI rewrite; Sonixd is in maintenance mode. Users are expected to migrate.
The official Jellyfin web client is a general-purpose media frontend covering video, music, and more. Feishin is music-only and offers a more focused, opinionated listening experience with MPV backend and audiophile-oriented features.
SPlayer appears to target similar TypeScript-based music playback but context suggests it may be more China-focused or streaming-oriented. Feishin is explicitly self-hosted-server-first with Jellyfin/Navidrome integration.
Jellify appears to be a mobile-focused Jellyfin music client. Feishin is desktop/web-first. They serve complementary form factors rather than directly competing.
Streamyfin targets Jellyfin video/media streaming on mobile. Feishin is music-specific and desktop/web-focused; overlap is minimal and audiences differ.



