← All projects

Chat Panel

Two white speech bubbles sitting on top of a brown surface
Photo by Kelly Sikkema on Unsplash

Every VS Codium extension I built kept wanting the same thing: a place to put a conversational AI assistant, without rebuilding a chat UI from scratch each time. Prompt Studio needed one, Compliance Studio needed one, and I could already see a third and fourth studio would need one too — building that four separate times was exactly the kind of duplication I try to catch before it happens rather than after, so Chat Panel is where I caught it.

So I built it once as shared infrastructure: a reusable VS Codium Activity Bar chat sidebar, built around a streaming chat-participant API with a deliberately small contract — one method, registerParticipant, that a studio calls during its own activation, handing over a display name and a handler function. From that point on, its participant shows up in the same sidebar as every other studio's, all inside one panel a user never has to switch between. I like that it's boring: no shared state, no event bus, just a registration call and a callback — the boring parts of a platform are usually the parts that don't break at 11pm.

Prompt Studio and Compliance Studio both plug into it today, each with its own participant sitting side by side in the same sidebar — which is the actual proof that building the shared transport once was worth it, instead of every studio shipping a slightly different chat widget.

sequenceDiagram
    participant Ext as Consuming extension (Prompt Studio / Compliance Studio)
    participant Panel as Chat Panel
    Ext->>Panel: register chat participant
    Panel-->>Ext: participant registered
    Ext->>Panel: send message
    Panel-->>Ext: streamed response chunks

Want to know more?

Interested in "Chat Panel"? Leave your details and I'll follow up with more information.

← All projects