A beautiful, modern desktop music player client for Jellyfin servers built with Tauri, React, and Rust.
Bloodin Music Player Tauri React TypeScript Rust
- πΆ High-quality audio playback with fullscreen player
- π Complete library browsing - songs, albums, artists
- π Smart search with animated glassmorphism UI (WIP)
- π¨ Modern interface with multiple DaisyUI themes
- β‘ Rust performance - fast, efficient, cross-platform
Make sure you have the following installed:
-
Clone the repository
git clone https://github.com/pathetic/bloodin cd bloodin -
Install dependencies
npm install
-
Run in development mode
npm run tauri dev
-
Build for production
npm run tauri build
- Launch Bloodin
- Enter your Jellyfin server details:
- Server URL: Your Jellyfin server address (e.g.,
http://192.168.1.100:8096) - Username: Your Jellyfin username
- Password: Your Jellyfin password
- Server URL: Your Jellyfin server address (e.g.,
- Click "Connect" and start enjoying your music!
- React 18 - Modern React with hooks and TypeScript
- TypeScript - Type-safe JavaScript development
- Tailwind CSS - Utility-first CSS framework
- DaisyUI - Beautiful UI components
- React Router - Client-side routing
- Tabler Icons - Beautiful SVG icons
- Rust - Systems programming language for performance
- Tauri - Desktop app framework
- Rodio with Symphonia - High-quality audio playback and decoding
- Jellyfin API - Music library and streaming integration
bloodin/
βββ src/ # Frontend source code
β βββ components/ # React components
β β βββ TitleBar.tsx # Custom window title bar
β β βββ SearchBar.tsx # Animated search component
β β βββ Sidebar.tsx # Navigation sidebar
β β βββ PlayerBar/ # Music player controls
β β βββ ...
β βββ pages/ # Application pages
β β βββ HomePage.tsx # Main dashboard
β β βββ LoginPage.tsx # Jellyfin connection
β β βββ SongsPage.tsx # Songs browser
β β βββ ...
β βββ hooks/ # Custom React hooks
β βββ contexts/ # React context providers
β βββ services/ # API and service layers
β βββ types/ # TypeScript type definitions
βββ src-tauri/ # Rust backend
β βββ src/ # Rust source code
β βββ tauri.conf.json # Tauri configuration
βββ public/ # Static assets
βββ dist/ # Built application
Bloodin supports all DaisyUI themes, allowing you to customize the interface to your preference.
npm run dev- Start Vite development servernpm run build- Build frontend for productionnpm run preview- Preview production buildnpm run tauri dev- Run Tauri in development modenpm run tauri build- Build Tauri application
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Core UI and Authentication
- Music Library Browsing
- Audio Playback Engine
- Offline Caching
- Better Queue Management (WIP)
- Advanced Search & Filters (WIP)
- Playlist Management (WIP)
This project is licensed under the MIT License - see the LICENSE file for details.
- Jellyfin - The amazing open-source media server
- Tauri - Secure, fast, and lightweight desktop apps
- DaisyUI - Beautiful component library
- Tabler Icons - Gorgeous icon set
Built with β€οΈ for music lovers everywhere