The Stream Blog

Case Study – Bandsintown & Stream

Feeds for 25 Million Users

The Customer

Bandsintown simplifies concert discovery by allowing you to track your favorite artists, receive alerts when they are touring near you, keep track of which shows you have RSVP’d to, and share concert details with your friends. Bandsintown was founded in 2004 by Fabrice Sergent, Julien Mitelberg,  Todd Cronin and Phil Sergi. Today it has over 25 million users, a global reach of 120 million music fans and over 230 thousand connected artists. Bandsintown is by far the world’s most popular concert discovery app. Apps are available for both Android and iOS.

Through the use of activity and notification feeds powered by Stream, Bandsintown allows you to easily follow your friends, artists, events, and venues.

image01

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:

Xavier Cany (CTO): “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.”

image03

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:

image02

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.

We asked Xavier about his experience integrating Stream:

Xavier (CTO): “Once we spec'd-out all the different follow connections and verbs that we would be using: the integration was painless.”

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:

Todd Cronin (Founder): “Stoked on what we are doing with @tschellenbach & Stream on @bandsintown. Great product these guys are building. They helped us build something extremely complicated that would have taken too many man hours otherwise.”

The Result

Bandsintown 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:

image00

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. We asked Xavier what upcoming additions are being considered:

Xavier: “We’re currently looking into ranking and personalization for our feed.”

As a closing question we asked Xavier if he has 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.”

Links

Try out Stream's API
Contact Sales