Tutorials: Chat (2)

Build an AI Assistant for Android Using Compose

This tutorial guides you through building an AI assistant seamlessly integrated with the Stream Chat SDK for Jetpack Compose. You'll learn how to handle interactions on both the client and server sides by setting up and running your own simple backend. The AI assistant leverages Stream's edge network for optimal performance and uses APIs from
Read more ->
9 min read

Build an AI Assistant with React

In this tutorial, we will demonstrate how easy it is to build an assistant integrated into Stream’s React Chat SDK and learn how to incorporate the interaction on both the client and server sides. We will use the Anthropic and OpenAI APIs as the out-of-the-box examples, but using this method, developers can integrate any LLM
Read more ->
9 min read

Harness the Power of Stream, Cronofy, and OpenAI for Team Collaboration

Geographically dispersed teams often have a hard time scheduling meetings that work for all participants. Human Resources departments also face this challenge when working with existing employees and job candidates alike. Employees have the benefit of a defined and somewhat uniform computing environment, job applicants are a whole different challenge. Each candidate uses whatever computer
Read more ->
7 min read

Best 5 Frameworks To Build Multi-Agent AI Applications

This article aims to help you build AI agents powered by memory, knowledgebase, tools, and reasoning and chat with them using the command line and beautiful agent UIs. What is an Agent? Large language models (LLMs) can automate complex and sequential workflows and tasks. For example, you can use LLMs to build assistants that can
Read more ->
17 min read

Build a Scalable Real-Time Chat App with Django Channels

Django is approaching its twentieth anniversary. Built for the Web 1.0 era, this Python framework might seem out of place in today’s JavaScript-centric world. But (almost) anything JS can do, Django can do—and much more. You can see the power of Django in the people who continue to use it–Instagram, Mozilla, Pinterest, Disqus—all of which
Read more ->
19 min read

xAI Grok + Cursor + Phidata: Build a Multi-Agent AI App in Python

Multi-agent services help solve complex problems and get things done across various domains. You can develop AI agents to send emails, search for publications, perform mathematical calculations, or read and write CSV files. Agents are AI-assisted systems powered by large language models (LLMs) that can complete tasks people encounter in their digital lives daily. A
Read more ->
10 min read

Adding AI Chat Features to a Modern Next.js Application

If one topic has been dominating the news lately, it has been AI. Today, we're diving into an exciting project combining the power AI brings with a modern web app. We will build an AI chat app using Next.js, leveraging Stream’s React Chat SDK and incorporating a sleek UI design inspired by a Dribbble concept⁠
Read more ->
9 min read

Implementing Group Chat with Redis Pub/Sub in Next.js 15

Redis is one of those remarkable tools that seem able to do everything. Need a lightning-fast in-memory cache? Redis. Need a straightforward database ideal for key-value pairs? Redis. Need a message broker for building out a publish/subscribe chat system? There’s Redis again. And that is how we’re going to use it today. Redis gives us
Read more ->
13 min read

Crafting Reactive Chat Interfaces Using Svelte's Component-Based Approach

Svelte doesn’t get anything like the kind of love that React receives, but that doesn’t mean developers should sleep on it. Last week saw the release of Svelte 5, and while this update has React-ified Svelte a little with the introduction of runes such as $state() and $effect(), there is still enough elegance and power
Read more ->
13 min read

AWS Comprehend for Sentiment Analysis in Chat

In the digital age, chat messaging has become an integral part of daily communication. From personal conversations to customer support interactions, these text-based exchanges contain a wealth of information about users' emotions, opinions, and experiences. Enter sentiment analysis—a powerful tool that can unlock the emotional content hidden within these messages. Sentiment analysis uses natural language
Read more ->
7 min read

Building an NPX Script for Project Setup

Setting up a new project can be tedious and repetitive from multiple angles. As end-users, we are learning a new platform, new paradigms, and maybe a new framework to build our next dream project. As a company, we want to get our potential users up and running as quickly as possible and make it easy
Read more ->
9 min read

Using a Speech Language Model That Can Listen While Speaking

Traditional speech language models like Siri or Alexa use turn-taking as the primary interaction style. Although these systems can detect single human voices, they cannot be interrupted in real time. Let's discover an advanced AI speech dialogue system that integrates listening and speaking capabilities to engage in conversations in real time, allowing seamless to-and-fro communication
Read more ->
8 min read

Using Prompt Engineering to Refine a Large Language Model for Content Moderation

