UmbraChat

A full-stack real-time messaging application built with Next.js on the frontend and NestJS on the backend, using PostgreSQL for message persistence and WebSockets for low-latency, bidirectional communication. It supports public and private chat rooms, conversation threads, and online presence detection.

Key Challenges

  • Designing a message threading system that organizes replies in a hierarchical structure.
  • Optimizing PostgreSQL queries for fast message retrieval across large conversation histories.
  • Building real-time typing indicators and presence tracking without flooding the WebSocket connection.