Irish startup Soundwave, a music discovery app maker, has turned to MongoDB to scale up as its business grows.
Finding out what people are listening to on mobile devices, rather than what they have bought, is at the heart of the Dublin-based company’s activity.
Aidan Sliney, CTO at Soundwave, says the idea for the company came from a time when his fellow founder, Brendan O’Driscoll, was living in Sweden and the two of them were trying to share music.
“It was really hard trying to keep track of what we’d shared,” says Sliney. “There are more and more ways to listen to music these days, and it’s very fragmented sharing that.”
The Soundwave app enables users to instantly share, catalogue and find music. This information is then combined with geo-location data to provide an insight into the music trends of individuals, locations, groups and genres, so you can see what people are listening to in your neighbourhood.
The app was released in 2013, and has had more than 1 million downloads in 190 countries.
The company benefited from three months in an Irish incubator, Launchpad, which is partly funded by the country’s government. “That was a very valuable experience, both in terms of building a minimal viable product and understanding the market,” says Sliney.
Shortly after that, venture capital funding came the company’s way in the form of €1m from Mark Cuban, owner of US basketball team the Dallas Mavericks, and ACT Venture Capital.
More on NoSQL databases at web companies
Soundwave is beginning to build business relationships with firms in the music industry and Sliney says the most important thing is the potential of the information from the app about who is listening to what, where and when.
MongoDB manages and stores this complex data and provides the ability to run analytics to extract patterns for business intelligence, he says.
The app has a geo-location element, which enables you to circle any area on the globe and find out what its users are listening to. This complexity requires a flexible database capable of storing these interactions and of scaling horizontally on demand as traffic and data volumes grow.
David Lynch, lead developer at Soundwave, describes how the original prototype was built on a MySQL database on a small server. “One of the advantages of MongoDB is that it is not constrained when it comes to schema, which can be nice when you are prototyping,” he says.
Lynch says the firm investigated ElasticSearch as a primary data store and concluded that it wasn’t mature enough for its purposes. “We also evaluated Amazon DynamoDB, and thought about CouchDB and Redis,” he added.
“With MongoDB, the tuning was mature on the Java side straight out of the box. And it was nice both for vertical and horizontal scaling, when sharding.” Lynch also says MongoDB consultancy was very important in understanding how to do that, and make it sustainable.
“A core feature of the product is a map search,” he said. “If we had not gone with Mongo, we would have had to build our own.”
Sliney adds: “With only three developers, we have been able to successfully launch the app and a range of subsequent updates using the NoSQL database.
“There was a concern at the beginning about who else was using it. So we did look at Amazon’s product, but Mongo has a head office in Dublin, and we saw from the local user groups that there was a helpful community there.”