Tutorials (3)

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 for showing timeline tweets and notifications. Using Stream Feeds and
Read more ->
2 min read

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 try out the new SDK in the Jetpack Compose Chat Tutorial.
Read more ->
7 min read

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 are
Read more ->
6 min read

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 Demo There are many complex and straightforward features in Gmail spaces,
Read more ->
50 min read

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 the basics of
Read more ->
9 min read

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 channel types. If you were to build this on your
Read more ->
5 min read

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 how to implement the list interface created in this tutorial using the Stream
Read more ->
10 min read

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, when the user enters
Read more ->
8 min read

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, memory usage, and performance in general. These were challenges
Read more ->
7 min read

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. If you get stuck, or if you prefer to learn through video, then
Read more ->
66 min read

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, Machado demonstrates how to create a digital
Read more ->
0 min read

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 Passwordless Authentication? Like it sounds, passwordless authentication is a means
Read more ->
27 min read

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 with a customized UI to match Discord’s look and feel. Follow
Read more ->
0 min read

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. Since this is the final installment of our prototyping in SwiftUI
Read more ->
11 min read

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 sure you've installed the most recent
Read more ->
6 min read

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. Declarative Swift syntax is easy for developers to read and
Read more ->
4 min read

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: Starting a New Project Today is the day.
Read more ->
9 min read

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 more. You’ll also apply modifiers to these gestures so you can
Read more ->
7 min read

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 Stream, we use it to build chat applications and more. Interested in joining the ranks of
Read more ->
5 min read

Creating Animated Message Reactions and Interactions Using SwiftUI

Animated message reactions, like the ones found in iMessage, offer you a way to quickly respond and add your sentiment to a single chat message. In this tutorial, we will focus on making animated message reactions more lively by adding animations to the reaction icons and their container. We will go through the process step
Read more ->
4 min read

Customizing the Compose Chat SDK with ChatTheme

To get started, you'll learn how to customize the chat features you build with Stream's Compose Chat SDK. Specifically, you'll work with Stream's Compose ChatTheme component to define these features so that your app truly looks and feels the way you want it to. You can find all the code in this article on GitHub.
Read more ->
5 min read

Using Webhooks to Integrate Google Calendar and React

Many chat apps today implement /slash commands for their end-users. When done right, these commands can be both practical and engaging, serving a variety of use cases. For this tutorial, you’ll create a custom /gcal command that will populate your app's chat channel with your upcoming Google Calendar events and call it with a webhook
Read more ->
21 min read

Prototyping Stream's iOS Chat SDK Using SwiftUI - Part 1

This tutorial will focus on designing the elements that make up the ChannelListView and ChatsView components. In parts two and three, you’ll build on these components by adding interactions and animations, creating a more seamless chat experience. Resources You can download the Xcode project containing the SwiftUI source code from GitHub to follow along. The
Read more ->
4 min read

Building an Avengers Chat Application - Part 2

Before you dive in, make sure you’ve read Building an Avengers Chat Application for Android (Part 1), where we cover foundational concepts like the app’s architecture, Gradle setup, integrating Stream, and more. Once you’ve caught up, you can dive into part two, where you’ll learn to further customize your chat app and add more complex
Read more ->
6 min read

Adventures in Tracking Upload Progress With OkHttp and Retrofit

Our original implementation to track file upload progress worked, but it had some in-code usability and UX issues that we wanted to clean up. The following account gives an up-close look into the process we had, the problems we encountered, and what we did to improve. Warning: As this is a story of mistakes we
Read more ->
8 min read

Building Custom Message List Items With Compose

The Stream Chat SDK for Jetpack Compose makes extensive use of slot APIs, which allow you to provide pieces of Composable layout that you can then use within one of the chat components provided by the SDK. For this post, you'll use the MessageList component and its itemContentparameter to completely change how message items are
Read more ->
5 min read

Stream Authentication Using Flutter, Firebase, and Cloud Functions

Authentication is a basic necessity when building a messaging app with Stream. It helps secure the messaging environment and also provides a customized experience on a per-user basis. Stream uses JWT (JSON Web Tokens) to authenticate users. Generally, to generate and provide these authentication tokens to your app, you need to maintain a backend server.
Read more ->
15 min read

How to Avoid Multiple WebSocket Connections in a React Chat App

WebSockets are at the core of every chat app. At Stream, whenever you connect a user to a channel, you create a WebSocket connection. That means for every connected user, there’s at least one connection open. But, did you know it’s possible for a single user to connect multiple times? This is what we refer
Read more ->
5 min read

