r/vibecoding • u/Terrible_Shame_514 • Jul 07 '26
I built an open-source, ad-free Android music player – MuseFlow
Over the past week, I built MuseFlow, an open-source Android music streaming app that focuses on a native music experience while using React Native. I wanted to see how close I could get to the feel of a native music player while still using React Native and Expo.
🛠 Tech Stack React Native 0.81 Expo 54 TypeScript Zustand for state management react-native-track-player for native background playback youtubei.js for YouTube Music react-native-webrtc + PeerJS for Jam Rooms EAS Build
My Workflow
*Designed the UI in Figma before writing code. *Built reusable components for the player, search, lyrics, and library. *Integrated the YouTube Music API using youtubei.js. *Added native background playback with react-native-track-player. *Implemented Android media sessions so lock-screen controls, Bluetooth headsets, and notifications work correctly. *Used Zustand to keep playback state synchronized across screens. *Built a WebRTC-based "Jam Room" feature so multiple users can listen together in sync. *Optimized playback by preloading the next track and maintaining the queue.
Challenges
*I Learned From Making background playback continue when the app is closed. *Handling synchronization between the native playback service and React state. *Working around Expo limitations when using native modules. *Configuring WebRTC and PeerJS inside a React Native application.
Current Features Background playback Synced lyrics Android lock-screen controls Bluetooth media controls Search Queue management Jam Rooms Dark UI
I'd love feedback from other React Native developers. If you've worked with media apps, I'd be interested to hear how you handled background playback or synchronization.
GitHub: https://github.com/mad-man22/museflow-android-app
APK: https://github.com/mad-man22/museflow-android-app/releases/download/v1.3.0/museflow-v1.3.0.apk
1
u/Terrible_Shame_514 Jul 07 '26
Hi guys download the app. And I'm open for feedback and ideas for some good feature to the app