Overview
FlyChat is a realtime chat application built with React, Vite, Zustand, TanStack Router/Query, Supabase and a WebSocket backend. The product covers more than a single chat screen: authentication, dialogs, unread counts, typing states, online presence, profile management, role-based user/admin areas and PWA preparation for desktop and mobile usage.
Challenge
Realtime product UI has to stay understandable while data changes constantly. Dialog order, unread counters, typing signals, read states, presence and infinite message history all need to stay synchronized without breaking navigation or making the interface feel unstable on mobile and desktop.
Outcome
The result is a structured chat product with real application depth: JWT auth, synchronized messaging, role-aware routes, searchable user flows, profile editing and PWA-ready frontend foundations. It demonstrates product thinking and realtime state handling, not just isolated messenger visuals.