Building and Deploying a Dart Web Server

The Problem Recently, as a result of Stream's work on the stream_feed_flutter sample application, it became problematic to not have some kind of "mock” authentication system in place to better test the application. After all, what good is a social feed if there's only one person in it? The stream_feed Dart package (upon which stream_feed_flutter
Read more ->
4 min read

Switching from Interaction Design Tools to SwiftUI

When designing and prototyping touch interactions for iOS devices, designers typically rely on interaction design tools such as Framer, Origami Studio, Adobe XD, Figma, InVision, Flinto, Principle, and ProtoPie. While there is nothing wrong with these design tools, they create an extra step for developers who must translate animations and interactions built with these tools
Read more ->
7 min read

Building an Avengers Chat Application for Android (part 1)

To get started, you’ll learn how to build an Android Avengers messaging application using Kotlin, Coroutines, and Jetpack libraries like Hilt, Room, and Databinding. The app will also implement a model-view-viewmodel (MVVM) architectural pattern. After reading this article, you will learn the entire architecture of this application, and how to build out the messaging features
Read more ->
10 min read

How This Developer Built a Messaging App in Just 2 Hours

Building a chat app from scratch can be a difficult, frustrating process that can take months — and that’s just for a bare-bones messaging application with none of the engaging features today’s savvy app users expect. But with Stream’s Chat API, coding doesn’t have to be a huge headache. Stream challenged developer Vadim Savin, CEO
Read more ->
1 min read

Sending Custom Chat Attachments With Jetpack Compose

Specifically, this tutorial will cover: What an AttachmentFactory is Creating a custom AttachmentFactory Customizing Stream Compose UI Components Sending custom files as attachments Adding previews for your custom attachment Note: Stream recently announced their Jetpack Compose UI components, which are currently in beta. This follows the announcement of the stable version of Jetpack Compose. You
Read more ->
9 min read

Building a Chat App With ChatKit for Android

Did you know you can integrate Stream’s Android SDK with other open-source libraries? To show you just how easy it is, in this tutorial you’ll leverage data from Stream’s Chat API to power the messaging UI from ChatKit. Specifically, this tutorial will cover: Stream Setup Implementing the ChatKit Interfaces Building the Channels Screen Building the
Read more ->
9 min read

Instantly Send Audio Messages With Stream Chat and Flutter

Many chat applications today allow users to send voice notes as messages. In this tutorial, you’ll learn how to send voice notes, or audio attachments, in your Stream Chat Flutter app. By the end, your app will feature a chat experience similar to the shown here. This tutorial will cover the following sections in detail:
Read more ->
12 min read

Build a Medical Pager Messaging App

Building a chat app that is both feature-rich and scalable can be difficult and time-consuming. But in just under four hours, this YouTube video by JavaScript Mastery demonstrates how to build and deploy a telemedicine chat app designed for a medical or hospital setting using the Stream Chat API. We love this tutorial because it
Read more ->
0 min read

Jetpack Compose vs. XML-based UI Components for Stream Chat

Stream now offers two separate Android UI implementations that you can use to integrate Stream’s Chat API with your app: Compose UI Components (preferable if you’re using Jetpack Compose) UI Components (preferable if you’re building XML layouts) In almost all cases, you should use the library that’s native to the rest of your app’s UI.
Read more ->
3 min read

Crash Course: Learn the Basics of TypeScript

Whether you are a veteran developer seeking to shore up your Typescript skills or a new coder who is interested in getting an introduction to TypeScript, Stream is proud to sponsor Traversy Media’s recent tutorial, “TypeScript Crash Course 2021.” We’re excited about this video for several reasons. First and foremost, Brad Traversy, the creator of
Read more ->
1 min read

Peer-to-Peer Payment Integration With Stream and Flutter

Adding a peer-to-peer payment integration to your Flutter application creates a richer in-app experience for your end-users. However, you need to make sure your payment process is fast and secure. In this tutorial, you’ll learn how to integrate a peer-to-peer payment solution in your Stream Chat Flutter application using an in-app digital wallet that provides
Read more ->
14 min read

End-to-End Encrypted Chat in Flutter

When you communicate over a chat application with another person or group, you may exchange sensitive information, like personally identifiable information, financial details, or passwords. To ensure that your data stays secure, a chat application must use end-to-end encryption. In this tutorial, you’ll learn the basics of end-to-end encryption and how to use it in
Read more ->
8 min read

What is an Activity Feed?

It should be no surprise that some of the world’s most popular apps contain an activity feed as their core functionality. This comprehensive guide is a crash course in activity feed types, activity feed benefits and best practices, and real-world activity feed examples and use cases. We’ll also explore how you can quickly integrate a
Read more ->
9 min read

Add Location Sharing to a Messaging App Using Flutter

A stand-out feature of the most popular messaging applications is the ability to share a user's location quickly and conveniently with trusted peers. Using Stream Chat and Flutter, we can implement a similar feature in very little time. In this article, we will build a small location-sharing chat feature using Flutter, Stream Chat, and the
Read more ->
15 min read

Location Sharing With Custom Attachments on Android

Stream's Android Chat SDK supports sending custom attachments with messages. In this tutorial, you'll learn how to send location data as a custom attachment. Note: This tutorial assumes you already know the basics of the Stream API. To get started, check out the Android In-App Messaging Tutorial, and take a look at the Android SDK
Read more ->
5 min read

Building a Responsive Desktop Chat with Flutter

In today’s world, chat or instant messaging apps have completely superseded traditional text messages. We all use chat app to communicate with the people around us due to the capability of the chat application to provide features such as message read receipts, user presence, reactions, typing indicators, etc. As a result, users enjoy and hardly
Read more ->
7 min read

Build a Music Chat iOS App Using SwiftUI

Music has always been an oasis for me while coding and writing. I love chatting for hours on end with my friends, exploring our peculiar music taste. What if we had an app where we could listen to music and discuss with a like-minded community? This tutorial will create a music chat app where you
Read more ->
9 min read

iOS Passwordless Chat Application with Auth0

Almost every application needs an authentication strategy. The most common being the classic username and password combo. However, there's a new approach some apps are taking to avoid handling or storing user passwords: passwordless authentication. It generally involves sending a one-time PIN (OTP) through a user-owned channel such as their phone or email. If the
Read more ->
4 min read

Creating a fast and beautiful chat with Flutter

We all have probably written chat apps multiple times in our lives, and we all know that it takes time! So I always wondered if there is a way to make a custom and beautiful chat app using some lib/service that does all the heavy lifting for me. A few weeks ago, I came across
Read more ->
6 min read

All About Reactions with the Stream Chat Android SDK

Stream's Chat SDK for Android provides a way for you to add reactions in your application in a matter of minutes. The SDK has a free trial, and it's free to use for small companies and hobby projects with a Maker Account. In this tutorial, you're going to learn how to do the following with
Read more ->
8 min read

Creating Custom Attachments on Android

Messages in Stream Chat can contain a number of attachments. The UI Components library for Android renders these by default depending on their type. Images are rendered in a gallery layout, files are shown in a list, and links show rich previews of the content they're leading to. You can render attachments in a custom
Read more ->
5 min read

Your First Steps with Stream Chat on Android

Previously, in Get up and Running With Stream Chat, we looked at how to register your organization for Stream Chat, and get an API key and secret for your app. Now it's time to create a new Android project, add the Stream Chat Android SDK to it, and create your first users and channels! If
Read more ->
5 min read

Get up and Running With Stream Chat

Registering an account First, go to the trial registration page, and fill out the required details. (Note that your organization name can not have spaces in it.) The chat trial lets you play around with Stream Chat APIs for 30 days, for free. If you're a small business or you're building a hobby project, you
Read more ->
3 min read

Creating a Jetpack Compose Example App

Stream now provides a fully-featured Jetpack Compose Chat SDK that you can use instead of the basic approach described in this article. Check out the Compose Chat Messaging Tutorial and give it a try today! Intro and context In our previous article about Jetpack Compose, we shared our initial impressions and recommended some learning resources.
Read more ->
11 min read

Generate JWTs with Swift on AWS Lambda

Authorization is one of the essential parts of any iOS application. Once a user is logged in, it's your authorization scheme that will make sure users can't interact with your app in ways they're not allowed to. Without a robust authorization scheme, hackers could easily access sensitive user data and engage in other damaging activities
Read more ->
4 min read

Build an iMessage Clone with Stream's Flutter Chat SDK

In this tutorial, we’ll build a functional clone of iMessage using Stream Chat Flutter SDK. Building a chat in your app at scale is not an easy task; but in this tutorial, you’ll get a chat experience up and running in roughly 20 minutes! You can follow this tutorial without a deep knowledge of Flutter,
Read more ->
5 min read

How to Create a Live Stream Event

Technology once reserved for broadcast journalism, televised concerts, and important sporting events is now available to all with a WiFi connection and a smartphone. Live streaming, defined as the real-time transmission of events over the internet, grew exponentially in 2020. According to StreamElements and Arsenal.gg, the live streaming sector grew 99% from 2019 to 2020
Read more ->
9 min read

Build an Interactive Messaging App with Stream, MML, Node and React

Message Markup Language (MML) enables you to build an interactive messaging experience. MML supports embedding elements as simple as a button to your message or as complex as date pickers and custom forms within your chat experience. MML also supports images, icons, and tables out of the box. The goal for MML is to provide
Read more ->
5 min read

Live Streaming With Mux, Stream, and Flutter

Livestreams are everywhere these days, from popular gaming sites such as Twitch to more casual everyday apps like Instagram. Apps use live streaming and live video to help connect users and add another level of interactivity to their platform. This post is still useful, but out of date. Stream now offers a Live Video Streaming
Read more ->
13 min read

Supercharge Feeds with Algolia and GraphQL

When you're modeling and building an API, storing ID references to other documents to create relationships between types of data within your domain is paramount to efficient querying, scalability, and even your own sanity. Imagine you're building the backend for a blog platform and want users to be able to search blog posts by category.
Read more ->
20 min read

Migrate Your iOS Project From Carthage To Swift Package Manager

Since Swift 5 and Xcode 11 were released, SPM became a viable dependency manager for many iOS projects. It's also been heavily improved upon in Xcode 12 with the support of binary frameworks and resource files such as storyboards, nibs, localization folders, asset catalogs, and core data models. It's now possible to use it in
Read more ->
3 min read

Tutorial: How to Build a Slack Clone with React Native - Part 3

Note: This blog is archived due to limited compatibility with an old version of the React Native chat SDK. Please check our latest tutorial or our finished Slack clone. In Part 2 of this tutorial, we covered how to build Slack-like navigation, channel list screen, channel screen, reaction picker, and action sheet. In this tutorial,
Read more ->
4 min read

Tutorial: How to Build a Slack Clone with React Native - Part 2

Note: This blog is archived due to limited compatibility with an old version of the React Native chat SDK. Please check our latest tutorial or our finished Slack clone. React Native has come a long way since its first release in 2015. In fact, it has enough components, APIs, and supporting libraries in its present
Read more ->
7 min read

How to Use an SDK Built for UIKit in Your SwiftUI App

SwiftUI becomes more popular as it gets more capable with each iOS release. However, it may take some time until it's a better option than UIKit to build complex user experiences such as chat and video calls. That doesn't mean you need to stick with UIKit until all the SDKs you use support SwiftUI. In
Read more ->
2 min read

End-to-End Encrypted iOS Chat with Apple's CryptoKit

In most cases, when building a chat app, it's essential to provide adequate privacy and security to your users. This can be done using cryptographic methods such as end-to-end encryption. End-to-end encryption is becoming a mainstream expectation, as it's featured in the biggest chat apps, such as WhatsApp and Telegram. In this article, you'll learn
Read more ->
5 min read

Build a Psychotherapy App with Video and Chat for iOS

When adding live video to your applications on Stream, we recommend checking out our newly released Video API! Using Stream Video, developers can build live video calling and conferencing, voice calling, audio rooms, and livestreaming from a single unified API, complete with our fully customizable UI Kits across all major frontend platforms. To learn more,
Read more ->
6 min read

End-to-End Encrypted Chat with the Web Crypto API

When transmitting or storing user data, especially private conversations, it's essential to consider employing cryptographic techniques to ensure privacy. By reading this tutorial, you'll learn how to end-to-end encrypt data in web applications using nothing but JavaScript and the Web Crypto API, which is a native browser API. Please note that this tutorial is very
Read more ->
7 min read

Moderate Chat Content with Swift on AWS Lambda

Most of the time, when building a chat application, it's essential to have some level of control over what your users can share and say to each other. In this tutorial, we'll use Swift Lambda and Stream's powerful chat API to build a content moderation system that can prevent users from sending unwanted content. In
Read more ->
2 min read

Build a Realtime Notification Feed for AWS S3

This tutorial demonstrates how to set up notifications for these events using a Stream Feed in conjunction with AWS S3. We will walk through a basic set up that shows how to create a timeline (flat feed) to display a list of events tied to an AWS S3 bucket – think user uploads, downloads, and
Read more ->
13 min read

Create A Support Chat Admin Dashboard

In this tutorial, we'll build a chat app with a dashboard that allows an admin user to switch between one-on-one customer chat channels in the same window. As a busy customer support representative, you don’t want to be stuck with a chat app that opens each chat in a new window, forcing you to cycle
Read more ->
5 min read

Save and Send Chat Transcripts with SendGrid

In this tutorial, we'll build a chat app that sends a copy of a chat transcript in an email using SendGrid. Imagine being able to automatically inform your sales team when one of their clients has chatted with your support team. This app sends a transcript of that chat directly to the salesperson's email address
Read more ->
6 min read

Syncing Sales Chat Transcripts in Real-Time with Zendesk Sell CRM and Stream Chat

Can you imagine viewing your sales chat transcripts in real time from your sales CRM? Would your chat applications improve with more timely handling of customer chat inquiries? This post demonstrates how to leverage the powerful Stream Chat API to take action with a chat transcript as the chat takes place, response by response. The
Read more ->
6 min read

Write a Chatbot in Swift and Deploy to AWS Lambda

Did you know you can use Swift in the backend to build a chatbot and deploy it to AWS? We've recently published an Open Source project called Swift Lambda to make the process easier. In this tutorial, we'll use Swift Lambda to build a chatbot that can reply to user messages automatically using Stream's powerful
Read more ->
2 min read

Send Chat Transcripts to HubSpot

This tutorial will explore how to make a chat widget that connects to the HubSpot CRM to (1) create or update a HubSpot CRM Contact with the user’s info, and (2) save chat transcripts in HubSpot. We’ll use the versatile Stream Chat client and its webhooks to accomplish this. The steps provided here will help
Read more ->
10 min read

How to Implement Chat in Your E-Commerce iOS App

In this tutorial, we'll integrate chat in an e-commerce app using Stream Chat's Swift SDK. It's crucial for buyers that may need immediate communication for payments, delivery status, last-minute changes, and refunds. Those screenshots show a button leading to a chat screen where the buyer can get information in real time from the seller. This
Read more ->
4 min read

How To Capture Leads From Live Chat In Zendesk

This post will demonstrate how to configure a Lead creation in Zendesk from a customer inquiry via a landing page/sales chat widget. We'll build a full-screen experience that can be embedded on your homepage or landing pages. Our chat experience will start with a simple user registration to lead capture. It will ask for first
Read more ->
6 min read

How to Capture Leads From Live Chat In HubSpot

In this tutorial, learn how to build a Stream chat widget that connects to the HubSpot CRM to automatically create a new contact when a customer initiates a chat. This widget, backed by the Stream chat API, can be easily embedded to your site as a chat widget for sales, support, lead capture, or a
Read more ->
8 min read

How to Build a Live Fitness iOS App

In this tutorial, we'll build a TeleHealth iOS app where gym members and instructors can interact in an online virtual fitness class using Stream Chat, to deliver fully featured chat components, and Dolby.io, to provide quality audio and video. By the end, we'll have an application similar to the screenshots below. As a bonus, it's
Read more ->
6 min read

How to Build an iOS App for Livestream Events

In this tutorial, we'll build an iOS app for livestream events where attendees and speakers can interact in a virtual conference room using Stream Chat, to deliver fully featured chat components, and Dolby.io, to provide quality live-streamed audio and video for large audiences. By the end, we'll have an application similar to the screenshots below.
Read more ->
6 min read

How to Build a Virtual Classroom iOS App with Video and Chat

When adding live video to your applications on Stream, we recommend checking out our newly released Video API! Using Stream Video, developers can build live video calling and conferencing, voice calling, audio rooms, and livestreaming from a single unified API, complete with our fully customizable UI Kits across all major frontend platforms. To learn more,
Read more ->
6 min read

How to use GitHub with Android Studio

Android Studio makes it easy to push changes to your favorite Open Source, professional, or personal projects on GitHub. In this tutorial, we'll learn how to use GitHub with Android Studio. We'll use an Open Source contribution for context. Android developers use Open Source projects to speed up development or enable functionality that is otherwise
Read more ->
4 min read

How to Implement In-App Support Chat on iOS

In this tutorial, we'll build an in-app support system using Stream Chat's Swift SDK, which you can quickly integrate in new or existing apps. It's crucial for users that may need immediate information or assistance in completing a task. It's frequently present in banking, e-commerce, delivery, and ride sharing apps. Those screenshots show a button
Read more ->
5 min read

How to Build a Telemedicine App with Video and Chat for iOS

When adding live video to your applications on Stream, we recommend checking out our newly released Video API! Using Stream Video, developers can build live video calling and conferencing, voice calling, audio rooms, and livestreaming from a single unified API, complete with our fully customizable UI Kits across all major frontend platforms. To learn more,
Read more ->
6 min read

How to Build a Chat App with SwiftUI: Part 2 (Channels)

In Part 1 of this series, we created a simple chat application for iOS and macOS using SwiftUI and Stream Chat's Swift SDK, but it only had a single channel. In this tutorial, we'll improve on it by implementing a channels screen with three features: join, create, and search channels. Although Stream Chat provides a
Read more ->
3 min read

Build a Custom Timeline Feed with Kotlin on Android

In this post, we'll create a simple social network, called "The Stream", 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 Android, makes it straightforward to build this sort of complex interaction. All source code for
Read more ->
9 min read

Build a 1-on-1 Video Chat with SwiftUI and Dolby.io

In this tutorial, we'll integrate video chat into an iOS application. To do this, we integrate Dolby.io's Interactivity APIs, formally known as Voxeet, into our application. Video chat can easily be integrated with Stream Chat API for a seamless communication experience. Note: This article's content is outdated. We now have our own Voice & Video
Read more ->
4 min read

How to Build a Twitch Clone Game Live Streaming App for iOS

When adding live video to your applications on Stream, we recommend checking out our newly released Video API! Using Stream Video, developers can build live video calling and conferencing, voice calling, audio rooms, and livestreaming from a single unified API, complete with our fully customizable UI Kits across all major frontend platforms. To learn more,
Read more ->
6 min read

How to Build a Chat App with SwiftUI: Part 1

In this tutorial, we'll build a simple chat application for iOS and macOS using SwiftUI and Stream Chat's Swift SDK. Although Stream provides a suite of UIKit components that work out-of-the-box, we can use use the low-level client to develop custom components with SwiftUI. If you get lost during this tutorial, you can check the
Read more ->
4 min read

Add Livestream Chat to your Android App

Live streaming apps have become the most popular type of application in the App Stores. Big companies, like Google, Amazon, Facebook, and Twitter, have, at least, one app offering this kind of service. For example: YouTube, Twitch, Instagram, and Periscope. All of those have a common companion feature: Livestream Chat. Livestream Chat is a crucial
Read more ->
5 min read

How to Build a Cross-Platform iOS and macOS Chat App using Stream

Apple's recent release of Mac Catalyst makes it possible for iOS and macOS apps to share mostly the same native codebase. While in the past, a desktop and mobile cross-platform codebase commonly meant a web app packaged in a portable format, now it can be achieved with native code just as quickly. That means less
Read more ->
3 min read

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 that is zero-knowledge. The application embeds Virgil Security's
Read more ->
10 min read

How to Create a Live Streaming 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 now seeing incredible growth in their use for connecting with
Read more ->
7 min read

Series: Building a Social Network with Flask, React & Stream - Part 15

This article is the fourth installment of a tutorial series focused on how to create a full-stack application using Flask, React/Redux and Stream. In this article, we are going to start creating, editing, and fetching collections, or groups of links, for our web application. Be sure to check out the repo to follow along! Getting
Read more ->
7 min read

Creating a Realtime Chat Application with Django and Angular

💡 An updated version of this tutorial exists! Angular devs can now use our dedicated Angular Chat SDK to build in-app messaging experiences faster than ever. You can still skim the post below for inspiration, but our new official Angular Chat App Tutorial is the place to find up-to-date info and a much simpler approach.
Read more ->
14 min read

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 part 2, we only
Read more ->
3 min read

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 application can communicate directly with Stream's Chat API. The
Read more ->
5 min read

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, combined with Swift, make it straightforward to
Read more ->
8 min read

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 complex interaction, with far less overhead than creating
Read more ->
0 min read

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 users don't have to
Read more ->
7 min read

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, we'll go through the
Read more ->
6 min read

Series: Building a Social Network with Flask, React & Stream - Part 14

This article is the third installment of a tutorial series focused on how to create a full-stack application using Flask, React/Redux and Stream. In this article, we are going to finish implementing our authentication flow as well as integrating a basic profile component into our app. Be sure to check out the repo to follow
Read more ->
10 min read

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 chat room where only
Read more ->
9 min read