Tutorials (2)

Implementing ChatGPT with Stream Chat

With the advent and increasing popularity of artificial intelligence (AI) large language models (LLMs) like ChatGPT and Google's Gemini, many customers wish to implement these solutions to maintain feature parity in the marketplace and provide highly engaging and memorable experiences for their user base. As an industry-leading solution, Stream evolves alongside these market shifts and
Read more ->
3 min read

Build an AI Chat Android App With Google’s Generative AI

Google recently introduced its Generative AI platform, featuring a collection of large language models (LLMs) that utilize techniques inspired by AlphaGo. Gemini is an artificial intelligence that generates new content or data from existing sources. These technologies generate realistic and coherent text, images, audio, video, and other media forms, producing entirely synthetic yet believable outputs.
Read more ->
12 min read

PencilKit: Add Collaborative Whiteboard, Chat, & Video Calling To SwiftUI Apps

This tutorial teaches you how to implement freeform drawing, chat messaging, voice calling, and video calling into your SwiftUI apps. We will use Apple's PencilKit framework, equipped with an intuitive drawing canvas and a rich set of tools for making handwritten notes and sketches. On the drawing canvas of the app, users can initiate voice
Read more ->
10 min read

Build a Discord Clone Using Next.js and Tailwind: Channel List — Part Three

Welcome to our series about building a Discord clone using Next.js and TailwindCSS. In the previous posts, we covered setting up the project and adding the server list. This one will tackle the channel list that will look like this: Demo of the end result of the project We already mentioned different customization options for
Read more ->
25 min read

Build an iOS 17-Style Action Composer in SwiftUI

Build an iOS 17-Style Action Composer in SwiftUI Apple tends to bring improvements to the UI on each major platform release. One of these nice improvements is the new Action Menu List. The Action Menu List is a nicely animated menu, typically under a button at the bottom left of an app’s message entry screen.
Read more ->
8 min read

How To Build a Telegram Clone with SwiftUI

SwiftUI Chat and Video Calling App Demo An iOS app like Telegram combines chat and video calling to enhance real-time and async communication for all users. Its thoughtful animations also provide unique and engaging text-based and live connection. Let's build an iOS/SwiftUI app similar to Telegram by integrating Stream’s iOS chat SDK, iOS video calling
Read more ->
10 min read

Building a Twitch-Like Streaming App in SwiftUI

Twitch has a cool feature set. You can use their applications to watch a livestream, but just as easily, you can also host a livestream. But a lot is going on in the background of your app to get a shared screen across the internet to a huge audience. On top of that, you need
Read more ->
9 min read

Build a Discord Clone with Next.js and TailwindCSS: Server List — Part Two

In part one of the series, we did not cover any UI work and instead focused on setting up the project and integrating the Stream Chat SDK. Having laid this groundwork, we can now start implementing the UI. We will start with the overall layout of the application and then build it step-by-step. This part
Read more ->
14 min read

CometChat Migration Guide

CometChat allows you to integrate chat messaging and video calling into your product quickly. While it offers a convenient way to get started, you will quickly run into flexibility, scalability, and customization limitations when using CometChat’s prebuilt components in your codebase. Stream is a popular CometChat alternative and the leading provider of chat APIs. Stream
Read more ->
7 min read

Build a Discord Clone Using Next.js and Tailwind: Project Setup — Part One

The internet is a great place to connect with people. Nothing compares to real-world encounters, but there are situations where these are not possible. In these cases, online experiences can bring people together, facilitate the exchange of ideas, build communities, and create lasting friendships. Discord is a great example of an enabling platform. After getting
Read more ->
10 min read

Build a Real-time Collaborative Whiteboard in NextJS With Supabase & Stream Video

In this article, we're going to take a look at building a real-time collaborative whiteboard with video and live presence functionalities using NextJS, Supabase, and the Stream Video React SDK. What is a Collaborative Whiteboard? A collaborative whiteboard is an online whiteboard tool that allows multiple people to draw content simultaneously in real-time. It provides
Read more ->
45 min read

Build a React Native Livestreaming App: A Step-by-Step Guide

This guide will help you create or integrate live video streaming into your iOS and Android apps using React Native to allow people to interact, chat, and watch events together. You will discover how to effortlessly add in-app live streams like Facebook Live to your existing app or build it as a stand-alone app like
Read more ->
10 min read

Build an Android and iOS Video Calling App With React Native

Have you ever wondered how to build a mobile cross-platform audio and video calling app that runs seamlessly on iOS and Android using a single code base? Building cross-platform apps with a single code base offers faster development iterations, code maintenance, and updates. It saves the time and effort required for maintaining, for example, Android-only
Read more ->
9 min read

