chat and video calling app

NOTE: This project is currently running on Render’s free tier, so the server may sleep when inactive.The first load can take a short time to initialize, after which performance is normal.


🛠️ Tech Stack

Frontend: React, Zustand, TanStack Query, Axios
Backend: Node.js, Express, Socket.io
Database: MongoDB + Mongoose
Real-Time: WebRTC + Socket Signaling
Auth: JWT 
Deployment: Render.com


Key Features

  • Real-time Chat with Socket.io (instant messaging with reply threading)
  • Video & Audio Calling using WebRTC
  • Screen Sharing during call sessions
  • Friend Request System with accept/decline flow
  • Customizable UI Themes (7 theme variations)
  • JWT Authentication & Protected Routes
  • State Management using Zustand
  • Server & Client Communication via Axios & TanStack Query
  • Optimized WebRTC Signaling for Reliable Media Streams
  • Mobile & Desktop Responsive UI

🚀 Scalability & System Highlights

  • Designed to handle millions of concurrent socket connections
  • Horizontal scaling friendly with Redis or clustered processes
  • Efficient MongoDB queries with Mongoose models
  • WebRTC P2P media reduces server bandwidth usage
  • Real-time delivery optimized for low latency communication