Tech stack for a real-time collaboration app (2026)
Real-time collaborative whiteboard, designed by StackPrism from one sentence: 9 components, a reason for each, and the live checks that watch them.
The stack
Next.js
WebSockets
Node.js
Clerk
SendGrid
Supabase
PostgreSQL
Redis
Sentry
“A collaborative whiteboard where teams draw and add sticky notes together in real time, see each other’s cursors, and share boards with a link.”
Make it yours. Open this stack in the editor to check its health, harden it and hand it to your coding agent. No sign-up, nothing to generate.
Start from this stackSelect a component to see what it does and what it connects to, or pick one above to see what breaks if it goes down. Pinch or use the buttons to zoom.
Why this stack
The Next.js app signs people in with Clerk, loads a board from the Node.js API and then joins a real-time collaboration service over WebSockets. That service sends every stroke, sticky note and cursor move to the others in the room, keeps live presence in Redis so it stays fast, and saves lasting changes to PostgreSQL. Pasted images live in Supabase Storage, SendGrid sends board invites, and Sentry reports dropped connections and sync bugs.
Why each piece
All 9 components on the diagram: what each one does, what it talks to, and what stops if it goes down.
Next.js Web App
Whiteboard UI. Calls Clerk (authenticates), Node.js API (requests board), Real-time Collaboration Service (joins room) and Sentry (reports errors).
Nothing else on the diagram depends on it.
Real-time Collaboration Service
In Backend Services
WebSocket sync service. Calls PostgreSQL (writes changes) and Redis (tracks presence). Called by Next.js Web App (joins room).
If it goes down, 1 of 8 components degrades.
Node.js API
In Backend Services
Board and access API. Calls SendGrid (sends invites), Sentry (reports errors) and PostgreSQL (loads board). Called by Next.js Web App (requests board).
If it goes down, 1 of 8 components stops working.
Clerk
In External Services
Authentication service. Called by Next.js Web App (authenticates).
If it goes down, 1 of 8 components stops working.
SendGrid
In External Services
Email service. Called by Node.js API (sends invites).
If it goes down, 1 of 8 components degrades.
Supabase Storage
In Data & Storage
Board assets.
Nothing else on the diagram depends on it.
PostgreSQL
In Data & Storage
Durable board state. Called by Node.js API (loads board) and Real-time Collaboration Service (writes changes).
If it goes down, 3 of 8 components stop working.
Redis
In Data & Storage
Ephemeral presence. Called by Real-time Collaboration Service (tracks presence).
If it goes down, 1 of 8 components degrades.
Sentry
In External Services
Error tracking. Called by Node.js API (reports errors) and Next.js Web App (reports errors).
If it goes down, 2 of 8 components degrade.
When this stack fits
- Several people edit the same thing at once and see each other’s cursors.
- Live state changes many times a second, while only lasting changes need the database.
When to pick something else
- You’d rather not run a WebSocket service: a hosted real-time service such as Pusher can carry the messages.
- Edits must merge after people work offline: you’ll want a CRDT library on top, which this diagram doesn’t show.
What you need to build this
9 components across 8 areas of the stack.
Build it with your AI agent
Hand the stack to Claude Code, Codex, Cursor or any coding agent as a brief: how it connects, install steps and a build plan.
Frontend1
- Docs
Next.js Web App
Whiteboard UI
npm install next
Backend & APIs2
- Docs
Node.js API
Board and access API
Real-time Collaboration Service
WebSocket sync service
Data1
- Docs
PostgreSQL
Durable board state
Cache & queues1
- Docs
Redis
Ephemeral presence
Auth1
- Docs
Clerk
Authentication service
npm install @clerk/nextjs
Email & messaging1
- Docs
SendGrid
Email service
npm install @sendgrid/mail
Storage & CDN1
- Docs
Supabase Storage
Board assets
npm install @supabase/supabase-js
Observability1
- Docs
Sentry
Error tracking
npm install @sentry/nextjs
Install
npm install next @clerk/nextjs @sendgrid/mail @supabase/supabase-js @sentry/nextjs
SDKs only. Pick your own database driver or ORM.