A production-ready realtime chat application
A full-stack realtime chat app built with Next.js 15 and Supabase Realtime. Room-based conversations, typing indicators, optimistic UI and a deterministic localStorage fallback so it works even without a backend.
What's included
- Realtime channels — Supabase Realtime subscriptions
- Room-based conversations — create and join rooms
- Optimistic UI — instant message send
- Typing indicators — presence-based
- LocalStorage fallback — fully offline demo mode
- Presence — who is online
- 9 passing tests — node:test smoke suite
- Full docs — setup + Supabase schema SQL
Quick Start
npm install
cp env.example .env # add your Supabase keys
npm run dev
Stack
Next.js 15 · React 19 · Supabase Realtime · TypeScript
Use cases
- Internal team chat
- Customer support rooms
- Live collaboration tools
- Learning realtime web apps