Use case
The graph layer for the LLM age
Your AI agent generates structured data. TopoKit renders it, hosts it, and gives you a share-able URL — in one round-trip. The graph visualization layer your team plugs into any agentic workflow.
The workflow end-to-end
- 01
You paste raw data into chat
CSV, JSON, a log dump, a `git log`, a Jira export, a Notion table — whatever you have. No format conversion needed.
- 02
You tell the agent to render it via TopoKit
One sentence: "Convert this to TopoKit graph JSON, POST it to https://topokit.io/api/topos, and give me the topokit.io/t/<hash> URL." Templates below.
- 03
The agent calls /api/topos
It transforms the data into TopoKit JSON (nodes + edges + layout + theme), POSTs the body, receives {"hash":"abc1"}.
- 04
You get a short URL back
topokit.io/t/abc1 — drop it in Slack, Notion, email, a ticket, a doc, an iframe. The graph renders interactively, with search, pan, zoom, and tooltips.
- 05
Anyone can fork & iterate
A teammate clicks "Edit / Play around" on the view page, tweaks fields in /play, hits "Generate share link" again — new hash, same workflow, no engineering involved.
Why TopoKit fits the agent stack
One HTTP endpoint
POST JSON → get a short URL. Your agent calls it like any other tool. No SDK, no auth, no setup.
Pure dumb pipe
Whatever JSON you POST is rendered back faithfully on /t/<hash>. The viewer is a thin client around the SDK — no interchange schema to learn.
Live & shareable
The short URL works the moment the request returns. Paste it in Slack, Notion, Linear, GitHub PR descriptions — anywhere a URL renders.
Fork-friendly
Anyone on the receiving end can click "Edit / Play around" to open the topo in /play, tweak fields, and re-share. The team can iterate on the same graph live.
Embed-friendly
Drop the /t/<hash> URL into an iframe and the graph renders inline. Static-site generators, docs platforms, and admin dashboards all accept it.
Hosted forever
Topos persist indefinitely — your AI-generated artifact does not rot. Re-link to it from incident postmortems, decision docs, sprint reviews.
The problem we solve
LLMs spit out structured data
Modern agents already extract entities and relationships from documents, logs, tickets, and codebases. Most of what comes back is a graph — but agents have nowhere to send it that renders.
Pasting raw JSON into chat is useless
Your team isn't going to squint at a 4,000-line nested object in a Slack code block. They want to see the picture.
Custom viz tooling is a tax
Every team that builds an LLM workflow ends up writing a one-off renderer. Mermaid maxes out at a few nodes; force-directed JS libraries take a week of integration work.
Static screenshots break the workflow
You want pan, zoom, search, hover, filter. A PNG is a dead end — interactive exploration is where insights surface.
Prompt templates
Copy/paste these into ChatGPT, Claude, Gemini, Cursor, or any agent that can make HTTP calls.
Workflow A — paste and tweak
Ask the AI for just the data. Pick layout/theme/UI yourself in /play.
I have this data: [paste your data]. Convert it to TopoKit graph JSON with `nodes` (each with `id` and a `style.label.text`, add `data.type` if useful) and `edges` (each with an `id`, `source`, `target`, and `data` object). Just nodes and edges — I'll pick layout/theme/UI options in the playground myself.
Workflow B — agent does everything
Agent picks visualization options and POSTs for you. One-shot URL.
I have this data: [paste your data]. Convert it to TopoKit graph JSON with `nodes`, `edges`, plus sensible defaults for `layout` (force / hierarchical / dagre / radial / circular / concentric / grid / auto), `theme` (light / dark / corporate / neon / pastel / monochrome / ocean), and the UI flags `search`, `minimap`, `legend`, `toolbar`, `layoutSelector`, `themeSelector`, `infoPanel`, `tooltip`, `contextMenu`, `hoverFocus` (booleans, picked based on graph size and content). Then POST the JSON to https://topokit.io/api/topos and give me the topokit.io/t/<hash> URL. Response is JSON: {"hash":"<short>"} — build the URL as https://topokit.io/t/<hash>. What your AI agent returns
A single line of plain text — the share URL — and your team has a live, interactive graph:
Click. Pan. Zoom. Search. Hover for tooltips. Right-click for context actions. Share again. Everything the SDK ships in a hosted page no one had to integrate.
API at a glance
POST https://topokit.io/api/topos Content-Type: application/json Body: TopoKit JSON config {nodes, edges, layout?, theme?, ...} Response 201: {"hash":"abc1"} → View at https://topokit.io/t/abc1 GET https://topokit.io/api/topos/<hash> Response 200: the stored JSON Rate limit: ~30 writes/minute/IP Size: accepts large payloads (infra ceiling ~100 MB) Retention: indefinite
Full field reference and SDK-side data format at /docs/data-format.
Ready to plug it into your agent?
Open the playground, paste a TopoKit JSON config, generate a share link. Then plug the same prompt into your agent and watch it return URLs autonomously.