Skip to content

TropicolX/signal-clone

Repository files navigation

📱 Signal Clone (React Native + Stream)

A privacy-first messaging app built with React Native, powered by Stream Chat and Stream Video SDK. Inspired by the core features of Signal, this project supports 1-on-1 messaging, media sharing, and real-time audio/video calling.

Signal clone YT thumbnail

Click to read!

🔧 Features

  • ✅ Secure 1-on-1 real-time messaging
  • 🧵 Message reactions, typing indicators, read receipts
  • 📎 Media attachments (images, files, etc.)
  • 📞 Audio & video calling powered by Stream Video SDK
  • 🎨 Clean, Signal-style mobile UI built with React Native
  • 🔐 Privacy-conscious design

🚀 Preview

Platform File Link
🤖 Android signal-clone-v1.0.0.apk Download APK
🍏 iOS signal-clone-v1.0.0.ipa Download IPA

🎬 Getting Started

1. Clone the Repository

git clone https://github.com/yourusername/signal-clone.git
cd signal-clone

2. Install Dependencies

npm install
# or
yarn install

3. Add Environment Variables

Create a .env.local file in the root and add your keys:

EXPO_PUBLIC_CLERK_PUBLISHABLE_KEY=your_clerk_publishable_key
EXPO_PUBLIC_STREAM_API_KEY=your_stream_api_key
STREAM_API_SECRET=your_stream_api_secret

🔑 You can manage your Clerk and Stream API keys from their respective dashboards.

4. Run the App

npx expo run:ios
# or
npx expo run:android

📸 Screenshots

Chat Screen Call Screen
image image

📹 Video Demo

Watch the Full Walkthrough (Coming Soon) →

🛠️ Tech Stack

  • React Native
  • Stream Chat SDK
  • Stream Video SDK
  • Expo
  • Clerk
  • TypeScript

💬 Acknowledgments

  • Stream for the amazing Chat & Video SDKs
  • Signal for the inspiration