Tag Graph

Explore how tags relate. Click any node to recenter the graph on that tag.

Try:
Pick a tag to explore
Hover over a node to see details. Click to navigate.
general
character
copyright
species
rating
line thickness = Jaccard similarity
How this works: API calls behind this demo

This graph is built from a single endpoint. Each time you click a node, it fetches that tag's co-occurrence data and renders the result as a force-directed graph.

1. Fetch co-occurring tags (requires API key)

curl -H "X-API-Key: YOUR_KEY" \
  "https://lagoon.io/api/v1/co-occurrence?tag=genshin_impact&limit=20"

This demo uses a server-side proxy with a tight rate limit. The real endpoint requires an API key.

Response shape

{
  "ok": true,
  "tag": "genshin_impact",
  "tag_post_count": 48230,
  "co_occurrences": [
    {
      "tag": "1girl",
      "category": "general",
      "count": 31045,
      "jaccard": 0.2194
    }
  ]
}

Each co-occurrence includes a raw count (posts where both tags appear) and a jaccard similarity score (intersection / union). The graph uses Jaccard for edge thickness and count for node size.

Minimal example: recreate the graph traversal

async function explore(tag) {
  const r = await fetch(
    `https://lagoon.io/api/v1/co-occurrence?tag=${tag}&limit=20`,
    { headers: { "X-API-Key": "YOUR_KEY" } }
  );
  const data = await r.json();
  // data.co_occurrences = array of {tag, category, count, jaccard}
  // render as nodes around a center; click a node -> explore(node.tag)
}

Full parameter reference: API docs, /co-occurrence.