brand elements

Build a Real-time Chat app

Vadim Savin profile picture
Vadim SavinOct 17, 2025
Get access to

The Asset Bundle

Source code, Step by step guide, code snippets, and assets used for this project.

Loading...

In this tutorial, you’ll learn to build a real-time chat app using React Native, Supabase, and Clerk.

From authentication and messaging to online presence, typing indicators, and image sharing, this is a powerful full stack chat app. This is a perfect full-stack project if you want to master mobile chat apps, real-time updates, and production-ready UI using modern tools like Expo Router, NativeWind, and TanStack Query.

📝 This video includes a lot of tools and technologies, providing an excellent opportunity to learn how to:

  • Structure a full-stack chat app using React Native + Expo Router
  • Authenticate users securely with Clerk Auth and protected routes
  • Connect and sync user data between Clerk and Supabase via webhooks
  • Build a scalable messaging system with Supabase Realtime + PostgreSQL
  • Display a chat UI inspired by iMessage using NativeWind
  • Manage message state with sent, delivered, and read indicators
  • Handle real-time events like typing indicators and online presence
  • Allow users to send messages and images via a custom input component
  • Create channels and prevent duplicates with group chat UX
  • Deploy auth and API routes cleanly with Onion-style Expo navigation
  • .. and MORE!

Let’s get started!


Vadim Savin profile picture

Vadim Savin

At notJust.dev, my mission is to help developers build impactful mobile apps.

Our educational content has reached over  10 million developers , giving them the tools and confidence to bring their app ideas to life.

Before starting notJust.dev, I worked at a big tech company (FAANG), built a software development agency, and co-founded 2 startups. These experiences taught me a lot about coding and entrepreneurship.

I have built over 100 apps with  React Native  and  Expo , and I want to help you do the same.