09open source

Chat-Me

Full Stack · Real-Time · Messaging

Real-time messaging app. React 18 + Express + MongoDB + Socket.IO + TypeScript. Channels, presence, typing indicators.

3 technologies · 2025

Open the repo
Chat-Me
Oct 2025Full StackReal-TimeMessaging

Chat-Me is a real-time messaging application built around Socket.IO. The frontend is React 18 with TypeScript; the backend is Express + MongoDB. The real-time layer is Socket.IO with rooms per channel and per direct-message thread, so a single socket connection serves multiple conversations.

The interesting parts are the boring ones: presence (who’s online, with an idle timeout and a heartbeat that survives reconnection), typing indicators (debounced server-side so a fast typist does not flood the channel), and read receipts (driven by the last-seen cursor on each thread, not by an “unread_count” counter that can drift).

Message history is paginated and indexed by channel

  • timestamp, so opening a channel you have not visited in a week is fast and does not depend on keeping the whole history in memory.

Open the repo