Tutorials
Most Recent Posts
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
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
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
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
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
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
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 iOS Video SDK. The purpose is to showcase how advanced customization support options of the SDK provide
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,
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
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
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
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
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
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
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 iOS 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
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
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
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.
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
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
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
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
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
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,
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
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,
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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.
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
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
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
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,
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
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
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,