The Stream Blog

How a Go Program Compiles down to Machine Code

Here at Stream, we use Go extensively, and it has drastically improved our productivity. We have also found that by using Go, the speed is outstanding and since we started using it, we have implemented mission-critical portions of our stack, such as our in-house storage engine powered by gRPC, Raft, and RocksDB. Today we are […]

Deploying the Winds API to Digital Ocean with Fabric

Winds is a popular RSS and Podcast application provided by Stream – a service that allows you to build news and activity feeds in hours instead of months. Because Stream values collaboration and the opinions of our users, Winds is 100% open-source and the backend is easy to install in a local environment or in […]

Go 1.11 Rocket Tutorial

This tutorial combines two of my favorite things, the Go programming language and images of SpaceX rocket launches. With Go rapidly picking up adoption in the developer community, its becoming one of the leading languages for building backend systems. Go’s performance is similar to Java and C++, yet it’s almost as easy to write as […]

Deploying the Winds App to Amazon S3 and CloudFront

Winds is a popular RSS and Podcast application powered by Stream – a service that allows you to build news and activity feeds in hours instead of months. Winds is 100% open-source and the frontend is easy to install in a local environment or in the cloud – a task that we will cover in […]

Deploying the Winds API to AWS ECS with Docker Compose

Winds is a popular RSS and Podcast application provided by Stream – a service that allows you to build news and activity feeds in hours instead of months. Winds is 100% open-source and the backend is easy to install in a local environment or in the cloud – a task that we will cover in […]

Google Feed Personalization and Recommender Systems

Lately, I’ve been using Google’s feed on Android and it contains several interesting best practices for content discovery. Google’s feed strikes an effective balance between machine learning and follow relationships. With the recent advancements in AI, it can be hard to know when to apply AI and when to use a more manual method. This […]

Using the Stream Real-Time Firehose with AWS SQS, Lambda, and SNS

Stream enables you to listen to fee changes in near real-time using SQS, webhooks or websockets. In this tutorial, we will discuss how to use AWS SQS & Lambda to respond to feed updates. While websockets are the preferred method to listen to changes, SQS notifications have a special spot in the feed infrastructure. Stream […]

The Engine That Powers Winds 🚂

For those of you who don’t know, Winds (the popular open-source RSS and Podcast application) is powered by Stream – a SaaS offering that is specifically dedicated to powering news and activity feeds. If you’d like to get jumpstart your knowledge of feeds, we have an awesome 5-minute tutorial that outlines how to use Stream. […]

Running PM2 & Node.js in Production Environments

At Stream, we build a lot of showcase and example applications to show off the awesome features that our service has to offer. For nearly all of our applications, we host them on an instance – usually DigitalOcean or AWS EC2. While maintaining your codebase and keeping it relevant is difficult, we’ve found that the […]

Winds – An in Depth Tutorial on Making Your First Contribution to Open-Source Software

The team here at Stream enjoys building open-source sample applications to showcase the functionality of our API. Our perspective has always been that it’s better to demonstrate the capabilities of our offerings in a fully functional platform. In this case, leveraging Stream and other great services allowed us to build a podcast and RSS reader, […]

JavaScript: Promises and Why Async/Await Wins the Battle

Asynchronous functions are a good and bad thing in JavaScript. The good side is that asynchronous functions are non-blocking and, therefore, are fast – especially in a Node.js context. The downside is that dealing with asynchronous functions can be cumbersome, as you sometimes have to wait for one function to complete in order to get […]

Simple Steps to Optimize Your App Performance with MongoDB, Redis, and Node.js

First Things First Here at Stream, we power activity feeds for 300+ million end users and love playing around with ways to utilize our product in all sorts of use cases. Most recently, we built Winds, an open-source RSS and Podcast application with a strong focus on UI and UX. Shortly after we launched our […]