Intermediate

Real-Time Chat Application

Move from request/response to persistent connections, and confront the ordering and delivery guarantees that messaging systems live or die by. Build a chat system supporting one-to-one and group conversations, online presence, and message delivery that survives brief disconnects.

~10h
0 / 8 steps
🚀
Intro

What you're building

A chat system supporting one-to-one and group conversations, online presence, and message delivery that survives brief disconnects — the core of Slack, WhatsApp, or Discord's messaging layer.

🔨

Step 1 — Move from HTTP polling to WebSockets

🔨

Step 2 — Handle multiple server instances

🔨

Step 3 — Guarantee delivery despite disconnects

🔨

Step 4 — Keep message order correct

🔨

Step 5 — Add presence without hammering your database

🎯
Secret Mission

Secret Mission: the airplane mode test

🧹
Wrap Up

What you learned

Pro

Test what you just learned

Self-testing is one of the best ways to retain new skills. Unlock project quizzes to check your understanding.

Log in to unlock