The client wanted us to develop a music application that would allow users to collaborate and create a song playlist called ‘Baux’. The app would allow users to join other playlists (Bauxes) based on their location as well as transfer audio files to other devices. We had to develop the app to load songs from Apple Music, Spotify and other popular music cloud services so that its potential for user collaboration could be expanded to the maximum.
Challenges We Faced

The biggest challenge of the development process was to facilitate the transfer of audio files via the WiFi hardware of mobile devices. This feature was to be designed to work flawlessly between devices with different operating systems like Android and iOS. Also we had to build a permission-based feature to enable collaboration on playlists. The ISRC implementation process and the real-time updating of playlists were some of the challenges in the development process.
What We Rolled In

Location Based Collaboration
We developed the app to allow users within a proximity of 50 meters to collaborate and create playlists. Every user that was a part of a Baux could add songs to that playlist and contribute to it. The collaborative feature was delivered in two modes – offline and online. With the offline mode, users could connect to the device of a Baux creator by turning on WiFi on their device. The online mode allowed users to choose songs from streaming apps like Spotify, on the host device.
Planning and Implementation of User Experience
We created an easy to use and effective interface to help users to get to grips with the app almost instantly. We leveraged our experience with Java and Swift to build a robust back end that gave users an intuitive and high-performance user experience. We used .NET and SQL databases to optimize the app for consistent performance

Implementation of Real Time playlist Updating
We used the SignalR framework to implement real-time playlist updating and voting, on the app. Users could join in on playlists and add songs in real time in both online and offline mode. The upvote and downvote features guided the Baux to play songs according to the popularity of the song based on user votes.
Here’s What Our Client Had to Say
“This was a brilliant effort from Getsmartcoders. They have managed to successfully deliver all the features that we had requested for, during the requirement analysis stage. The app offers fantastic user engagement and the collaborative feature too works flawlessly”
Technology Stack
Database
Core Data, SQLite, PList, Realm, Userdefaults
Networking
HTTP, Rest API, NSUrlSession, Alamofire
Crash tracking system
Crashlytics, TestFlight, Firebase, HockeyApp, XCode
Social
Facebook SDK, Google SDK
Coding Tools
XCode
Volley
Networking