Tutorials: Chat

Encrypted Chat on iOS (Swift)

In this tutorial, we’ll build encrypted chat on iOS using Swift. We’ll combine Stream Chat and Virgil Security. Both Stream Chat and Virgil make it easy to create a solution with high security with all the features you expect. These two services allow developers to integrate chat…

Build a Livestream Video & Chat App for Android

As we seek to still connect with friends and family while we all #stayhome, Live Streaming and Video Conferencing have become insanely popular. These technologies have always been great tools for connecting with coworkers and loved ones who are not located nearby; however, we are…

Creating a Realtime Chat Application with Django and Angular

In this tutorial, we will go through the process of creating a realtime messaging application using Django and Angular. We’ll build a custom chat interface and then use Stream’s client to allow realtime messaging in our application. The gif below shows how the final application w…

Building a Social Network with SwiftUI – Part 3 (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…

Building a Social Network with SwiftUI – Part 2 (Direct Messaging)

In the second part of our series, we’ll implement direct messaging between users by integrating Stream Chat. 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 so our mobile appli…

Building a Social Network with SwiftUI – Part 1 (Activity Feeds)

In this post, we’ll be creating a simple social network with SwiftUI, 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 view updates from people they follow. Stream’s Activity Feed API, comb…

Building a Social Network with SwiftUI – 3 Part Series

In this series of tutorials, we’ll create a simple social network, called The Stream, that allows a user to post messages to followers, chat either 1-on-1 or in groups. Stream’s Activity Feed API and Chat API, combined with Swift, makes it straightforward to build this sort of co…

Implement “Sign in with Apple” on React Native iOS Chat App

"Social logins" are a very popular alternative to creating a login and password for a website or application that is new to a user. With "social login", a user makes use of an existing account, like Google or Facebook, to sign up for or log in to another application. This means u…

Adding Sign in with Apple to your iOS App

Since April 2020, all apps that use a third-party or social login service are required to offer Sign in with Apple if they want to be accepted in the App Store. In a previous tutorial, we walked through the process of building a simple clone of Apple’s iMessage. In this tutorial,…

Invite Only Chat with Laravel and Vue

Group chat can get a bit messy, especially if it’s public and anyone can join. Making a group chat invite-only can help manage the content of the group and the sanity of those in it, in addition to preventing spam users and bots. In this tutorial, we’ll be building an invite-only…

Android Live Chat with React Native and PHP

Messaging apps are becoming more and more popular as a means through which to connect with friends and family. They’re convenient and provide an easy and affordable means of communication. A recent study by Statista revealed that the current number of smartphone users in the worl…

One-On-One Chat With Ruby on Rails and React Native

One of the fastest ways to build applications has always been Ruby on Rails. Ruby on Rails is a feature-packed web development framework that makes it easy for novices and experts alike to easily stand up an application. When you want to add chat to your application, using Stream…

Translate Chat Messages in Real Time with Amazon Translate

Language barriers can hinder growth and build a wall between your business and its potential customers, ultimately limiting your market and costing you money. If a customer reaches out to you by chat in German or Spanish, but you don’t understand the language, wouldn’t it be nice…

Building a Messaging App with Flutter

Flutter is the latest cross-platform UI toolkit (provided by Google) for building Android, iOS, and even desktop apps that is gaining popularity amongst developers. Stream Chat, on the other hand, is an enterprise-grade chat solution that offers extensive APIs and SDKs to power c…

Build a Customer Support Live Chat App With Laravel and React Hooks

Customer support live chat is an incredible tool for collecting valuable feedback from your customers and increasing your website engagement rate. With that said, it can take weeks or even months to build a functional, scalable, reliable real-time chat application. Luckily, Strea…

Building a Chat Server with Go: Make a Chat App

Are you thinking of building a chat application in Go? You’ve come to the right place! This post will walk you through everything you need to know to make a chat app with the Stream Chat API and will show a working example server that ties all the concepts discussed in this tutor…

Building Chatbots with Android and Dialogflow

Interest in and application of artificial intelligence and machine learning have been rapidly rising in the last few years. One of the most popular ways in which this interest has manifested is a rise in the use of chatbots. Especially in years past, communicating with a chatbot …

Tutorial: How to Build a Slack Clone with React Native – Part 1

React Native has a significant footprint in the mobile development world. And with every new release, it gets better and better in terms of development speed and performance. Building a chat application used to be a massive chunk of work, but with the power of react-native and St…

Build an iMessage Clone with Stream’s iOS SDK

In this tutorial, we’ll build a functional clone of iMessage using Stream Chat iOS SDK. Building a messaging app used to be difficult; but in this tutorial, you’ll get a chat experience up and running in roughly 20 minutes! If you get lost during this tutorial, you can check: The…

Build and Deploy a Mobile Messaging App with Cordova and Android

Apache Cordova is an application development framework that allows you to develop cross-platform apps using web technologies such as HTML, CSS, and JavaScript. Its main advantage over traditional app development workflows is that it allows for the use of a single codebase for And…

Add Messaging Functionality to Your Laravel App

Add Messaging Functionality to Your Laravel App If you are building an app with Laravel and want to add a social aspect, such as chat, Stream Chat provides exactly what you need. In this tutorial, we’ll do a deep dive into how to use Stream to add a messaging feature to your Lara…

Migrate from Pusher Chatkit to Stream Chat

As previously mentioned in a blog post by Stream, Pusher recently announced its intention to shut down their real-time messaging service, Chatkit, effective April 23rd, 2020, to narrow its product focus to Channels and Beams. Although Pusher Chatkit fulfilled the basic premise of…

Real-Time Messaging App with Node

This tutorial will take you through how to create a live chat app that responds in real-time, with the help of Dialogflow and Stream’s Messaging Platform. We’ll be making a chatbot that interprets the intent of a user’s input using Natural Language Processing (NLP) and responds a…

Build an Encrypted Messaging App for Android

In this tutorial, we’ll build an encrypted chat/messaging example app for Android. To do this, we will combine the Stream Chat Platform and Virgil Security. Stream and Virgil make it easy to build a solution with excellent security by combining all of the features you would expec…

Text-to-Speech Messaging App with AWS Polly

In this article, we’ll take a look at how to make chat applications more accessible to visually impaired users by adding text-to-speech functionality, which makes it possible for these users to have incoming messages read to them in realtime. We’ll be leveraging AWS Polly’s natur…

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…

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…

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…

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…

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 – 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…

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 …

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 …

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…

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…

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