The Stream Blog

In Depth Guide on Building a REST API with Node.js, Restify & MongoDB

Update for August 2017: This guide has been updated for Restify 5 and Mongo 3.4 with modern Javascript practices. Clone the Github repository to get the full working project. Choosing the Technology With the multitude of JavaScript frameworks and databases available nowadays, there are countless options for building APIs. For this guide, we’re working with […]

Android example Photo Sharing app

Introduction We’re covering some “best practice” examples of how to set up a mobile application powered with Stream APIs. We’re happy to announce that after several weeks of development and testing that we have an Android example to share. As with all of our example code, the project is open sourced and available on GitHub. […]

Best Practices for Instagram-style Feeds

Introduction As part of our “best practices” series, we wanted to describe our best practices for setting up feeds for a simple photo sharing application. These feeds allow users to upload photos, follow other users, like photos, and see notification and aggregated feeds. Of course, how you use Stream depends greatly on the kind of […]

Example Go service for a Photo-Sharing App

Introduction Many customers have asked our team to provide a “best practices” example of how we’d like to see a mobile application developed to utilize the power of Stream APIs. Since a mobile app would also need a backend API service with which to communicate, we also needed to develop a server-side application which we […]

Imgix Review – Image Processing as a Service Reviewed

Today we’re reviewing Imgix. This blog post is part of our review series where we uncover best-of-class SaaS solutions for developers. Reviewing other API services helps us come up with ideas for improving Stream, our API for building scalable and personalized feeds. You can try an interactive tutorial of Stream here. Approximately 60%+ of the […]

Personalization & Machine Learning for News Feeds and Social Networks

Winds is an open source RSS reader powered by React, Redux, Sails and Stream. This tutorial explains how we’ve built personalization for Winds, as an example of how using Stream makes it easy to build personalized feeds. About Personalization Personalization is a very broad concept. In this case, personalization equates to leveraging engagement data to […]

Aggregated Feeds – Demystified

Our team has been hard at work to make aggregated feeds easier to use. This blog post will dive into more detail and help you get your aggregated feeds up and running. If you’re looking for something more interactive, also check out this 5 minute interactive tutorial. When to Use Aggregated Feeds You should use […]

Go client library for Feeds and Activities (beta)

Introduction Open-source development has played a big part in our company history, so it is with great pleasure that we announce an official Go client library for GetStream.io. Two community-led projects were adapted to produce this library. We are releasing this library as version 0.9.0, and flagging it as a beta version. Improved feature functionality […]

The Stream Firehose with SQS, Lambda, and Redis

Introduction As of late August, 2016, Stream has officially opened a Firehose to its real-time platform, allowing users to listen to all feed changes via Amazon SQS or webhooks. The Firehose is an addition to the existing websocket framework and was put in place to allow for speed improvements in applications where real-time aspects were […]

An Introduction to Contextual Bandits

In this post I discuss the Multi Armed Bandit problem and its applications to feed personalization. First, I will use a simple synthetic example to visualize arm selection in with bandit algorithms, I also evaluate the performance of some of the best known algorithms on a dataset for musical genre recommendations. What is a Multi-Armed Bandit? Imagine […]

The Activity Streams and Personalization of Google Music

When products are built around feeds, the general goal is to provide users with functionality to share their thoughts, follow their interests and respond to content. With this functionality being user-centric, we wanted to offer some suggestions on the best practices for newsfeeds on iOS and Android. When Google released Material Design, it became clear […]

How to Setup a Highly Available Multi-AZ Cassandra Cluster on AWS EC2

Originally built by Facebook in 2009, Apache Cassandra is a free and open-source distributed database designed to handle large amounts of data across a large number of servers. Cassandra at Stream At Stream, we use Cassandra as the primary data store for our feeds. Cassandra stands out because it’s able to: Shard data automatically Handle […]