Musings
A minimal, personalized music streaming experience.
Overview
Musings is a custom-built music streaming application inspired by Spotify, designed to deliver a seamless and personalized listening experience. Built with Flutter and powered by Firebase, the app combines clean architecture, BLoC state management, and intuitive UI design to create a smooth and responsive mobile music platform.
Key Features
Secure Firebase Authentication
Implements sign-in and sign-up using Firebase Authentication, ensuring secure and personalized user sessions.
Dynamic Music Library
Fetches and displays songs from Cloud Firestore in a scrollable home feed for effortless browsing.
Favorites Management
Allows users to like songs and manage their personalized favorites collection from their profile.
Responsive Music Player
Built with BLoC-based state management to provide smooth play/pause control and reactive UI updates.
Trending Music Videos
Integrates YouTube API to fetch and display trending music videos within the app.
Clean Architecture + BLoC
Structured using Clean Architecture principles and BLoC for separation of concerns, scalability, and maintainability.
Scalability & Performance
Modular architecture allows easy addition of new features such as playlists and recommendations.
Firebase backend supports real-time updates and scalable cloud storage.
State management via BLoC ensures predictable behavior as the app grows.
Challenges
- • Managing audio playback state consistently across screens.
- • Synchronizing favorite songs between Firestore and UI state.
- • Integrating YouTube API while maintaining clean architecture separation.
Learnings
- • Clean Architecture significantly improves long-term maintainability.
- • BLoC provides powerful control over reactive state in complex flows.
- • Backend structure design is as important as UI polish in real-world apps.
- • Following SDLC phases (Requirement → Design → Development → Testing) improves delivery clarity.