All Tutorials

Build a GDPR-Compliant Chat/Messaging App

The General Data Protection Regulation (GDPR) is an EU data protection law (passed into law in 2018) that determines how companies use and protect EU citizens’ data. While you might feel this doesn’t concern you, it very likely does! As long as you have EU residents making use of…

Deploy a React Chat App to Heroku

In this article, we will be creating a chat application using React and Stream Chat. The app will feature an authorization page for login/signup, followed by a chat view that allows for communication between several authorized users. After creating the chat application, we will d…

Series: Building a Social Network with Flask & Stream – Part 11

This segment is the eleventh installment of a tutorial series focused on how to create a full-stack application using Flask and Stream. In this article, we walk through setting up our web app for deployment using Zappa and AWS Lambda. Be sure to check out the Github repo to follo…

Add In-App Messaging to Your Mobile App – React Native / Expo

Stream’s Messaging API allows you to build real-time chat applications that are scalable, fault-tolerant, secure, and fast, so you don’t have to re-invent the wheel by starting from scratch. You’ll take less time to create a robust app (like days to create a real-time chat applic…

Activity Feed Powered by GitHub WebHooks

An activity feed is a list of recent actions happening in realtime. In this article, we’ll build a simple feed app powered by GitHub WebHooks and Stream Feeds in JavaScript. The app will track the activities of your GitHub organization or personal repositories. So, we’ll see what…

Build a One-to-One Chat App with JavaScript

More and more applications are seeing the value in allowing users to communicate in real-time, either with one another or with their support team. Adding this feature to existing applications, or even new ones, however, can seem like a giant, time-consuming undertaking. To help m…

Series: Building a Social Network with Flask & Stream – Part 10

This segment is the tenth installment of a tutorial series focused on how to create a full-stack application using Flask and Stream. In this article, we are going to start styling our app and adding cool new features like notification counts and link previews. Be sure to check ou…

Android Chat Bubbles: Building iOS Style Chat in Android

In this post, we’ll explore how to do two things: 1) create live chat message bubbles in Android that are similar to WhatsApp and iMessage and 2) customize Stream Chat’s UI Components. We’ll customize Stream Chat Android’s built-in UI components by plugging in a custom message vi…

The Stream CLI By Example

The Stream CLI is a powerful tool for communicating and debugging your Stream Chat setup with the Stream API. At this time, Stream Chat is only supported; however, Stream Feed support will come to the CLI later this year. With the Stream CLI, you can quickly work your chat config…

Build a Terminal Chat Application With Node.js

Let’s create a functional chat interface right in the terminal with Node.js! Although building a chat app is no small task, with the help of Stream’s fully featured Chat API, it’ll only take a few lines of code, as you’ll see. Here’s a demo of what the final application will look…

Series: Building a Social Network with Flask & Stream – Part 9

This post is the ninth installment of a tutorial series focused on how to set up a full-stack application using Flask and Stream. This week, we’re going to be creating everything we need to make immersive social experiences for our app using follow relationships! Follow relations…

Customer Support Live Chat with VanillaJS and Stream Chat

How much do you love when you can just jump on a company’s website and chat with one of their representatives to take care of your business; no picking up the phone, no waiting days for an email back?? Customer Support Live Chat is a critical tool for every forward-thinking busin…

Stream Flutter: Building a Social Network with Flutter (Series)

In this post, we’ll be creating a simple social network, called Stream Flutter, that allows a user to post messages to followers. The app will allow a user to post a message to their followers and chat with them. Stream’s Activity Feed API and Chat API combined with Google’s Flut…

Stream Flutter: Building a Social Network with Flutter – Activity Feeds

In this post, we’ll be creating a simple social network, called Stream Flutter, that allows a user to post messages to followers. The app will allow a user to post a message to their followers. Stream’s Activity Feed API combined with Google’s Flutter makes it straightforward to …

Stream Flutter: Building a Social Network with Flutter – Direct Messaging

In the second part of our series, we’ll implement direct messaging between users by integrating the Stream Messaging Platform. This post assumes you’ve followed along with part 1. Leveraging our code from part 1, we’ll modify the backend to generate a Stream Chat frontend token s…

Stream Flutter: Building a Social Network with Flutter – Group Channels

In the third part of our series, we’re building group chat into our social application. This allows users to chat with multiple people at the same time. We leverage Stream Chat to do the heavy lifting. This post assumes you’ve gone through part 1 and part 2. Using our code from p…

How to Create a Chat App with Angular 9

