MuseScore

The Customer

MuseScore is the world's leading free and open-source software for writing music, with a user-friendly interface and immensely powerful features. It is free to install on Windows, Mac, and Linux. It allows users to create, play(back) and print sheet music. The software can be downloaded on MuseScore.org and is used to create the scores found on MuseScore.com: the sheet music sharing social platform backed by a strong community of more than 2 million musicians.

The Challenge

The exponential growth of the platform was putting the existing user and sheet music statistics system under great pressure. In addition, the team needed deeper user insights in order to grow more efficiently and meet the future needs of musicians. The architecture of the data capturing and reporting of the platform had to be revised thoroughly.

The Quest

We started our research phase with a comprehensive audit of the current data and analytic tools. Based on these results, we defined and designed a structured and systemized strategy and MVP. After investigating which cloud platform formed the perfect match to this strategy and our needs, we opted for Google Cloud. We developed the architecture based on the Google Cloud unmanaged services, to minimize system maintenance and simplify scaling to a larger number of users or data in the future.

The Result

This fully unmanaged and scalable cloud solution on the Google Cloud platform relieved the pressure off the current platform and provided us with clear user and feature insights. And this was only the beginning of the implementation of our strategy. Now that we’ve set up a scalable data collection system, we can keep gathering deeper insights on users behaviour and preferences. This system will be a key instrument to build a recommender engine in the Google Machine learning platform in a next phase.

Technologies used

  1. Google cloud as our cloud platform provider.
  2. Google App engine for hosting our aggregation and api server.
  3. Google Pub/sub as our event bus.
  4. Apache beam and Google Data flow as our data processor.
  5. Google Bigquery as our main data store and query platform.
  6. Nodejs and Express.js for building our restful api’s and crons.
  7. Google Data studio for building quick dashboards with vanity metrics.