A beautiful, modern desktop music player client for Jellyfin servers built with Tauri, React, and 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