Main page (recent contacts)
Messages screen within the app
Browser UI for maximum compatibility
My friends and I share music all the time and were noticing inefficiencies in the process (as we all use different music provider apps), so I wanted to improve upon this and develop a dedicated space just for sharing and discussing music.
What it does
Qlink Music allows you to quickly link music so that your friends can open it and actually listen to the songs you share and recommend. This apps lets you share music directly from your music app of choice and converts the app-specific link (such as a Spotify link) into a generic link which allows your friend to easily open the song in their music app (such as Apple Music), which can be completely different from yours. It allows sharing this link within the app as well as in some other messaging platform. Additionally, it provides 30-second samples to get a feel of the song before listening to it fully.
How I built it
I used Flutter for the main app with Firebase and Google Cloud as backend. I used first party APIs (such as Spotify) as well as third party APIs (such as Songlink) for converting and fetching links and song information and connected them all together.
Challenges I ran into
- All my teammates dropped.
- I didn't have an Apple developer account so I couldn't connect to the Apple Music API at first.
- Flutter and Firebase (both being beta products) had a lot of bugs.
- Trouble with enabling CORS.
Accomplishments that I'm proud of
It works for the most part, despite having such huge setbacks. And it's serverless! Really proud of the fact that the browser UI eliminates the need for the recipient to have the mobile app. Although the browser UI is basically a wrapper for Songlink with added functionality, it can be used standalone by doing a GET request to
https://qlinkmusic.com/?url=<your_url> where you can plug in your url from any music app. The highlight of this app though, is that it allows sharing directly from your music app, maximizing efficiency.
What I learned
I learned a lot about the good and bad parts of the Flutter/Firebase stack. I also learned how to effectively interact with APIs.
What's next for Qlink Music
Expand the Qlink brand, and publish to app stores.