Building a Google Meet Clone In Jetpack Compose

Kimin Ryu is an Android app developer who uses the Stream Chat SDK to build applications in Android and Compose. Ryu originally chose Stream for his company's app because of its customizability and open-source SDK code. Access to the source code allowed him to resolve queries and efficiently communicate with Stream developers about bugs. Ryu
Read more ->
5 min read

Building Your First Android and iOS App With React Native CLI

Setting up the React Native Command Line Interface (CLI) to prepare your development environment for Android and iOS projects requires many phases. These phases include platform-specific settings for iOS and Android, Xcode, and Android Studio configurations. Continue reading to learn how to prepare and run your React Native projects smoothly on iOS and Android devices.
Read more ->
10 min read

Twilio Programmable Video Migration Guide

Early last week, Twilio announced that they will sunset their Programmable Video offering by the end of 2024. Twilio Programmable Video is a WebRTC-based API for quickly adding real-time communication capabilities to your mobile and web applications. During this transition period, developers and businesses will need to evaluate alternative video APIs to meet the needs
Read more ->
5 min read

Create LLM-powered Chatbot For Your Documentation

Because many large language models are trained on general data, they can only answer general questions. However, businesses are left with the question of leveraging their data to incorporate it into the knowledge corpus of the models. Picture this: Your software's user guide isn't just a manual anymore; it's a conversation starter with your AI.
Read more ->
11 min read

How To Set Up Your Coding Environment

Many coding tutorials start with a blanket statement that tells you to set up a project environment. Here are some examples: Make sure to have Python available Create a Ruby environment You need to have Node installed You’re told what to do but not how to do it. You might know what to do, but
Read more ->
7 min read

Build Video Calling for Your Android WhatsApp Clone With Jetpack Compose

In this article, you’ll learn how to incorporate a real-time video call feature into the WhatsApp Clone Compose project with Jetpack Compose and Stream’s versatile Compose Video SDK. For a comprehensive understanding of the project's architecture, layer structure, and theming, start with the earlier article, Building a Real-Time Android WhatsApp Clone With Jetpack Compose. Before
Read more ->
6 min read

How To Test Remote Push Notifications With iOS Simulators

In iOS, developers can create and send user notifications locally or remotely from a server through the Apple Push Notification Service (APNs). Enabling remote push notifications in iOS apps requires setting up a server to communicate with the APNs for a production app. However, using the simulator, you can quickly emulate and debug remote push
Read more ->
9 min read

Google Calendar Integration For Video Calling

Picture this: You're setting up a virtual meeting and want it to be as straightforward as possible. That's where integrating a video calling tool directly into Google Calendar comes into play. Google Calendar is one of the most used tools for organizing our schedules, but it's more than just a digital datebook. Paired with a
Read more ->
6 min read

Build a Zoom-Like Video Conferencing App Using SwiftUI

The sample SwiftUI project we will create has video conferencing features such as live broadcasting, custom reactions, screen recording, and sharing using Apple's ReplayKit framework. The meeting features help teams connect and collaborate in a safe and secure environment, whether in the office or at home. By the end of this tutorial, you will have
Read more ->
9 min read

Adding Snapchat-Like Filters to a Video Calling App in SwiftUI

Video calling apps have become an essential part of our lives. They allow us to stay connected with friends and family from all over the world, and for businesses, they have become a vital tool to stay productive and exchange information across distributed teams. Snapchat, TikTok, Instagram, and Messenger have shown the power that video
Read more ->
12 min read

Reusable SwiftUI Components: Build Rich Custom iOS Video Calling Apps

Welcome to part two of SwiftUI Video Calling by Stream: Color, Image, Font, and Sound Theming Guide. We will clone parts of the WhatsApp, Messenger, and Telegram video call UIs into a single SwiftUI app powered by Stream's Swift Video SDK. The purpose is to showcase how advanced customization support options of the SDK provide
Read more ->
9 min read

WhatsApp Web Clone Part 3: Deploying Our Code

In the previous two parts of this article series, we created a NextJS project using Stream Chat and Video. Authentication was done using Supabase’s authentication feature. In this final part of the article series, we will deploy our results to Vercel. Vercel is the maintainer of the NextJS framework, and our entire codebase is NextJS-based,
Read more ->
1 min read

WhatsApp Web Clone Part 2: Let's Add Video Calling