In this tutorial, I’ll take you through building a live chat application with Angular 9 and Stream Chat. I’ll demonstrate how to work with channels and how to send messages in real-time between users. In addition, you’ll see how to keep track of the number of channels that a user…

Series: Building a Social Network with Flask & Stream – Part 8

This is the eighth installment of a tutorial series focused on how to create a full-stack application using Flask and Stream. In this article, we will be walking through how to retrieve information from the Stream API client-side using Javascript to make an infinite scroll featur…

Build a Chat Messaging Platform in PHP

Building a fully functional and scalable chat platform is time-consuming. Luckily, Stream can help you build one in minutes! In this tutorial, we are going to use the Stream API to build a chat messaging platform in PHP. Prerequisites To follow along with this tutorial, you need …

Series: Building a Social Network with Flask & Stream – Part 7

This is the seventh installment of a tutorial series focused on how to create a full-stack application using Flask and Stream. In this article, we will continue to explore creating, updating, and deleting activities by adding content to collections, a group of URLs with available…

Ephemeral Chat Messages

One increasingly common feature in chat apps is the ability to send self-destructing messages, also known as "ephemeral" messages. When this feature is enabled, the messaging system automatically erases the content minutes or seconds after the message is sent. This deletion is ef…

Build a Mobile Twitch Clone

People long for connection, and technology has allowed us to connect with those who aren’t physically near in increasingly many ways over the last few decades. With applications like text messaging, and then group messaging, with our music, photos and movies moving to the cloud, …

How to Display Web Chat Notifications

In any chat application, one of the most integral features is being able to notify users of new messages. While providing this feature comes with its own set of challenges (listeners, timing, notification types, keeping track of which messages are read, etc.), notifying users of …

Series: Building a Social Network with Flask & Stream – Part 6

This is the sixth installment of a tutorial series focusing on how to create a full-stack application using Flask and Stream. In this post, we will be exploring how to create, update, and delete activities on Stream, as well as enrichment of feed activities. We are going to dive …

Building an Ionic Real-Time Chat App

Update: Here is an excellent post on the vision for 2020’s tech trends in cloud computing between the CEO of Ionic, Max Lynch, and CEO of Stream, Thierry Schellenbach. There is a massive difference between platforms such as React Native and Flutter compared to Ionic. Ionic believ…

Implement Stream Chat with Vanilla JS

In this post, we are going to implement a simple Group Chat application with Vanilla Javascript and Stream Chat! Stream Chat allows you to rapidly ship real-time messaging systems that are reliable and robust, without the overhead cost and time of managing the infrastructure by y…

Deploying a Node API to Docker & Kubernetes with a CRA Frontend

Creating an application is a lot of work! Deploying your application shouldn’t be. Every developer has said at one time or another, "it works locally, but I can’t get it to work on the server!"; it can take you hours, or even days, to figure out what went wrong and to put a fix i…

Series: Building a Social Network with Flask & Stream – Part 5

This is the fifth installment of a tutorial series focusing on how to create a full-stack application using Flask and Stream. In this article will go through setting up a customizable user profile page and an introduction to adding content in Stream, we’ll even toss in a brief se…

Send Chat Transcripts with Mailgun

Getting Started In any business interaction, it is vital to hold on to records of how you got to where you are. Not only can being able to reference previous transactions and interactions teach you about what you’ve done, it can help you make informed decisions about what you are…

Series: Building a Social Network with Flask & Stream – Part 4

This is the fourth installment of a tutorial series focusing on how to create a full-stack application using Flask and Stream. This is the second part of the User and Permissions set up. This article is going to cover setting up the views and forms to allow users to register, log…

Build a WhatsApp Clone on Android With Kotlin – Part 1

Android development has come a long way over the last few years. The Jetpack components significantly speed up development. In this tutorial, we’ll build a functional clone of WhatsApp with Kotlin. Building a messaging app used to be difficult; in this tutorial, you’ll get a chat…

Build a Chat App With Ionic 4

Ionic is an open-source framework that allows you to build and deploy apps that work across multiple platforms, such as iOS, Android, desktop, and the web as a Progressive Web App – all with the same code base. At first, Ionic was built to work with Angular, but with the release …

Series: Building a Social Network with Flask & Stream – Part 3

This is the third installment of a tutorial series focusing on how to create a full-stack application using Flask and Stream. Originally, this article was going to cover the creation of the initial database models for your app, as well as handling registration/login and other con…

Series: Building a Social Network with Flask & Stream – Part 2

