Mobile Development 9 min read

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.

Rare Earth Juejin Tech Community
Rare Earth Juejin Tech Community
Rare Earth Juejin Tech Community
Building a Free Ad‑Free Music Streaming App with Flutter: Motivation, Learning, Design, and Development Experience

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.

DartFlutterMobile DevelopmentMusic AppApp Designjust_audiosqflite
Rare Earth Juejin Tech Community
Written by

Rare Earth Juejin Tech Community

Juejin, a tech community that helps developers grow.

0 followers
Reader feedback

How this landed with the community

login Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.