Pusher WebSocket channels per user. Instant events for task assignments, status changes, comments, file uploads, and whiteboard edits synced across all open tabs with automatic reconnection and zero missed events.
TARO uses Pusher WebSocket channels to push every meaningful workspace event instantly no polling, no page refreshes, no manual sync. Every tab every team member has open stays current automatically.
Channels
When a user opens TARO, the client subscribes to a set of Pusher private and presence channels scoped to what they have access to: a personal user channel that receives assignments and direct notifications, project channels for every project they belong to, and whiteboard channels for any collaborative canvas currently open. Events are pushed only to channels the user is authorised on so a team member never receives events from a project they aren't a member of, and there is no broadcast storm across the full workspace on every single change.
Events
Every meaningful collaborative action in TARO fires a WebSocket event that is pushed to every relevant subscriber in real time. Each event type carries a structured payload the task ID, the actor, the new state, and a timestamp so the receiving client can update its local UI precisely without re-fetching the entire view. The five types collectively cover every action that changes what a teammate needs to know about.
Sync
A team member might have the Kanban board open in one tab, the task detail panel in a second, and the project dashboard in a third. When a status changes in any of those tabs or when a teammate makes a change from their own browser all three tabs update simultaneously via the shared WebSocket channel. There is no stale tab problem. There is no scenario where one view shows a task as In Review while another still shows it as In Progress. Every connected surface reads from the same live event stream.
Reconnect
Network drops happen a laptop wakes from sleep, a mobile connection switches from WiFi to cellular, a VPN reconnects. TARO detects the disconnection, attempts reconnection immediately using Pusher's built-in reconnection logic, and on successful reconnect requests the full event catch up: every event that fired on the channel while the client was disconnected is replayed so no change is missed. The reconnection is silent no error banner, no manual refresh prompt, no stale data left on screen once the connection restores.
A shared workspace that requires a page refresh to show what happened 30 seconds ago is not a shared workspace. It's a document everyone overwrites separately.
TARO doesn't poll the server on a timer to check for updates. Every event is pushed via WebSocket the moment it occurs sub second delivery to every connected teammate regardless of what they're doing or which view they have open.
Events are delivered only to users who are members of the relevant project or channel. A change in the Payments project doesn't fire an event to users who have no access to it. Efficient, private, and fast regardless of how many simultaneous projects are active in the workspace.
A single Pusher subscription serves all tabs open in the same browser session. A status change doesn't require each tab to make its own update request the event propagates across every tab simultaneously, keeping every surface the team has open in exact sync.
Whiteboard collaboration doesn't batch changes every stroke, element move, and text edit fires an individual event on the whiteboard channel. Collaborators see exactly what's being drawn as it's being drawn, with cursor positions tracked per participant.
No event is lost during a disconnection. On reconnect, the client requests the full event catch-up for the period it was offline. Every missed status change, comment, and file upload is replayed. The workspace is always current even after a network hiccup nobody noticed.
When a teammate comments on a task you have open, the comment renders in your task panel immediately. There is no reload to see new comments prompt. The comment thread is a live feed, not a static page that requires manual refresh to stay current.
No polling. No refresh. No did you see the latest version? just the same workspace, always current, for everyone
Real time collaboration is the layer that makes every other TARO feature trustworthy. A Kanban board nobody refreshes is a Kanban board nobody trusts. A comment thread that requires a page reload is a comment thread people stop checking. When every change appears on every screen the instant it happens, the workspace becomes the single source of truth it was always meant to be instead of a slightly outdated snapshot everyone maintains separately.
800+
product teams
Live event types
Polling lag
Tabs synced per event
Events lost on reconnect
Remote teams working across timezones can't afford a workspace that requires a refresh to see what happened in the last meeting. When Marcus marks the auth middleware done at 2pm London, Priya's Kanban board in Mumbai updates without her touching anything. When Sarah uploads the PCI compliance doc in New York, the file appears in James's task panel in Berlin. The workspace is shared in reality, not just in name.
The Kanban board, risk alerts, sprint burndown, and analytics dashboard all depend on real time event delivery to stay accurate. This is the infrastructure that makes them reliable.
Every card drag fires a status change event via the project channel all teammates' boards update the instant a card moves, making the standup board always current before anyone says a word.
Alert state changes new alerts firing, alerts resolving, severity escalating are pushed via WebSocket so the risk dashboard is always live, not a snapshot from the last manual refresh.
Active timer events are pushed to the dashboard widget in real time leads see who starts and stops sessions across the team without polling, making the live tracking overview genuinely live.
Dashboard widget data burndown charts, active task counts, workload bars updates on every task event pushed via WebSocket, keeping every widget current without a manual page reload.
Every card drag fires a status change event via the project channel all teammates' boards update the instant a card moves, making the standup board always current before anyone says a word.
Alert state changes new alerts firing, alerts resolving, severity escalating are pushed via WebSocket so the risk dashboard is always live, not a snapshot from the last manual refresh.
Active timer events are pushed to the dashboard widget in real time leads see who starts and stops sessions across the team without polling, making the live tracking overview genuinely live.
Dashboard widget data burndown charts, active task counts, workload bars updates on every task event pushed via WebSocket, keeping every widget current without a manual page reload.
Common questions from engineering leads, CTOs, and product managers evaluating TARO's real time infrastructure.
TARO uses Pusher private channels, which require server side authentication before a client can subscribe. When a user attempts to subscribe to a channel, the Pusher client sends an authentication request to TARO's server. TARO's server checks whether the user has access to the resource the channel represents project membership, whiteboard access, or personal user scope and only issues a valid authentication token if access is confirmed. A user who is not a member of the Payments project cannot subscribe to the `private project payments` channel, and will never receive events from it. This means the real time layer respects the same access control rules as the rest of the application there is no separate permission system to maintain for WebSocket events.
Every action. Every screen. The instant it happens.