Case Studies

Bandsintown

Learn how the world’s largest concert discovery platform is using Stream to power their feeds and user experience.

The Challenge

In 2015, Bandsintown decided to add a feed to their application. The goal was to provide artists with a new way to reach their fan base. Also, they wanted to bring a social aspect to Bandsintown by connecting users with their friends.

Even though their team has substantial experience with Cassandra they decided not to build an in-house solution, but use a proven service such as Stream. We asked Xavier Cany, the CTO of Bandsintown, why he chose Stream:

“We were looking for a write-based fan-out type of social graph because the messaging aspect (user-to-users) (artist-to-users) was an important part of our specifications. Stream provides easy to use integrations for a lot of different frameworks including ruby.”

Stream has official clients for Ruby, JS, Python, PHP, Go and Java. We also support Django, Rails, Laravel, Node and Meteor framework integrations here. Community clients exist for Scala, .Net and Go.

feeds in use

The Solution

The feeds for Bandsintown’s 25 million strong userbase are powered by Stream. They utilize the flat, aggregated, and notification feed types – all of which are easy to configure from our simple and intuitive dashboard (see above).

When a new concert is announced, Bandsintown wants to share the news to all interested users. They use the add_to_many API endpoint to quickly write an activity to millions of interested users. Concert announcements cause huge fluctuations in traffic. Stream’s API automatically scales up and down to meet this changing workload.

Building a feed without Stream would have taken Bandsintown months, if not longer. Using Stream, they were able to focus on their product and build a scalable solution in days. The founder of Bandsintown, Todd Cronin, shared his thoughts on Product Hunt:

bandsintown testimonial

The Results

Feeds are extremely fast and on average load in 20ms. Integrating Stream was significantly more affordable than building, maintaining and hosting an in-house solution. In addition it brings the added benefits of:

Advanced features such as aggregation help Bandsintown keep the feed relevant even for power users. Stream’s extensive set of features allows Bandsintown to easily adapt to changing product requirements with simple code modifications.

The team at Bandsintown is looking to add several new features to improve the feed experience.

As a closing question we asked if they have any tips for new users of Stream.

Xavier: “I would suggest to really take the time to define all the different aspect of your final product from the start. We choose to delay the launch of aggregated feeds thinking it would be faster to stage it, but we came to regret it.”

Xavier Cany

Chief Technology Officer at Bandsintown