A fast, offline-first music player built on Expo and React Native. Dark UI, native background audio, downloadable tracks, and a persistent favorites library.
Expo SDK 56React NativeTypeScriptexpo-router@rntp/playerZustandTanStack QueryReanimated 4

key features
- Playback Engine: Native background audio via @rntp/player v5 with play/pause, seek, skip, shuffle, repeat modes, and volume
- Queue Management: Add, remove, and drag-to-reorder tracks with react-native-reorderable-list; persistent now-playing queue
- Offline Downloads: Per-song and download-all with live progress (expo-file-system tasks), cancel support, and offline detection via NetInfo
- Favorites Library: Persistent, AsyncStorage-backed store synced with playback
- Catalog Browsing: Songs, artists, and playlists with debounced search, artist/playlist detail screens, and lyrics
- Skeleton Loading: Shimmer skeletons and API-state handling for a clean, fast experience
- Player State Sync: Official @rntp/player hooks with event-driven re-sync on app resume for reliable now-playing state
- Dynamic UI: Reanimated and Gesture Handler driven floating player, blur effects, and a consistent dark theme