Building a Free Ad‑Free Music Streaming App with Flutter: Motivation, Learning, Design, and Development Experience
This article chronicles the author's journey of creating a free, ad‑free music streaming app with Flutter, covering the initial motivation, learning curve, UI/UX design decisions, core features, chosen libraries, development challenges, and overall experience over two months.
1. Motivation
The author wanted to build a music app without intrusive ads, after being dissatisfied with existing services and discovering a free‑listening app that sourced music from a popular video platform. Legal concerns with existing APIs led to the decision to develop a new app from scratch.
2. Learning Flutter
Because the author was more familiar with web development, they initially considered React Native but ultimately chose Flutter for its UI consistency across platforms and the opportunity to explore a new ecosystem. They spent several days mastering Dart syntax and following authoritative Flutter tutorials.
3. Design
Key challenges involved functional and UI design. The app needed a flexible playback queue, local music import, and the ability to create, edit, and delete playlists (capped at 20). The author leveraged personal design skills and existing app examples to craft the interface.
4. Development Experience with Flutter
Setting up the development environment (JDK, Android Studio) proved time‑consuming, but AI assistance helped resolve many issues. The Flutter ecosystem, while growing, suffers from some abandoned libraries; the author highlighted this with examples like the getx package. Nevertheless, essential libraries such as just_audio , bot_toast , provider , dio , sqflite , event_bus , flutter_easyloading , and audio_metadata_reader were used to implement playback, state management, networking, local storage, and UI feedback.
5. Conclusion
After more than two months of continuous development, the app is near stable, offering free ad‑free music playback, local song import, playlist management, and a playback queue. The author provides download links for the compiled app and the source code on GitHub.
Rare Earth Juejin Tech Community
Juejin, a tech community that helps developers grow.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.