All Tutorials

How To Build An App Like Uber

We are thrilled to have sponsored Ryan Michael Kay’s latest YouTube video demonstrating how Stream’s Compose UI toolkit can help you build a world-class chat solution and the complete functionality of an app like Uber! Enjoy this follow along style Android tutorial that highlight…

Debugging WebRTC Calls with Google Chrome

WebRTC is an open-source technology that provides real-time communication capabilities for web applications and is designed to work with the latest web technologies. With the help of WebRTC, it is now possible to create high-quality and low-latency video, audio, and data-sharing …

Building a Video Chat App: WebRTC in Jetpack Compose (Part2)

We’ve broken down our WebRTC in Jetpack Compose into a multi-part series, each covering essential concepts of WebRTC and how to use WebRTC in your Android project with Jetpack Compose. In the last post, we covered essential concepts of WebRTC and how to establish a peer-to-peer c…

Getting Started with Auto Moderation

For an organization, it means dedicating lots of time and resources toward detecting and preventing harm from reaching users instead of building your product. For companies like Facebook, this number can be as high as 5% of revenue; for verticals like Marketplaces, it can be up t…

Building a Video Chat App: WebRTC on Android (Part1)

In this article, you’ll learn concepts of WebRTC and how to build an Android video application by breaking down WebRTC in Jetpack Compose. Since the pandemic started, it has had a huge impact on the entertainment industry especially in-home entertainment, such as streaming servic…

How To Build A Facebook Messenger Clone

You’ll need to integrate a chat solution, but how do you build one that encourages modern connection through futuristic features? Stream sponsored Web Dev Simplified YouTube to provide a developer-focused guide on implementing Stream’s React Chat SDK to create a Messenger-style c…

Build a Flutter Social Chat with Stream: Bloc and Domain Driven Design

If you want to build an application with the cross-platform framework Flutter, you are in the right place. After gaining some Flutter experience, you may need to build more complex applications. Generally, If you do not consider UI/UX sections, it’s hard to understand and apply c…

Minimal Node Integration to Get You Started with Stream

Let’s set you up with a minimal integration service written in NodeJS. Note, this implementation should only be used for testing purposes and is intended to get you started. What this sample offers is a very basic login and sign-up endpoint that interacts with the Stream Chat and…

Customizing Stream Chat iOS/Swift App for a Unique Look: A Quick Start Guide

This article demonstrates how to perform basic customizations such as swapping colors, fonts, and icons with assets, color, and typographic styles from your style guide. You can create a free chat trial account to follow along with the tutorial. Resources You can find and downloa…

Building a Google Chrome Extension with Flutter and Stream

This is the first thing one sees on the Flutter website, and rightly so. Apart from the conventional form factors like mobile, tablet, and desktop, Flutter has also been run on gaming consoles, IoT devices and unconventional displays which is a testament to how flexible the frame…

Try out the Stream API with Postman

Postman is a great tool for developing and testing RESTful web-services and APIs. Since its inception, Postman has evolved beyond simply sending HTTP requests into a feature-rich product with support for automated testing and team collaboration. At Stream we use Postman regularly…

Setting up your Chat environment with Stream CLI

Previously, in Get up and Running With Stream Chat, we looked at how to register your organization, and get an API key and secret for your Stream Chat app. Now it’s time to create your first users and channels in this environment. One of the ways of doing that is by using our fri…

The Stream CLI By Example

The Stream CLI is a powerful tool for communicating and debugging your Stream Chat setup with the Stream API. With the Stream CLI, you can quickly work your chat configuration using all of the features that are baked into the Stream Chat Go SDK, including but not limited to modif…

How to Run Stream’s Docs on a Multipass VM

Of course, you can isolate things by running a tool like NVM, RBEnv, or PyEnv. But there is still a risk of doing something to your system that will break things, causing you to spend loads of time fixing your setup for your current main project. But, what if there was a simple a…

Using CallKit: How to Integrate Voice and Video Calling Into iOS Apps

In this tutorial, you will learn to build a sample iOS application demonstrating how to integrate the Apple CallKit framework with iOS apps. You can download the sample app from Github. What is CallKit? CallKit helps developers to integrate and adopt native iOS video and voice ca…

Supercharging Conversations With ChatGPT

As a chat company, we naturally wanted to check out OpenAI’s ChatGPT model (and have a little fun with it!) by trying to have it act as a chatbot in a conversation between friends. Since ChatGPT does not have an official API yet, our work was cut out for us 😅. Understanding the …

7 Android Resources To Level Up As a Developer

The development ecosystem is changing so fast. Every day, new tech stacks and solutions are introduced to the community, and some materials are beneficial and reduce many development resources. To be a better developer, you need to not only make an effort to write good code but a…

Customizing Your Stream Chat Web App With Our New Theming API

