MusicPlayer
A modern, offline-first Android music player focused on privacy, high-quality playback, and intelligent discovery.
Features
- **High-Quality Playback**: Supports MP3, M4A/AAC, and more via Media3/ExoPlayer.
- **Audiophile Ready**: Gapless playback and ReplayGain (track/album) support.
- **Privacy First**: Offline-first design. All data stays on your devices.
- **P2P Sync**: Device-to-device synchronization via QR codes, end-to-end encrypted with AES-256-GCM.
- **Social Sync**: Friends/devices view, presence status, taste sync, and relay-backed group sessions.
- **Smart Discovery**:
- **v1**: Heuristic ranking based on recency, feedback, and skip rates.
- **v2**: Vector-based taste modeling with learned embedding spaces.
- **On-Device ML**: Optional audio embeddings and classification for similarity and mood detection.
- **Battery Efficient**: Heavy processing (ML, ReplayGain scan) can be restricted to charging-only via WorkManager.
Technical Stack
- **Platform**: Android (SDK 30+)
- **UI**: Jetpack Compose
- **Concurrency**: Kotlin Coroutines & Flow
- **Data**: Room, with AES-256-GCM encrypted backup/export-import support
- **Audio**: Media3 / ExoPlayer
- **Network**: WebSockets (relay only) / Direct TCP (LAN sync)
- **Serialization**: CBOR / Protobuf
Architecture
The project follows a modular architecture:
- `app`: Main entry point and orchestration.
- `core`: Shared logic, database, sync engine, and internal utilities.
- `feature`: Individual UI screens and feature-specific logic.
Synchronization Protocol
Syncing is handled peer-to-peer. A WebSocket server acts only as a signaling relay/router; it cannot decrypt traffic. For faster transfers on the same network, the app upgrades to a direct TCP connection. The current app build also includes relay-backed presence updates, friend/device management, and a base group-session flow.
Roadmap
- [x] **v1**: Heuristic ranking, basic playback, QR-pairing.
- [x] **v2**: Vector-based taste modeling, LAN-direct file sync, resumable transfers.
- [ ] **v3**: Advanced group sessions polish, multi-relay support, self-hosted remote archives.
- [ ] **v4**: Continuous on-device ML training and model weights optimization.
License
*Proprietary / Work in Progress*