LangObs
LangObs is a collaborative observability platform for multi-agent AI systems — Loom for what your agent did, Figma comments for what your team thinks about it, and a budget alarm for what it cost.
Core trick
AI SDK telemetry writes each token, tool call, and cost as spans into Supabase, streamed live to a shareable session replay.
Description
LangObs is a collaborative observability platform for multi-agent AI systems —
Loom for what your agent did, Figma comments for what your team thinks about it,
and a budget alarm for what it cost.
You describe a task in plain English. Gemini 2.5 Pro generates a typed multi-agent
workflow graph. The Vercel AI SDK 6 runner executes each agent and streams every
token, tool call, cost, and guardrail event into Supabase as a structured span in
real time. The result is a shareable, commentable, voice-narrated session replay
that any teammate can open in a browser — no SDK changes, no vendor lock-in, no
proprietary collector required.
README excerpt
# LangObs — Collaborative AI Agent Observability
> **Loom for what your agent did. Figma comments for what your team thinks about it. A budget alarm for what it cost.**
---
## Built With
<table>
<tr>
<td align="center" width="160"><strong>🟢 Supabase</strong><br/><sub>Realtime Broadcast · Postgres · pgvector · Storage</sub></td>
<td align="center" width="160"><strong>▲ Vercel AI SDK 6</strong><br/><sub>generateText · experimental_telemetry</sub></td>
<td align="center" width="160"><strong>🔵 Google Gemini</strong><br/><sub>2.5 Pro · 2.5 Flash · TTS · Code Execution · Search</sub></td>
<td align="center" width="160"><strong>◆ Next.js 16</strong><br/><sub>App Router · API Routes · RSC</sub></td>
<td align="center" width="160"><strong>🔷 React Flow</strong><br/><sub>Interactive live agent graph canvas</sub></td>
</tr>
</table>
### How each sponsor technology is used end-to-end
#### 🟢 Supabase — the real-time backbone
| Supabase Feature | Exactly where LangObs uses it |
|---|---|
| **Realtime Broadcast** | Every LLM step and tool-call span is written to Postgres **and** immediately broadcast on the `run:{runId}:broadcast` channel. Clients subscribe to this channel and update the React Flow canvas in **< 200 ms** — far faster than waiting for Postgres `postgres_changes` replication to propagate. This is the mechanism that makes nodes animate `pending → running → done` live as the agent executes. |
| **Realtime postgres_changes** | The run page subscribes to `UPDATE` events on