Follow this coding tutorial to learn about the new Stream Chat theming API and understand how to customize your Stream chat web app with CSS. Customizing Your Chat Application Creating a chat UI that seamlessly integrates with the rest of your application’s design can elevate you…

Video Streaming Protocols: What Are They & How to Choose The Best One

As consumers cut the cord and opted to stream content from their mobile devices and smart TVs, the market for video streaming platforms exploded. Originally used to broadcast live sports in the ’90s, as video streaming protocol technology developed, Flash and RTMP-based streaming…

WebRTC Tutorials: 36 Essential Learning Resources

This would not have been possible without WebRTC technology. If you’d like to add this engaging feature to your app but aren’t sure where to start, we’ve rounded up our top resources to help you get started. What is WebRTC? Web Real-Time Communications (WebRTC) is an open-source …

Using SwiftUI Views: How To Customize Stream Chat Channel List

Stream’s SwiftUI SDK gives developers a modern way to build beautiful iOS chat messaging apps with stateful components. This tutorial guides you to perform significant customizations for the channel list of Stream Chat SwiftUI apps using views injection. You will discover how to …

6 Jetpack Compose Guidelines to Optimize Your App Performance

Since Google announced Jetpack Compose stable 1.0, many companies are getting started to adopt Jetpack Compose into their projects. According to Google’s What developers are saying, Jetpack Compose increases their productivity and code quality. Jetpack Compose has a dedicated opt…

Build a Real-Time Android WhatsApp Clone With Jetpack Compose

In this article, you will learn how to build your own real-time Android WhatsApp project with Jetpack Compose and Stream’s versatile Compose Chat SDK. Also, you will learn the overall architecture, each layer, and theming that are used in WhatsApp-Clone-Compose project. Before yo…

How to Build a Video Chat App: Types, Cost, & Must-Have Features

Recent advancements in real-time audio and video chat technology have enabled apps to incorporate these elements to become the most convenient connection methods. In this article, we’ll take a 1,000 ft view of the video chat app market and its most popular apps, cover must-have f…

Making a Video Collaboration Platform With Flutter Feed SDK

Some examples of video collaboration platforms are Frame.io, Wipster, or Vimeo. They are extremely useful for video editing teams collaborating on a video project. There are many benefits to using a video collaboration platform, such as: Increased collaboration and productivity I…

Hive AI and Stream Chat Content Moderation Integration Guide

Billions of users access mobile and web applications every day and generate countless hours of content, from live-stream videos to real-time messages and more. For the teams that build and maintain these services, enforcing some level of content moderation is a must. But, how can…

Twitter Clone Part 3: Adding Tweet Reactions and Showing Notifications

In this article, the third part of the Build a Twitter Clone series, you will add support for tweet reactions (likes and comments), threads, and a notifications page. Part 1 focuses on creating the Twitter layout, authenticating users with Stream, adding the create tweet feature,…

Bringing Anmol Verma’s Jetpack Compose Slack Project to Life

Are you a developer working in an organization? If yes, then you’ve probably used Slack before, or at least know what it is. As one of the leading workplace chat apps, millions of teams have adopted Slack and communicate over the platform every day. But have you ever thought abou…

Theming and Customizing Your Stream Chat SwiftUI App: A Quick-Start Guide

This tutorial describes how to perform configuration-based theming and customization of your Stream Chat SwiftUI app. It focuses mainly on the basics of theming the default look and feel of user interface elements. The example and code snippets provided should give you a vivid un…

Twitter Clone Part 2: Creating a Profile Page and Following Users

In this article, in the second part of the Build a Twitter Clone series, you will create a Profile Page for users and add the follow-users feature. Part 1 focuses on creating the Twitter layout, authenticating users with Stream, adding the create tweet feature, and displaying the…

Twitter Clone Part 1: Connecting Users to Stream Feeds and Creating a Tweet

In this article, the first part of the Build a Twitter Clone series, you will be creating a Twitter clone, which connects and authenticates a selected user with your Stream app. For this tutorial, you will make the layout and add support for creating tweets in the clone using Str…

Build a Twitter Clone with Activity Feeds and React

Twitter is a social media application that allows users to create tweets (that supports text, media, polls, etc.), react to tweets, retweet tweets, add comments, get notifications of engagements, and follow other users, to name a few. Twitter works with the idea of activity feeds…

How to Create Custom Reactions in a Compose Chat App

The new v5 Compose Chat SDK provides a ReactionsTypes API that supports more complex reactions, like animated emojis or uploaded images, similar to other social media platforms. Note: The Jetpack Compose UI components are now stable. Check out the full announcement here. You can …

Conversational AI Using Stream Chat, HuggingFace, and DialogGPT

