How FreeYourMusic Uses MongoDB Realm Sync on AWS to Give Millions of Listeners Control of their Playlists

INDUSTRY

Consumer Products
Consumer Services
Internet-Media-Entertainment-Gaming

PRODUCTS

MongoDB Atlas
MongoDB Realm Sync
Realm Mobile Database

USE CASE

Mobile and Mobile Apps

CUSTOMER SINCE

2020
INTRODUCTION

Freeing millions of listeners’ playlists

The “streaming war” is a sensational title used to describe the ongoing battle between music streaming services like Spotify, Tidal, and Apple Music. For listeners, it means ample services and plans to choose from. Yet, many music fans don’t explore new options – intimidated by the idea of having to recreate their music collections from scratch.

Founders, Mike and Bartosz Hernas, of FreeYourMusic, experienced this first hand when trying to switch from Spotify to Apple Music back in 2015. Moving their 3,000 songs manually would have taken hours. So, being developers, they decided to build a tool to help.

Since then, FreeYourMusic has grown into a global, cross-platform app that has helped 1.5 million people transfer more than 17 million songs. With hundreds of users transferring music every day, FreeYourMusic needs a robust, scalable architecture underpinning its operations.

FreeYourMusic’s app makes transferring playlists between streaming services simple

THE CHALLENGE

Growing popularity forces architecture rethink

From the start, FreeYourMusic’s transfer service was built with simplicity in mind. A user simply needs to download the app, select a playlist source and a destination, and then click “transfer.” With a few clicks, an hours-long process is reduced to minutes.

Under the hood, FreeYourMusic’s team chose to support their service across multiple platforms – iOS, Android, and Desktop. The team built the original version using three separate code bases, limiting the MVP build to basic functionality.

Understandably, the service started growing in popularity soon after launch. And FreeYourMusic quickly saw the limitations of its initial architecture.

Early users reported region-specific bugs and app crashes. A user in Turkey would have trouble transferring from Tidal to Spotify, but that exact transfer would work perfectly in the UK. With no visibility to the client-side view, the team didn’t have the information they needed to quickly address and fix these bugs. And the lack of local persistence meant app data was never saved between sessions. If the user closed out of the app or the transfer failed, the entire process would need to be started again from the very beginning.

On the developer side, each of the three platforms had a different code base. This meant any fix or new feature on one platform would need to be replicated twice more, slowing productivity.

FreeYourMusic needed to rethink its approach to the app’s architecture. “A year ago we started rebuilding the app from scratch with the idea that most of the business logic happens on the user device,” explained Bartosz. “What we really needed was a fully functional local database on the user device with cloud functionality.”

THE SOLUTION

A fully-featured mobile database with cloud capabilities on AWS

With the new vision in mind, FreeYourMusic evaluated the mobile database market for a solution with cross-platform support that included cloud functionality. The team had been early users of the Realm Mobile Database when it first was released and decided to see if it could meet their needs.

“When we saw Realm’s new cloud offering with MongoDB Atlas, it turned out to be the perfect solution for us,” added Mike Hernas. The Realm Mobile Database would provide the cross-platform, local persistence the team needed to move the business logic to the client side. MongoDB Realm Sync offered a seamless edge-to-cloud synchronization service that would provide FreeYourMusic with the visibility needed to continue to optimize client-side apps. And MongoDB Atlas on AWS provided easy access to and aggregation of app data.

“When we saw Realm’s new cloud offering with MongoDB Atlas on AWS, it turned out to be the perfect solution for us.”

Mike Hernas, Co-Founder at FreeYourMusic

“On the client side, we had an efficient and performant database. And the cloud offering allowed us to incorporate automatic backups of user data and the client-side insight we needed to fix bugs fast,” continued Bartosz Hernas. The choice was simple.

In January of 2020, the two-man team started to rewrite the app using the Realm Mobile Database and MongoDB. By April, they had reached feature parity with the previous version.

“We were able to rewrite for three platforms with two developers in four months what had previously taken two years and five developers. We went from zero to hero,” emphasized Mike Hernas.

“We were able to rewrite for three platforms with two developers in four months what had previously taken two years and five developers. We went from zero to hero.”

Mike Hernas, Co-Founder at FreeYourMusic

THE RESULTS

Unlocking the next stage of growth

Users are thrilled with the new application. The app is reliable and provides a connected experience across all platforms. FreeYourMusic’s revenues have doubled and the company is positioned well for continued growth.

And developer productivity has tripled. “Now, when we need to address an issue, we only need to fix it once and all users benefit,” explained Bartosz Hernas. “This means they spend less time fixing bugs and more time building new features for users.”

“Now, when we need to address an issue, we only need to fix it once and all users benefit. This means they spend less time fixing bugs and more time building new features for users.”

Bartosz Hernas, Co-Founder at FreeYourMusic

“Syncing client data to the cloud has allowed us to better understand the user journey. For example, we now have graphs that capture the top target platforms and top source platforms for transfers,” stated Mike Hernas. “By having our data in one MongoDB cluster, combined with MongoDB’s excellent aggregation tools, we can easily identify areas of improvement or new opportunities.”

“Realm and MongoDB Realm Sync work like magic. You don’t need to worry about persistence or synchronization, because it’s all handled for you. It just works,” concluded Bartosz Hernas.

“Realm and MongoDB Realm Sync on AWS work like magic. You don’t need to worry about persistence or synchronization, because it’s all handled for you. It just works.”

Bartosz Hernas, Co-Founder at FreeYourMusic

What will your story be?

MongoDB will help you find the best solution.