Series · 10 parts · 78 min · Intermediate
Real-Time Chat at Scale
Build a chat app with WebSockets step by step: from a raw socket to auth, storage, delivery guarantees, presence, multi-node scaling, load testing and production.
What you'll build
Relay, a real-time chat service in Node.js, Socket.IO, Postgres and Redis that runs across many nodes and holds up under load.
Before you start
Comfortable with Node.js, TypeScript and basic React. Knowing some SQL and Redis helps.
Recommended firstScaling to 1M RequestsWhat you'll learn
- How WebSockets work under HTTP, and when to use them over polling or SSE
- Typed Socket.IO events, rooms and acknowledgements with a React client
- Authenticating long-lived connections and authorizing every room join
- Message storage with time-sortable IDs, idempotent writes and cursor pagination
- Delivery guarantees, retries, catch-up after reconnect and read receipts
- Presence and typing indicators in Redis without touching the database
- Scaling out with the Redis adapter, sticky sessions and load balancers
- Kernel and Node tuning, load testing with k6, and safe production deploys
(01)The parts
Your progress0/10 parts
(10)Let's talk
Ready to scaleyour application?
Stop worrying about technical debt. I can help you build a reliable, high-performance product from the ground up, tailored exactly to your business needs.
Actively open for new opportunities