/ 04 — Real-Time · Messaging
Chatapp
One-to-one messaging over WebSockets with JWT auth, live online presence and instant delivery. Client state runs on Redux Toolkit with persistence, so a refresh never loses the thread.

/ Role
Solo full-stack build
/ Built
Jun 2026
/ Type
Real-Time · Messaging
Real-time one-to-one messaging. JWT-authenticated accounts, a contact list with live online presence, and messages that land without a refresh.
Socket layer separate from REST
Express owns authentication and message history; a dedicated Socket.IO layer owns delivery and presence. The server keeps its own socket map so an active connection can be resolved at send time.
State that survives a refresh
Redux Toolkit with redux-persist keeps auth and the active conversation across reloads, so reopening the tab doesn't drop you back at the login screen.
Presence, not just delivery
Online and offline status is broadcast on connect and disconnect, so the contact list reflects who is actually reachable right now.
Deployed as two services
React client and Node server deploy independently, with CORS and cookie auth configured to work across origins rather than assuming one host.
/ Next project
FitStakeFitness · Full-Stack Product →Have an idea?Let's build and learn.
Open to full-stack internships and collaborations from 2026 — tell me what you're building.