Peter Paul
Lazan
2025
PPLPPL
... /loading ...
INITIALIZING_
SYS / BOOT
← All Projects
10 / 15
Chat System — Company Internal Chat
shipped2025
... /Chat System — Company Internal Chat ...

Chat System — Company Internal Chat

A real-time internal chat system with role-based access control, file and image sharing via Cloudinary, and read receipts — deployed for a live company.

React.jsFirebaseFirestoreAuthenticationCloudinary
GitHub ↗

Overview

A real-time internal messaging system built and deployed for The Launchpad Inc — replacing informal WhatsApp groups with a structured, role-controlled communication platform. Features direct messages, group channels, file sharing, and read receipts.

Technical Stack

LayerTechnology
FrontendReact.js
Real-timeFirebase Firestore (live listeners)
AuthFirebase Authentication
File StorageCloudinary
RBACCustom role claims in Firebase Auth

Key Features

  • Real-time messaging with Firestore live snapshots
  • Role-based access control — admins can see all channels, users see only permitted ones
  • File and image sharing via Cloudinary with automatic thumbnail generation
  • Read receipts: per-message read status tracking
  • User presence indicators (online/offline/away)
  • Message history with paginated infinite scroll

Architecture Note

Firestore's real-time listeners update the UI within milliseconds of a message being written — no polling required. Read receipts are stored as a subcollection per message, updated when a user's Firestore listener first receives the message document.

Repository is private — deployed for a live company.

... /code-preview ...
// repository is private or not linked
← Back
Chat System — Company Internal Chat