With the rise in popularity of applications like the AI companion Replika or language learning apps that offer a way to talk with an AI to learn a new language, you may be asking yourself, “How can I achieve this in my app?” There are different ways to build an AI bot, and there …

How to Code a Gmail Spaces Clone With React

The Gmail Spaces in-app messaging feature allows Gmail account users to create spaces for long-term conversations between other users. Using Stream Chat and the React SDK from Stream, you will create a clone of this Gmail feature. We will call this stream-spaces 🚀 Application De…

How to Add a Messenger-like Chess Game to Your Flutter Chat App

Chess – a game as old as time – and yet most people disagree whether the king goes on the right or left. Chess has transitioned from the traditional board and made its way to our screens. It makes quite a frequent appearance in chat applications since most people know at least th…

New Serverside Chat Functionality: Unread Message Reminders

Unread Message Reminders allow you to notify users of unread messages via SMS, push notifications, or email while they are offline. As the latest addition to our Stream Chat feature set, Unread Message Reminders are designed for 1-on-1 chat experiences and are available for all c…

Designing a Pixel Perfect iMessage Contacts List in SwiftUI

This tutorial takes you through creating a clone of the iOS Messages application’s contacts list. Designing the contacts list will give you the foundations and basic understanding of compositing interfaces in SwiftUI. A follow-up tutorial and its GitHub repository will show you h…

How to Use Core Spotlight to Improve Your App’s User Experience

To show you how to integrate CoreSpotlight, we’ll build an app that displays a list of countries. When the user selects a country, a few things will happen: Our app will open a new screen with details about the selected country We will index the selection to the Spotlight API Now…

How Our iOS Team Built the SwiftUI SDK Message List

Apart from the rich feature set, chats need to be very responsive in order to update data correctly based on real-time events, especially in larger chats, such as live streams or group messages. In addition to responsiveness, chats must be quite performant in terms of scrolling, …

Code Your Own Instagram Clone With Flutter and Feeds

We will, very creatively, call our clone Stream-agram. You’ll also learn a lot of Flutter concepts to improve animations, gestures, transitions, and state management. The video linked above walks you through this entire blog post, step by step, with additional code instructions. …

How to Build a Multiplayer Tic Tac Toe Game with In-App Chat

The game of tic tac toe has roots dating back to ancient Egypt in 1300 B.C. Here, developer Pedro Machado, owner of the Youtube channel PedroTech, displays a modern take on the beloved game by adding in-game chat using Stream’s Gaming Chat solution. In just under three hours, Mac…

How to Integrate Passwordless Authentication into a React Chat App With Supabase

Authentication is a very important part of any application, so it should be implemented in such a way that it delivers a great user experience while keeping your users’ secrets safe. One solution that works well for users and security is passwordless authentication. What Is Passw…

Beginner Tutorial: Build a Discord-Like Application with notJust.dev

Vadim Savin is the CEO of notJust Development, an excellent online resource for those seeking to learn how to code. In this tutorial for beginners, Savin demonstrates how to build a Discord clone application with fully-featured messaging powered by Stream’s React Native Chat SDK …

Learn How to Bring Your SwiftUI App to Life With Advanced Animations

Part three of this tutorial will guide you through creating a splash screen animation, an onboarding animation for an empty messages screen, turn-taking animations in chat messaging, and animating emojis. You’ll use our iOS Chat SDK sample application to get you up and running. S…

Adding Global Chat To An Unreal Game

You can have a look at the final result of this tutorial in the main branch of the accompanying GitHub repository, and a packaged version of the game with a few additional features in the latest release of the Stream Chat Unreal Plugin. Prerequisites Before you get started, make …

Learn SwiftUI: 24 Essential Tutorials for Beginners

What is SwiftUI? SwiftUI is a user interface toolkit that allows developers to design iOS apps declaratively. With SwiftUI, developers determine what they’d like their user interface to look like and how it should function, and SwiftUI makes it happen as users interact with it. D…

UIKit vs. SwiftUI: How to Choose the Right Framework for Your App

Choosing between UIKit or SwiftUI to be your main implementation framework is a big decision. We will explore some of the characteristics of both frameworks and list their pros and cons. So let’s dive right in and help you determine which approach is best. UIKit vs. SwiftUI: Star…

Prototyping With SwiftUI: Creating Complex Interactions Using Gestures and Modifiers

In part two of this series, you’ll use our iOS Chat SDK sample application to prototype several gestures that you’ll use for refreshing page content, adding seamless swiping and pagination to message lists and photos, revealing in-app actions to messages in message channels, and …

Getting Started with Angular: Top 12 Tutorials for Beginners

Angular is a UI framework for building mobile and desktop web applications. It is built using TypeScript and can support single-developer projects to enterprise-level applications. You can create amazing client-side applications using HTML, CSS, and Typescript using Angular. At S…