In our previous blog post, we created an agent using OpenAI GPT that can understand whether or not messages contain spam. We connected it to the Stream Chat API so that incoming messages in chat can be automatically flagged and reviewed by moderators using Stream Moderation Dashboard. To enhance the accuracy of our agent and
Read more ->
16 min read

Build an LLM-Powered Agent for Real-Time Content Moderation

Maintaining a safe and engaging chat environment is crucial for any online community. In this post, we'll demonstrate the practical application of Large Language Models (LLMs) in content moderation, showcasing how advanced AI can enhance community interactions by effectively managing unwanted content. We’ll also introduce essential tools and guide you through setting up a real-time
Read more ->
12 min read

How To Secure a Vite-Powered React App With Seald End-to-End Encryption

When sending messages across a chat app, one way to ensure the data and conversations are not intercepted is to build proper security to shield people who use the app. This article dives into how to implement strong end-to-end (E2EE) encryption in your app to protect users. We will integrate Seald’s E2EE into Stream’s Chat
Read more ->
17 min read

Create A Chat App Using Five Different Frameworks

In this project, we explore building a chat app using five of the most popular web frameworks. React Angular Vue.js Svelte Next.js We’re building a similar experience in ways that are native to each of the frameworks. For some of the frameworks (specifically React and Angular), SDKs are available to build up the UI quickly.
Read more ->
2 min read

Build Interactive In-App Polls With SwiftUI

Interactive polling in Slido, WhatsApp, Messenger, and Telegram make communicating via in-app chat or video conferencing more engaging by providing an interactive way to get participants’ opinions and make everyone in a virtual event, remote education, online gaming, or team collaboration setting feel more connected. Get Started A video showing how to create and send
Read more ->
7 min read

Build a Discord Clone Using Next.js and Tailwind: Message List — Part Four

Welcome to part four of our series about building a Discord clone using Next.js and TailwindCSS. In the previous parts, we covered a lot of customization of the Stream Chat SDK and its UI components. After setting up the project, we started with the server list, a fully customized component. We built upon the SDK
Read more ->
12 min read

Building a React Native Telegram Clone with Expo

Are you looking to delve into the world of mobile app development? Ever wondered how to create a messaging application like Telegram? In this tutorial from notJust.dev, you will be guided through the process of building a fully functional messaging application using React Native, Expo, Stream, and Supabase. You'll gain hands-on experience with: React Native
Read more ->
2 min read

Using Stream to Build a Livestream Chat App in Next.js

I always wondered how to create the dynamic chat experience of livestreams, like those found on YouTube, but with an added convenience of allowing anyone to participate without logging in. With Next.js and Stream, I was able to successfully create that experience. In this tutorial, I cover a straightforward approach to create a livestream chat
Read more ->
8 min read

Build a Chat App with Node.js

This tutorial will guide you in creating an instant Node-based chat app that runs on a JavaScript server and outside a web browser. First, grab your favorite command-line tool, Terminal or Warp, and a code editor, preferably VS Code and let’s begin. Before You Start Before proceeding with the tutorial, make sure you have the
Read more ->
8 min read

Build a Cross-Platform Messaging App with React Native Expo

Building a complete chat messaging app like WhatsApp can take time and effort. There are so many aspects developers need to consider to provide a full and feature-rich messaging experience, such as offline support, media attachment, and more. This tutorial uses Stream Chat from React Native Directory and the Expo framework to create a fully
Read more ->
11 min read

Using Generative AI with Flutter

Companion project for this article: https://github.com/GetStream/generative_ai_with_flutter Introduction For the past few years, Generative AI has been one of the most talked-about subjects in the developer world. While this conversation began in the early to mid-2010s with simpler models and fewer people affected, it has grown exponentially, with compute power becoming more easily available on devices
Read more ->
10 min read

Build a SwiftUI Voice Messaging App With Stream

What do apps like WhatsApp, Messenger, or even Snapchat all have in common? They allow users chatting with each other to also send short voice messages to each other directly in the chat conversation. In this tutorial, we will look at what it takes to build voice messaging into a simple chat app covering everything
Read more ->
10 min read

Build Instant Messaging in a MERN-Based E-commerce App

Instant messaging has become an integral part of web applications in recent years. The real-time exchange of information helps to cement the users' trust, whether they are customers, merchants, or other stakeholders. This technology has become ubiquitous across many industries, including virtual events, healthcare, and education. However, the complexity surrounding proper in-house implementation was an
Read more ->
10 min read

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

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

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

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

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

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

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

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

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

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

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

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

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

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 😅. Let's explore the AI
Read more ->
12 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

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

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

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

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 integrate an AI chatbot, 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

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

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

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

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

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

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

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