Real-time full stack

Joint Session

A deployed workspace where people and multiple AI agents collaborate with explicit, source-aware memory boundaries.

The question

How can several agents participate in the same conversation without silently flattening a user’s context, source attribution, or each model’s identity?

What I built

I built a React, TypeScript, and Firebase application for concurrent multi-user and multi-agent sessions. The system combines live state, authentication, configurable agent experiences, sandboxed playgrounds, and three memory namespaces: shared user context plus separate model-specific spaces with source-aware retrieval.

The hard part

The central design problem is not only prompting. It is deciding where information belongs, who can read it, and how a user can understand why an agent appears to know something.

Public boundary

These diagrams document specific session and sandbox flows in the deployed application. They do not make a general claim of enterprise security; the current BYOK and security boundaries should be reviewed before publishing a deeper key or data-path analysis.

System flows

How a Joint Session runs

Two implementation views: how the panel takes turns, and how the shared playground keeps participants in sync within its sandbox boundary.

Panelists can respond in sequence, carrying prior replies into the next turn, or in parallel before a synthesizer reconciles their independent perspectives.
The playground separates shared code from ordered interaction events, then replays them inside a sandboxed iframe for every participant in the room.

Interactive mock

A room in motion

Scroll through a self-contained recreation of the multi-model drafting conversation behind this case study. It is an interface demo, not a live room.