For a real-time chat application using WebSockets, the strongest matches are verekia/js-stack-from-scratch (This repository is a full-stack tutorial that builds a), conversejs/converse.js (Converse) and matrix-org/synapse (Synapse is a reference implementation of the Matrix homeserver). burakorkmez/mern-chat-app and adrianhajdin/project_chat_application round out the shortlist. Each is ranked by relevance to your query, popularity and recent activity.
We curate open-source GitHub repositories matching “websocket chat app example”. Results are ranked by relevance to your query — pick filters below to narrow, or refine with AI.
This project is a JavaScript full-stack tutorial providing a step-by-step guide to building a complete web application from scratch. It focuses on the manual implementation of a custom JavaScript toolchain, encompassing the development of a server-side rendering workflow and a client-side state manager. The project distinguishes itself by implementing core development utilities without high-level frameworks, including custom solutions for bundling, transpilation, linting, and hot module replacement. It also features a real-time communication system based on WebSockets for bidirectional messag
This repository is a full-stack tutorial that builds a complete web application from scratch, including a real-time chat system using WebSockets — it serves as a learning-oriented example rather than a feature-rich reference, covering the core WebSocket messaging but lacking persistence, authentication, typing indicators, and chat rooms.
Converse.js is an embeddable, self-hosted XMPP chat client that runs entirely in the browser. It communicates with XMPP servers using standard XML stanzas over WebSocket or BOSH transports, and provides end-to-end encryption through the OMEMO protocol with double ratchet algorithm and X3DH key exchange. The client is built on a plugin-based architecture that allows extending core functionality at runtime without modifying the client itself, and uses a DOM-based rendering approach with an event-driven message bus for internal coordination. The client manages message history through XEP-0313 Me
Converse.js is an open-source XMPP chat client that runs in the browser and uses WebSocket transport, covering all the requested features—multi-user chat rooms, message persistence, typing indicators, and authentication—so it serves as a practical example of a real-time chat application, though it requires an XMPP server to function.
Synapse is a decentralized communication server implementation that enables real-time messaging and data exchange across the global Matrix federation. It functions as a homeserver, allowing operators to host their own nodes while maintaining control over personal data and user identity within a distributed network. The server utilizes a federated messaging protocol to exchange messages and user data with independent servers, ensuring consistent state across the network. To support high-traffic environments, it employs a distributed service architecture that offloads tasks to independent backg
Synapse is a reference implementation of the Matrix homeserver that provides real-time WebSocket messaging, multi-user chat rooms, message persistence, user authentication, and typing indicators — exactly the kind of backend chat server example you are looking for, though it does not include a built-in client UI.
This project is a full-stack web application designed for real-time messaging and user account management. It provides a platform for exchanging text messages instantly and tracking the active network status of participants to indicate availability. The application utilizes a unified JavaScript stack to handle both client-side interface rendering and server-side data processing. It features a single-page application architecture that updates the user interface dynamically without requiring full page reloads, while maintaining persistent bidirectional connections to ensure that conversations u
This MERN stack chat app uses Socket.io for WebSocket messaging and JWT for authentication, making it a solid real-time chat example; while it likely covers multi-user chat and persistence, details on typing indicators or chat rooms are not confirmed, so it fits the intent as an implementation reference.
This is a full-stack web application built with a React frontend and a Node.js backend. It functions as a real-time messaging platform using Socket.io to enable instant communication between users over a persistent connection. The application integrates an AI-powered chatbot to generate immediate answers and support for users. It also includes a content recommendation engine that suggests relevant posts to improve discovery and engagement. The system manages data through a centralized database and a RESTful API, while utilizing WebSockets for bidirectional communication and a middleware pipe
This repository is a tutorial example of a real-time chat app built with React, Node.js, and Socket.io, making it a direct instance of a WebSocket-based chat application, though it likely covers only core messaging without the full set of features like persistence, typing indicators, or authentication.
This project is a Node.js WebSocket library that provides a high-performance client and server implementation for the WebSocket protocol. It functions as a transport layer for real-time bidirectional communication, supporting both UTF-8 strings and binary data transport through the use of TCP socket wrappers. The library enables the creation of WebSocket servers that manage full-duplex connections and broadcast messages to multiple clients, as well as WebSocket clients that establish persistent links to remote servers. It handles the protocol upgrade process via TCP-based handshake negotiatio
ws is a low-level WebSocket library for Node.js, not a chat application — it handles the transport protocol but does not include chat features like multi-user rooms, message persistence, or authentication that a reference implementation would need.
netty-socketio is a Java implementation of a Socket.IO server designed for real-time bidirectional communication between clients and servers. It functions as a real-time event engine and WebSocket communication server, utilizing the Netty network framework to manage high-performance socket connections. The project enables distributed socket server scaling by acting as a distributed message broker. It synchronizes client states and broadcasts messages across multiple server nodes through the use of an external data store. The system manages traffic via namespace-based connection routing and r
netty-socketio is a Socket.IO server library that provides the real-time WebSocket communication engine for building chat applications, but it is not a chat application itself—it lacks the higher-level features like multi-user chat, message persistence, typing indicators, and user authentication that this search seeks in a reference implementation.
PartyKit is a serverless WebSocket backend platform for building real-time multiplayer applications. It provides a globally distributed edge computing runtime that runs stateful server code close to users, with automatic scaling and hibernation for idle rooms. The platform handles WebSocket connections, HTTP requests, and durable storage without requiring infrastructure management, and includes a client and server SDK with hooks, storage, and Yjs integration for building collaborative features. The platform distinguishes itself through per-room isolation using Durable Objects, where each uniq
PartyKit is a serverless WebSocket backend platform for building real-time multiplayer apps, not a ready-to-use chat application example; it provides infrastructure for WebSocket messaging but lacks the pre-built chat features like typing indicators, authentication, and chat rooms that a reference implementation would include.
This project provides a comprehensive implementation of the WebSocket protocol, enabling persistent, bidirectional communication between clients and servers. It handles the low-level complexities of the protocol, including the initial HTTP upgrade handshake and the encapsulation of data into discrete binary frames. By managing these connections, it allows applications to exchange data instantly without the overhead associated with repeated standard request cycles. The library distinguishes itself through its focus on high-frequency message exchange and concurrent connection management. It uti
This is a Go library implementing the WebSocket protocol — a core building block for real-time communication — but it is not a reference implementation or example of a chat application itself, so it lacks the full chat features like authentication, persistence, and chat rooms you asked for.
Drogon is a high-performance C++ HTTP web framework and asynchronous web server designed for building web applications and REST APIs. It utilizes an event-driven, non-blocking architecture to handle concurrent HTTP and WebSocket connections, and it implements a model-view-controller structure to separate business logic from presentation. The framework includes an integrated C++ object-relational mapping system and database client for performing asynchronous operations with relational databases and Redis key-value stores. It supports real-time, full-duplex communication via WebSockets and prov
Drogon is a C++ web framework with built-in WebSocket support, which can be used to build a real-time chat app, but it is not itself a reference implementation or example of a chat application.
| Repository | Stars | Language | License | Last push |
|---|---|---|---|---|
| verekia/js-stack-from-scratch | 20.2K | JavaScript | MIT | |
| conversejs/converse.js | 3.3K | JavaScript | MPL-2.0 | |
| matrix-org/synapse | 12K | Python | apache-2.0 | |
| burakorkmez/mern-chat-app | 1.1K | JavaScript | MIT | |
| adrianhajdin/project_chat_application | 4.1K | JavaScript | — | |
| websockets/ws | 22.8K | JavaScript | MIT | |
| mrniko/netty-socketio | 7K | Java | Apache-2.0 | |
| partykit/partykit | 5.6K | TypeScript | MIT | |
| gorilla/websocket | 24.5K | Go | bsd-2-clause | |
| an-tao/drogon | 14K | C++ | MIT |