This is the second installment of a tutorial series focusing on how to create a full-stack application using Flask and Stream. This week we’re going to start digging into the actual construction of our app. In this article, I am going to guide you through setting up the initial f…

Series: Building a Social Network with Flask & Stream – Part 1

For the last little while, I’ve wanted to develop a new kind of social media site. Between the privacy issues, relentless ads, and the pervasiveness of bots on almost every service, I wanted to build something that would allow people to have a new source to discover the newest an…

Processing Webhooks with Stream Chat, Lambda, and Node.js

In this tutorial, we will show you how to process webhooks to send a message to a Slack channel! Here at Stream, we are big fans of Chat. With our chat product, we offer a webhook so that you can relay data to an endpoint of your choice. Webhooks are an excellent way to make

Build a Chat App with Stream & Kong

Managing microservices manually can get very complicated and takes the focus away from business logic. API gateways help take care of the various collective management and housekeeping tasks necessary for running microservices. One of the most popular API gateways is Kong. As the…

How to Efficiently Use Webhooks and Stream Chat

Unlike an API request that’s triggered when a request is sent, a webhook gets triggered when certain events occur within the cycle of an application. For example, when a new message is added on Stream Chat, the message.new event sends a payload to the webhook endpoint containing …

Deploying Stream Chat (React) to Netlify and Heroku

This article describes how you can build and deploy a React Chat application powered by Stream’s Chat API to Netlify and Heroku. In this case, the React app will be deployed on Netlify, while the accompanying Node server will be deployed to Heroku. At the end of this article, you…

Build a Customer Support Chat Bot with LUIS, React Hooks, Azure Serverless and Stream

Initial Thoughts This tutorial will teach you how to build your own customer-support chat experience and create a serverless chatbot! The end result will look much like this: The customer-facing chat experience is shown on the left, and the screen on the right shows the interface…

Integrating the Web Notifications API With Stream Chat

Many applications today inform users about important messages related to their application by sending notifications – this can be via push or web. With a web notification, a user can click on the notification and instantly get back to the application to further act on that piece …

Deploy a Stream Chat API With ZEIT Now

Stream Chat provides a JS Chat SDK that you can use to build custom messaging solutions for your application. Requests from the SDK are authorized via an access token provided by a backend API. Due to the restriction of having to generate a JWT token on the backend, you will need…

Implementing React Hooks with Stream Chat

React hooks, released in February 2019, have huge benefits when implemented in your application. Whether you’ve used hooks before or are just learning, this post aims to show you just how simple it is to implement them with Stream Chat. The Basics Using hooks with Stream Chat is …

Open Source REST API for Chat with Express, MongoDB, and Heroku

Overview Here at Stream, we’re known for our Feeds as a Service as well as our Chat as a Service product. Stream Chat was released out of beta late last year, and we’ve been receiving quite a few inquiries on how to structure a RESTful API to support the backend portion of chat. …

Securing a Chat App With React and Auth0

In this tutorial, we will build a chat application that’ll allow users to participate in a group discussion similar to how channels work in Slack. We’ll handle user authentication, and management using Auth0’s Authentication-as-a-Service solution that allows developers to add aut…

React: Conversational UI Chatbots

Conversational UI is a user interface that emulates a human to human conversation, while in reality, the human is interacting with a computer program. We’ve often seen this with the use of chatbots and voice assistants. Conversational UI that involves speaking allows you to inter…

Stream Flutter: Building a Social Network with Stream Activity Feeds and Flutter

In this post, we’ll be creating a simple social network, called Stream Flutter, that allows a user to post messages to followers. The app will allow a user to post a message to their followers. Stream’s Activity Feed API combined with Google’s Flutter makes it straightforward to …

Adding User Interactivity to a Chatroom with Laravel, Vue.js and Stream Chat

In my last tutorial here, we created a chatroom application using Laravel, Vue.js, and Stream Chat. Although we only covered the basics of getting our chatroom up and running, Stream Chat offers a lot of other functionality. In this tutorial, we will explore some of those functio…

Building Real-Time Live-Stream Chat With Wowza

Wowza provides users with the ability to stream live video. Trusted by over 24,000 organizations to power video streaming, they offer an extremely flexible platform that’s easy to use for even the most novice streamer. My team at Stream specializes in real-time feeds and chat tec…

Building an Encrypted, HIPAA Compliant Chatbot

As healthcare technology advances, secure real-time communication is becoming increasingly crucial to any modern medical application. It’s essential to provide the technology experiences customers expect while protecting their privacy and data, like through HIPAA compliant chat. …