🐝 SwarmTrace DevLog #3 — Wiring the Dashboard to Real Data
June 6, 2026
///////////////////////////////////////////////////////
Today was all plumbing. No new features, no design work — just making the two halves of this project actually talk to each other.
///////////////////////////////////////////////////////
Where Things Stood
I had two things running independently.
On one side, the FastAPI server — started it up this morning, it boots clean, the @observe decorator has been collecting real traces into SQLite every time an agent function runs. The data is there. It’s been there.
On the other side, the dashboard UI — five pages, looks exactly like the design mockups, dark theme, all the charts and tables and drawers. Finished that yesterday.
The problem is they had never spoken to each other. The UI was showing hardcoded numbers I typed in by hand. The API was sitting there with real data and nothing asking for it.
The Work
Spent today closing that gap.
First thing I did was map out what each page actually needs from the backend. Overview needs health stats and an activity feed. Traces needs the full call list. Agents needs a registry of everything that’s been observed. Metrics needs cost and token breakdowns. Settings needs API key management and integration status.
Then I went into the API and built those endpoints out one by one. The good news — all the underlying data was already in the database from the decorator. I wasn’t inventing anything, just exposing it in the right shape.
The annoying part was that the frontend and backend had grown slightly different vocabularies. The UI expected fields named one way, the API had them named another. Duration in milliseconds vs latency in seconds. function_name vs function. Small things, but they all had to be aligned or every fetch would silently return nothing.
CORS was the other thing that caught me — frontend on one port, backend on another, browser refuses to talk between them without the right middleware. Quick fix once I remembered that’s what was happening.
The Moment it Clicked
Started both servers. Opened the dashboard. Traces page loaded with real function names — execute_task, plan_steps, fetch_data — things I’d actually run this week. Real latencies. Real token counts. Real errors with the actual error messages.
Turned on Live Mode. Ran an agent task in a separate terminal. Watched the row appear in the table a couple seconds later.
That’s the thing you build toward.
What’s Still Hardcoded
A few things I haven’t gotten to yet. The Overview stat cards are still static numbers — need to write proper aggregation logic for those. The per-agent token sparklines are placeholder data because I’m storing traces, not time-bucketed token history per agent. Something to fix this week.
Tomorrow
Get the Overview cards pulling from real DB aggregations. Then figure out deployment — right now this whole thing requires running two local servers which isn’t great for a demo. Want a single public URL before the submission deadline.
///////////////////////////////////////////////////////
SwarmTrace — open-source observability for multi-agent AI systems. Built for AMD Hackathon 2026.
Comments 0
No comments yet. Be the first!
Sign in to join the conversation.