Let's Add Video Calling! 📞 After a recent update to WhatsApp, users can now call each other directly from the web and desktop clients. In the previous part of this article series, we implemented a chat feature resembling WhatsApp chat using Stream’s Chat SDK, we used Supabase to quickly get user authentication going and focussed
Read more ->
10 min read

WhatsApp Web Clone Part 1: User Authentication & Chat

Welcome to part one of our WhatsApp web clone project. In this section, we’ll set up our project and required tooling, and add a way to authenticate users with Supabase. Then, we’ll add messaging functionality with Stream. In part two of this series, we’ll add video calling, and in part three, we’ll deploy our new
Read more ->
10 min read

Building a Real-Time WhatsApp Web Clone with NextJS, Supabase, and Tailwind

Launched in 2009, WhatsApp remains one of the most popular communication platforms in the world, helping friends, family members, and community groups stay connected no matter where they’re located or what devices they’re using. With a powerful set of group chat, direct messaging, and audio/video calling features delivered through a simple and intuitive UI, WhatsApp
Read more ->
2 min read

Exploring the Power and Potential of Stream’s Feeds API

In the world of real-time content experiences, user engagement, community, and retention metrics reign supreme. Fortunately, you can elevate your UX and improve KPIs that mean the most to your app with Stream's Activity Feed API and SDKs. Our reusable components are easy to integrate, require little to no maintenance, and, most importantly, can scale
Read more ->
6 min read

Create a SwiftUI Video Streaming App With Fun Emoji Reactions

This article teaches you about publishing and watching live streams with the camera feed of an iPhone, Real-Time Messaging Protocol (RTMP) using OBS Studio, and HTTP Live Streaming (HLS). You will effortlessly create AmLive, a SwiftUI app with delightful animated emoji reactions and functionality similar to Facebook Live or TikTok Live. The resulting live streaming
Read more ->
11 min read

Build a Real-Time Meeting App for Android with Jetpack Compose

Real-time video communication has emerged as an indispensable feature in contemporary applications, finding utility across many sectors, including dating, social platforms, education, gaming, and diverse communities. This functionality enables seamless real-time interaction through the simultaneous exchange of voice and video, enhancing user experiences beyond mere text communication. Yet, creating an in-house video-calling application demands a
Read more ->
8 min read

SwiftUI Video Calling by Stream: Color, Image, Font, and Sound Theming Guide

You can apply this tutorial's techniques, tips, and tricks to personalize the audio room and live-streaming iOS apps you build with Stream Video. Take advantage of the Stream Swift Video SDK's simple and flexible theming options to build rich and custom audio/video calling, live streaming, and audio room experiences. Getting Started Use Xcode 14 or
Read more ->
14 min read

Building an Uber Clone in Jetpack Compose

The core functionality of this app is as follows: Basic user authentication and profile management (Chat SDK, FirebaseAuth, Firebase Storage) Autocomplete destination searching for passengers (Google Places) Drivers can view open ride requests which contain details on distance to the passenger and their destination (Chat SDK Channels) Drivers and passengers can communicate during an active
Read more ->
26 min read

Building WhatsApp-Style Voice Messages With Swift

Voice messaging is common in popular chat apps such as Telegram, WhatsApp, and Messenger, allowing people to record audio clips and send them to others. This article will explore async voice messaging support in Stream Chat iOS. In the above voice-recording-supported apps, users typically send voice messages through audio attachments. Our iOS SDK has a
Read more ->
9 min read

Build a Pixel Perfect Threads Clone in Swift UI—With a Twist!

Whenever a new app arrives, it is a fun exercise to try and recreate its UI to learn exactly how it might be put together. The Threads app UI is pretty straightforward with a few exceptions. The follower “bubble” and profile tab selection is the most interesting UI feature I’ve found in the Threads app.
Read more ->
16 min read

Integrating Chat and Scheduling To Transform Online Care Appointments

Head over to our previous article Enhancing Patient-Care: Combining Nylas’ Calendar API with Stream’s Chat API to learn more about Nylas and Stream. Understanding Key Features of the Care Appointment App A remote healthcare provider has the following functions: Log in to the application and specify availability for booking through Nylas' appointment scheduler Check notifications
Read more ->
9 min read

How To Build a Rich Drop-In Audio Chat Room App With SwiftUI

What we will be building Final project of the audio room app The video above represents the completed SwiftUI project for this tutorial. You can download the demo app from GitHub. The demo app categorizes guests into speakers and listeners when they join a room. When people join a room as listeners, they can request
Read more ->
7 min read

Build an App Similar to iMessage with Stream's React Native SDK and NotJust.dev

