Glossary
What Is a Real-Time App?
A real-time app delivers updates to users instantly as data changes — without requiring them to refresh the page. Chat, live dashboards, collaborative editing, and multiplayer games are real-time apps.
Most web apps are request-response: the user asks, the server answers. Real-time apps flip this — the server pushes updates to the client the moment something changes, without the client asking.
Real-time technologies:
- WebSockets — persistent bidirectional connection; best for high-frequency updates (chat, multiplayer)
- Server-Sent Events (SSE) — one-way server push over HTTP; good for live feeds and notifications
- Supabase Realtime — subscribe to Postgres table changes; updates push to all connected clients
- Firebase Firestore — document listeners that fire when data changes
Building real-time with Supabase:
const channel = supabase
.channel('bookings')
.on('postgres_changes', { event: 'INSERT', schema: 'public', table: 'bookings' },
(payload) => setBookings(prev => [...prev, payload.new])
)
.subscribe();
Real-time adds complexity:
- Conflict resolution (two users editing the same record simultaneously)
- Presence (showing who's online)
- Reconnection handling (what to do when the connection drops)
- Message ordering (events can arrive out of order)
When you actually need real-time: If users refresh the page to see new data — that's a signal. If stale data causes wrong business decisions (double-bookings, outdated inventory) — you need real-time. If data updates once per hour — you probably don't.
Related Terms