Real-Time Chat App
A full-stack real-time messaging application inspired by platforms like Slack and Discord, built with React, TypeScript, and Firebase.
Features
Real-time messaging across multiple channels powered by Firestore's live listeners Google OAuth and email/password authentication via Firebase Auth Create and join chat rooms instantly — changes sync across all connected users in real time Typing indicators that show when other users are actively writing Light and dark theme with per-theme background images Password recovery via email with email enumeration protection Responsive layout with a collapsible sidebar for mobile Tech Stack
Frontend: React 18, TypeScript, Vite Backend/Database: Firebase Firestore (real-time), Firebase Authentication, Firebase Storage Styling: CSS custom properties with full dark/light theming What I learned Architecting real-time data flows with Firestore snapshot listeners, handling Firebase Authentication edge cases (OAuth referrer policies, email enumeration protection), and building a scalable theme system using CSS variables.