Projects/Real-Time Chat App
Real-Time Chat App

Real-Time Chat App

Web-based chat app with personal/group rooms, unique identities, and image sharing over WebSockets.

Next.jsTailwindCSSFastAPIMongoDBsocket.io

About this project

The challenge was enabling true real-time messaging — not polling — across personal and group chat rooms with persistent identities. The frontend is Next.js with TailwindCSS; the backend uses FastAPI with socket.io for the WebSocket layer and MongoDB for message persistence. The most interesting problem was handling image sharing over WebSockets: large payloads needed chunking to avoid dropped frames, which required a custom buffering protocol on both ends.

  • Real-time WebSocket messaging via socket.io — no polling
  • Personal and group chat rooms with persistent identities
  • Image sharing with custom chunk-buffering protocol

Key features

Unique identities

Persistent across sessions

Personal chat

Direct messaging

Group rooms

Multi-user channels

Image sharing

Chunked over WebSocket


Tech stack

Next.js
TailwindCSS
FastAPI
MongoDB
socket.io

Other projects