First, sign up for your free 30-day trial with Stream. Then, you can follow along with Notjust.dev's user-friendly tutorial on designing a real-time chat app that closely resembles iMessage with plenty of room for customization, thanks to our flexible UI kits. Low latency is one of the key features of a messaging app. Stream's Chat
Read more ->
1 min read

Integrate Stream’s Automated Moderation Into Your App: A Powerful Content Moderation Solution

Welcome to the Automated Moderation part of Building a Twitter Clone With SwiftUI in a Weekend tutorial series. It demonstrates how to integrate the Auto-Moderation tool into one-on-one or group chat for a safe and protected direct or group messaging experience. You can follow the steps highlighted in this article to moderate the flow of
Read more ->
6 min read

Building a Full-Stack FaceTime Clone with SwiftUI

Like many others, I enjoy using FaceTime to chat with family and friends. The app makes it easy to have real-time one-to-one or group audio and video conversations on any of Apple's devices. As a user, it's often easy to forget the sheer complexity that lives under the surface of a seemingly common application like
Read more ->
9 min read

How to Create Custom Chat Attachments With SwiftUI

When using Stream Chat, you most likely want tight integration between Stream Chat and the rest of your application. If something is a concept in your product, you want to be able to attach it to a chat message. By default, Stream Chat supports several attachment types already. Images are rendered in a gallery layout,
Read more ->
8 min read

Integrating with Logging Platforms on iOS

You might ask yourself, are users reaching certain screens? What crashes happen in production? Are certain things happening as expected? This is the area of production logging. Logging during development is straightforward. You just print things to the console. But in production, you do not have this luxury. Instead, you have to roll your logging
Read more ->
4 min read

Using PushKit Notification: How To Show an Incoming Call on a Device

PushKit helps to handle push notifications in apps that support VoIP services, watchOS complications, and more. The PushKit framework relies on the Apple Push Notification Service (APNs) to deliver incoming VoIP notifications. This tutorial focuses mainly on receiving incoming Voice-over-IP (VoIP) calls with the PushKit framework. Prerequisite To use PushKit notifications for your iOS app,
Read more ->
10 min read

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 highlights key steps and navigates you through the entire process with source
Read more ->
1 min read

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 applications that run directly in a web browser without the need for any plugins
Read more ->
4 min read

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 connection between clients and build your Android video application
Read more ->
7 min read

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 to 10% of revenue. At Stream, we aim to
Read more ->
4 min read

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 services, games, and social media communication. The video chat app market is
Read more ->
8 min read

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 clone. In just an hour and a half, this tutorial demonstrates how to build
Read more ->
1 min read

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 communication sections. For instance, If you use the BLoC pattern
Read more ->
11 min read

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 Feeds API to supply you with user
Read more ->
3 min read

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 download the completed Xcode project on GitHub. This tutorial is for
Read more ->
11 min read

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 framework is. This article will explore how to use
Read more ->
11 min read

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 when we build and test our services. We're also always looking for ways
Read more ->
2 min read

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 friendly stream-cli
Read more ->
3 min read

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 modifying chat channels and messages, setting
Read more ->
3 min read

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 and easy
Read more ->
8 min read

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 calling into their VoIP apps. If you want to
Read more ->
12 min read

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 API The
Read more ->
12 min read

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 also keep learning helpful knowledge from excellent resources.
Read more ->
5 min read

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 your user experience. An extensive theming system that allows you
Read more ->
7 min read

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 gained traction. A few more years of improvements brought us YouTube and
Read more ->
11 min read

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 project that enables real-time voice, messaging, and video
Read more ->
5 min read

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 swap Stream’s UI components with your bespoke layout and composition. In particular,
Read more ->
11 min read

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 optimization system but it's essential to understand the rendering mechanism of Jetpack Compose for improving your
Read more ->
11 min read

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 you dive in, we recommend cloning the WhatsApp-Clone-Compose on your local device with
Read more ->
8 min read

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 features and the underlying tech you’ll need to create them,
Read more ->
17 min read

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 Improved communication and coordination Reduced travel costs Enhanced distance learning and training However, there is
Read more ->
12 min read

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 you keep up with the constant influx of user-generated content?
Read more ->
13 min read

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, and displaying the home page activity feeds. Part 2 focuses
Read more ->
22 min read

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 about what it would take to
Read more ->
9 min read

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 understanding of how to get started with changing the visual appearance
Read more ->
8 min read

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 home page activity feeds. That is a required
Read more ->
10 min read

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 Stream activity feeds. Let us get
Read more ->
34 min read

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