{"sinks":[{"slug":"sqlite","name":"SQLite","kicker":"Local SQL archive","tagline":"A local video archive that sqlite3 can query.","category":"sql","useCases":["archive","compliance"],"deployment":["local"],"categoryIcon":"<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.6\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><ellipse cx=\"12\" cy=\"5.5\" rx=\"7\" ry=\"2.5\"/><path d=\"M5 5.5v13c0 1.4 3.1 2.5 7 2.5s7-1.1 7-2.5v-13\"/><path d=\"M5 12c0 1.4 3.1 2.5 7 2.5s7-1.1 7-2.5\"/></svg>","categoryAccent":"#60a5fa"},{"slug":"postgres","name":"Postgres","kicker":"Team SQL archive","tagline":"Full-blown SQL archive with auto-schema creation.","category":"sql","useCases":["archive","search","compliance"],"deployment":["cloud","self-hosted"],"categoryIcon":"<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.6\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><ellipse cx=\"12\" cy=\"5.5\" rx=\"7\" ry=\"2.5\"/><path d=\"M5 5.5v13c0 1.4 3.1 2.5 7 2.5s7-1.1 7-2.5v-13\"/><path d=\"M5 12c0 1.4 3.1 2.5 7 2.5s7-1.1 7-2.5\"/></svg>","categoryAccent":"#60a5fa"},{"slug":"s3","name":"S3-compatible storage","kicker":"Object storage","tagline":"One sink, every S3-API-speaking backend.","category":"storage","useCases":["archive","compliance"],"deployment":["cloud","self-hosted"],"categoryIcon":"<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.6\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M4 9h16v11H4z\"/><path d=\"m4 9 2-5h12l2 5\"/><path d=\"M4 9h16\"/><path d=\"M10 13h4\"/></svg>","categoryAccent":"#f0abfc"},{"slug":"webhook","name":"Webhook","kicker":"Generic HTTP","tagline":"POST the payload to any URL.","category":"workflow","useCases":["workflow"],"deployment":["cloud","self-hosted"],"categoryIcon":"<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.6\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><circle cx=\"5\" cy=\"6\" r=\"2\"/><circle cx=\"19\" cy=\"6\" r=\"2\"/><circle cx=\"12\" cy=\"18\" r=\"2\"/><path d=\"M7 6h10\"/><path d=\"M6.2 7.6 10.8 16.4\"/><path d=\"M17.8 7.6 13.2 16.4\"/></svg>","categoryAccent":"#e5e7eb"},{"slug":"slack","name":"Slack","kicker":"Team chat","tagline":"Channel post with Block Kit formatting.","category":"chat","useCases":["alert"],"deployment":["cloud"],"categoryIcon":"<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.6\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M4 6h16v11H9l-4 4v-4H4z\"/><circle cx=\"9\" cy=\"11.5\" r=\"0.9\" fill=\"currentColor\" stroke=\"none\"/><circle cx=\"12\" cy=\"11.5\" r=\"0.9\" fill=\"currentColor\" stroke=\"none\"/><circle cx=\"15\" cy=\"11.5\" r=\"0.9\" fill=\"currentColor\" stroke=\"none\"/></svg>","categoryAccent":"#34d399"},{"slug":"discord","name":"Discord","kicker":"Community chat","tagline":"Channel post with an embed per frame.","category":"chat","useCases":["alert"],"deployment":["cloud"],"categoryIcon":"<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.6\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M4 6h16v11H9l-4 4v-4H4z\"/><circle cx=\"9\" cy=\"11.5\" r=\"0.9\" fill=\"currentColor\" stroke=\"none\"/><circle cx=\"12\" cy=\"11.5\" r=\"0.9\" fill=\"currentColor\" stroke=\"none\"/><circle cx=\"15\" cy=\"11.5\" r=\"0.9\" fill=\"currentColor\" stroke=\"none\"/></svg>","categoryAccent":"#34d399"},{"slug":"graphql","name":"GraphQL","kicker":"Typed HTTP","tagline":"POST a mutation to any GraphQL endpoint.","category":"workflow","useCases":["workflow"],"deployment":["cloud","self-hosted"],"categoryIcon":"<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.6\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><circle cx=\"5\" cy=\"6\" r=\"2\"/><circle cx=\"19\" cy=\"6\" r=\"2\"/><circle cx=\"12\" cy=\"18\" r=\"2\"/><path d=\"M7 6h10\"/><path d=\"M6.2 7.6 10.8 16.4\"/><path d=\"M17.8 7.6 13.2 16.4\"/></svg>","categoryAccent":"#e5e7eb"},{"slug":"notion","name":"Notion","kicker":"Knowledge base","tagline":"One Notion page per run, filed into a database.","category":"wiki","useCases":["whiteboard","review"],"deployment":["cloud"],"categoryIcon":"<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.6\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M12 5v15\"/><path d=\"M3 6c3 0 6 .5 9 2 3-1.5 6-2 9-2v13c-3 0-6 .5-9 2-3-1.5-6-2-9-2z\"/><path d=\"M6 10h3M6 13h3M15 10h3M15 13h3\"/></svg>","categoryAccent":"#f472b6"},{"slug":"obsidian","name":"Obsidian","kicker":"Local knowledge","tagline":"A markdown note + embedded frames in your vault.","category":"wiki","useCases":["whiteboard","review"],"deployment":["local"],"categoryIcon":"<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.6\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M12 5v15\"/><path d=\"M3 6c3 0 6 .5 9 2 3-1.5 6-2 9-2v13c-3 0-6 .5-9 2-3-1.5-6-2-9-2z\"/><path d=\"M6 10h3M6 13h3M15 10h3M15 13h3\"/></svg>","categoryAccent":"#f472b6"},{"slug":"ide","name":"IDE attachments","kicker":"Editor integration","tagline":"Frames into your editor's attachment folder.","category":"workflow","useCases":["workflow","review"],"deployment":["llm","local"],"categoryIcon":"<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.6\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><circle cx=\"5\" cy=\"6\" r=\"2\"/><circle cx=\"19\" cy=\"6\" r=\"2\"/><circle cx=\"12\" cy=\"18\" r=\"2\"/><path d=\"M7 6h10\"/><path d=\"M6.2 7.6 10.8 16.4\"/><path d=\"M17.8 7.6 13.2 16.4\"/></svg>","categoryAccent":"#e5e7eb"},{"slug":"linear","name":"Linear","kicker":"Issue tracker","tagline":"Open an issue with the video evidence attached.","category":"issues","useCases":["alert"],"deployment":["cloud"],"categoryIcon":"<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.6\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect x=\"4\" y=\"4\" width=\"16\" height=\"16\" rx=\"2\"/><path d=\"m7.5 9 2 2 4-4\"/><path d=\"M13 14h5\"/><path d=\"M13 17h4\"/><path d=\"M7 14h2\"/><path d=\"M7 17h2\"/></svg>","categoryAccent":"#fbbf24"},{"slug":"github-issues","name":"GitHub Issues","kicker":"Issue tracker","tagline":"File an issue with the frames uploaded inline.","category":"issues","useCases":["alert"],"deployment":["cloud"],"categoryIcon":"<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.6\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect x=\"4\" y=\"4\" width=\"16\" height=\"16\" rx=\"2\"/><path d=\"m7.5 9 2 2 4-4\"/><path d=\"M13 14h5\"/><path d=\"M13 17h4\"/><path d=\"M7 14h2\"/><path d=\"M7 17h2\"/></svg>","categoryAccent":"#fbbf24"},{"slug":"sentry","name":"Sentry","kicker":"Observability","tagline":"Send the run as a Sentry event with full context.","category":"observability","useCases":["alert","compliance"],"deployment":["cloud"],"categoryIcon":"<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.6\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><circle cx=\"12\" cy=\"12\" r=\"9\"/><circle cx=\"12\" cy=\"12\" r=\"5.5\"/><circle cx=\"12\" cy=\"12\" r=\"2\" fill=\"currentColor\" stroke=\"none\"/><path d=\"M12 3v2M12 19v2M3 12h2M19 12h2\"/></svg>","categoryAccent":"#f87171"},{"slug":"chroma","name":"Chroma","kicker":"Vector DB","tagline":"Index frames into a Chroma vector DB collection.","category":"vector-memory","useCases":["search","memory","llm-pipeline"],"deployment":["self-hosted"],"categoryIcon":"<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.6\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><circle cx=\"5\" cy=\"6\" r=\"1.6\"/><circle cx=\"12\" cy=\"4.5\" r=\"1.6\"/><circle cx=\"19\" cy=\"7\" r=\"1.6\"/><circle cx=\"6.5\" cy=\"17\" r=\"1.6\"/><circle cx=\"13\" cy=\"19\" r=\"1.6\"/><circle cx=\"19\" cy=\"15\" r=\"1.6\"/><path d=\"m6.2 7.2 5 9.6M13.4 5.4l5 9.2M12 6l.8 11M6 7l12 8M5.2 7l1 8.4M19 9l0 5\"/></svg>","categoryAccent":"#a78bfa"},{"slug":"qdrant","name":"Qdrant","kicker":"Vector DB","tagline":"Upsert frame points into a Qdrant collection.","category":"vector-memory","useCases":["search","memory","llm-pipeline"],"deployment":["cloud","self-hosted"],"categoryIcon":"<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.6\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><circle cx=\"5\" cy=\"6\" r=\"1.6\"/><circle cx=\"12\" cy=\"4.5\" r=\"1.6\"/><circle cx=\"19\" cy=\"7\" r=\"1.6\"/><circle cx=\"6.5\" cy=\"17\" r=\"1.6\"/><circle cx=\"13\" cy=\"19\" r=\"1.6\"/><circle cx=\"19\" cy=\"15\" r=\"1.6\"/><path d=\"m6.2 7.2 5 9.6M13.4 5.4l5 9.2M12 6l.8 11M6 7l12 8M5.2 7l1 8.4M19 9l0 5\"/></svg>","categoryAccent":"#a78bfa"},{"slug":"pinecone","name":"Pinecone","kicker":"Vector DB","tagline":"Upsert frames into a Pinecone serverless index.","category":"vector-memory","useCases":["search","memory","llm-pipeline"],"deployment":["cloud"],"categoryIcon":"<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.6\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><circle cx=\"5\" cy=\"6\" r=\"1.6\"/><circle cx=\"12\" cy=\"4.5\" r=\"1.6\"/><circle cx=\"19\" cy=\"7\" r=\"1.6\"/><circle cx=\"6.5\" cy=\"17\" r=\"1.6\"/><circle cx=\"13\" cy=\"19\" r=\"1.6\"/><circle cx=\"19\" cy=\"15\" r=\"1.6\"/><path d=\"m6.2 7.2 5 9.6M13.4 5.4l5 9.2M12 6l.8 11M6 7l12 8M5.2 7l1 8.4M19 9l0 5\"/></svg>","categoryAccent":"#a78bfa"},{"slug":"pgvector","name":"pgvector","kicker":"Vector-in-SQL","tagline":"Vector search on top of the postgres sink.","category":"vector-memory","useCases":["search","memory","llm-pipeline"],"deployment":["cloud","self-hosted"],"categoryIcon":"<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.6\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><circle cx=\"5\" cy=\"6\" r=\"1.6\"/><circle cx=\"12\" cy=\"4.5\" r=\"1.6\"/><circle cx=\"19\" cy=\"7\" r=\"1.6\"/><circle cx=\"6.5\" cy=\"17\" r=\"1.6\"/><circle cx=\"13\" cy=\"19\" r=\"1.6\"/><circle cx=\"19\" cy=\"15\" r=\"1.6\"/><path d=\"m6.2 7.2 5 9.6M13.4 5.4l5 9.2M12 6l.8 11M6 7l12 8M5.2 7l1 8.4M19 9l0 5\"/></svg>","categoryAccent":"#a78bfa"},{"slug":"mongodb","name":"MongoDB","kicker":"Document store","tagline":"Runs and frames written into MongoDB collections.","category":"sql","useCases":["archive","search"],"deployment":["cloud","self-hosted"],"categoryIcon":"<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.6\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><ellipse cx=\"12\" cy=\"5.5\" rx=\"7\" ry=\"2.5\"/><path d=\"M5 5.5v13c0 1.4 3.1 2.5 7 2.5s7-1.1 7-2.5v-13\"/><path d=\"M5 12c0 1.4 3.1 2.5 7 2.5s7-1.1 7-2.5\"/></svg>","categoryAccent":"#60a5fa"},{"slug":"mempalace","name":"MemPalace","kicker":"Local AI memory","tagline":"Mineable markdown notes into a local MemPalace.","category":"vector-memory","useCases":["memory","llm-pipeline"],"deployment":["llm","local"],"categoryIcon":"<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.6\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><circle cx=\"5\" cy=\"6\" r=\"1.6\"/><circle cx=\"12\" cy=\"4.5\" r=\"1.6\"/><circle cx=\"19\" cy=\"7\" r=\"1.6\"/><circle cx=\"6.5\" cy=\"17\" r=\"1.6\"/><circle cx=\"13\" cy=\"19\" r=\"1.6\"/><circle cx=\"19\" cy=\"15\" r=\"1.6\"/><path d=\"m6.2 7.2 5 9.6M13.4 5.4l5 9.2M12 6l.8 11M6 7l12 8M5.2 7l1 8.4M19 9l0 5\"/></svg>","categoryAccent":"#a78bfa"},{"slug":"zep","name":"Zep","kicker":"Agent memory","tagline":"Append every run to a Zep long-term-memory session.","category":"vector-memory","useCases":["memory","llm-pipeline"],"deployment":["cloud","self-hosted","llm"],"categoryIcon":"<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.6\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><circle cx=\"5\" cy=\"6\" r=\"1.6\"/><circle cx=\"12\" cy=\"4.5\" r=\"1.6\"/><circle cx=\"19\" cy=\"7\" r=\"1.6\"/><circle cx=\"6.5\" cy=\"17\" r=\"1.6\"/><circle cx=\"13\" cy=\"19\" r=\"1.6\"/><circle cx=\"19\" cy=\"15\" r=\"1.6\"/><path d=\"m6.2 7.2 5 9.6M13.4 5.4l5 9.2M12 6l.8 11M6 7l12 8M5.2 7l1 8.4M19 9l0 5\"/></svg>","categoryAccent":"#a78bfa"},{"slug":"mem0","name":"Mem0","kicker":"Agent memory","tagline":"Distil every run into Mem0 long-term memory.","category":"vector-memory","useCases":["memory","llm-pipeline"],"deployment":["cloud","self-hosted","llm"],"categoryIcon":"<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.6\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><circle cx=\"5\" cy=\"6\" r=\"1.6\"/><circle cx=\"12\" cy=\"4.5\" r=\"1.6\"/><circle cx=\"19\" cy=\"7\" r=\"1.6\"/><circle cx=\"6.5\" cy=\"17\" r=\"1.6\"/><circle cx=\"13\" cy=\"19\" r=\"1.6\"/><circle cx=\"19\" cy=\"15\" r=\"1.6\"/><path d=\"m6.2 7.2 5 9.6M13.4 5.4l5 9.2M12 6l.8 11M6 7l12 8M5.2 7l1 8.4M19 9l0 5\"/></svg>","categoryAccent":"#a78bfa"},{"slug":"weaviate","name":"Weaviate","kicker":"Vector DB","tagline":"Batch-insert frames into a Weaviate class.","category":"vector-memory","useCases":["search","llm-pipeline"],"deployment":["cloud","self-hosted"],"categoryIcon":"<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.6\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><circle cx=\"5\" cy=\"6\" r=\"1.6\"/><circle cx=\"12\" cy=\"4.5\" r=\"1.6\"/><circle cx=\"19\" cy=\"7\" r=\"1.6\"/><circle cx=\"6.5\" cy=\"17\" r=\"1.6\"/><circle cx=\"13\" cy=\"19\" r=\"1.6\"/><circle cx=\"19\" cy=\"15\" r=\"1.6\"/><path d=\"m6.2 7.2 5 9.6M13.4 5.4l5 9.2M12 6l.8 11M6 7l12 8M5.2 7l1 8.4M19 9l0 5\"/></svg>","categoryAccent":"#a78bfa"},{"slug":"milvus","name":"Milvus","kicker":"Vector DB","tagline":"Upsert frame rows into Milvus or Zilliz Cloud.","category":"vector-memory","useCases":["search","llm-pipeline"],"deployment":["cloud","self-hosted"],"categoryIcon":"<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.6\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><circle cx=\"5\" cy=\"6\" r=\"1.6\"/><circle cx=\"12\" cy=\"4.5\" r=\"1.6\"/><circle cx=\"19\" cy=\"7\" r=\"1.6\"/><circle cx=\"6.5\" cy=\"17\" r=\"1.6\"/><circle cx=\"13\" cy=\"19\" r=\"1.6\"/><circle cx=\"19\" cy=\"15\" r=\"1.6\"/><path d=\"m6.2 7.2 5 9.6M13.4 5.4l5 9.2M12 6l.8 11M6 7l12 8M5.2 7l1 8.4M19 9l0 5\"/></svg>","categoryAccent":"#a78bfa"},{"slug":"letta","name":"Letta","kicker":"Agent memory","tagline":"Post a run summary to a Letta (MemGPT) agent inbox.","category":"vector-memory","useCases":["memory","llm-pipeline"],"deployment":["cloud","self-hosted","llm"],"categoryIcon":"<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.6\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><circle cx=\"5\" cy=\"6\" r=\"1.6\"/><circle cx=\"12\" cy=\"4.5\" r=\"1.6\"/><circle cx=\"19\" cy=\"7\" r=\"1.6\"/><circle cx=\"6.5\" cy=\"17\" r=\"1.6\"/><circle cx=\"13\" cy=\"19\" r=\"1.6\"/><circle cx=\"19\" cy=\"15\" r=\"1.6\"/><path d=\"m6.2 7.2 5 9.6M13.4 5.4l5 9.2M12 6l.8 11M6 7l12 8M5.2 7l1 8.4M19 9l0 5\"/></svg>","categoryAccent":"#a78bfa"},{"slug":"jira","name":"Jira","kicker":"Issue tracker","tagline":"File a Jira issue with every frame as an attachment.","category":"issues","useCases":["alert"],"deployment":["cloud","self-hosted"],"categoryIcon":"<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.6\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect x=\"4\" y=\"4\" width=\"16\" height=\"16\" rx=\"2\"/><path d=\"m7.5 9 2 2 4-4\"/><path d=\"M13 14h5\"/><path d=\"M13 17h4\"/><path d=\"M7 14h2\"/><path d=\"M7 17h2\"/></svg>","categoryAccent":"#fbbf24"},{"slug":"asana","name":"Asana","kicker":"Issue tracker","tagline":"Create an Asana task with every frame attached.","category":"issues","useCases":["alert","review"],"deployment":["cloud"],"categoryIcon":"<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.6\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect x=\"4\" y=\"4\" width=\"16\" height=\"16\" rx=\"2\"/><path d=\"m7.5 9 2 2 4-4\"/><path d=\"M13 14h5\"/><path d=\"M13 17h4\"/><path d=\"M7 14h2\"/><path d=\"M7 17h2\"/></svg>","categoryAccent":"#fbbf24"},{"slug":"clickup","name":"ClickUp","kicker":"Issue tracker","tagline":"Create a ClickUp task with frames attached.","category":"issues","useCases":["alert","review"],"deployment":["cloud"],"categoryIcon":"<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.6\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect x=\"4\" y=\"4\" width=\"16\" height=\"16\" rx=\"2\"/><path d=\"m7.5 9 2 2 4-4\"/><path d=\"M13 14h5\"/><path d=\"M13 17h4\"/><path d=\"M7 14h2\"/><path d=\"M7 17h2\"/></svg>","categoryAccent":"#fbbf24"},{"slug":"shortcut","name":"Shortcut","kicker":"Issue tracker","tagline":"Open a Shortcut story with every frame linked as a file.","category":"issues","useCases":["alert","review"],"deployment":["cloud"],"categoryIcon":"<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.6\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect x=\"4\" y=\"4\" width=\"16\" height=\"16\" rx=\"2\"/><path d=\"m7.5 9 2 2 4-4\"/><path d=\"M13 14h5\"/><path d=\"M13 17h4\"/><path d=\"M7 14h2\"/><path d=\"M7 17h2\"/></svg>","categoryAccent":"#fbbf24"},{"slug":"trello","name":"Trello","kicker":"Issue tracker","tagline":"Create a Trello card with every frame attached.","category":"issues","useCases":["alert","review"],"deployment":["cloud"],"categoryIcon":"<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.6\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect x=\"4\" y=\"4\" width=\"16\" height=\"16\" rx=\"2\"/><path d=\"m7.5 9 2 2 4-4\"/><path d=\"M13 14h5\"/><path d=\"M13 17h4\"/><path d=\"M7 14h2\"/><path d=\"M7 17h2\"/></svg>","categoryAccent":"#fbbf24"},{"slug":"posthog","name":"PostHog","kicker":"Product analytics","tagline":"Capture every run as a PostHog product-analytics event.","category":"analytics","useCases":["analytics"],"deployment":["cloud","self-hosted"],"categoryIcon":"<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.6\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M4 20V4\"/><path d=\"M4 20h16\"/><rect x=\"7\" y=\"13\" width=\"3\" height=\"5\"/><rect x=\"12\" y=\"9\" width=\"3\" height=\"9\"/><rect x=\"17\" y=\"6\" width=\"3\" height=\"12\"/></svg>","categoryAccent":"#22d3ee"},{"slug":"plausible","name":"Plausible","kicker":"Product analytics","tagline":"Fire a custom Plausible event for every run.","category":"analytics","useCases":["analytics"],"deployment":["cloud","self-hosted"],"categoryIcon":"<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.6\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M4 20V4\"/><path d=\"M4 20h16\"/><rect x=\"7\" y=\"13\" width=\"3\" height=\"5\"/><rect x=\"12\" y=\"9\" width=\"3\" height=\"9\"/><rect x=\"17\" y=\"6\" width=\"3\" height=\"12\"/></svg>","categoryAccent":"#22d3ee"},{"slug":"datadog","name":"Datadog","kicker":"Observability","tagline":"POST every run as a Datadog event.","category":"observability","useCases":["analytics","compliance","alert"],"deployment":["cloud"],"categoryIcon":"<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.6\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><circle cx=\"12\" cy=\"12\" r=\"9\"/><circle cx=\"12\" cy=\"12\" r=\"5.5\"/><circle cx=\"12\" cy=\"12\" r=\"2\" fill=\"currentColor\" stroke=\"none\"/><path d=\"M12 3v2M12 19v2M3 12h2M19 12h2\"/></svg>","categoryAccent":"#f87171"},{"slug":"pagerduty","name":"PagerDuty","kicker":"Observability","tagline":"Trigger a PagerDuty Events API v2 incident on every run.","category":"observability","useCases":["alert"],"deployment":["cloud"],"categoryIcon":"<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.6\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><circle cx=\"12\" cy=\"12\" r=\"9\"/><circle cx=\"12\" cy=\"12\" r=\"5.5\"/><circle cx=\"12\" cy=\"12\" r=\"2\" fill=\"currentColor\" stroke=\"none\"/><path d=\"M12 3v2M12 19v2M3 12h2M19 12h2\"/></svg>","categoryAccent":"#f87171"},{"slug":"event-track","name":"Event Track","kicker":"Product analytics","tagline":"One sink for Mixpanel, Amplitude, and Segment.","category":"analytics","useCases":["analytics"],"deployment":["cloud"],"categoryIcon":"<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.6\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M4 20V4\"/><path d=\"M4 20h16\"/><rect x=\"7\" y=\"13\" width=\"3\" height=\"5\"/><rect x=\"12\" y=\"9\" width=\"3\" height=\"9\"/><rect x=\"17\" y=\"6\" width=\"3\" height=\"12\"/></svg>","categoryAccent":"#22d3ee"},{"slug":"telegram","name":"Telegram","kicker":"Messaging","tagline":"Post every run to a Telegram chat with frames as an album.","category":"chat","useCases":["alert"],"deployment":["cloud"],"categoryIcon":"<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.6\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M4 6h16v11H9l-4 4v-4H4z\"/><circle cx=\"9\" cy=\"11.5\" r=\"0.9\" fill=\"currentColor\" stroke=\"none\"/><circle cx=\"12\" cy=\"11.5\" r=\"0.9\" fill=\"currentColor\" stroke=\"none\"/><circle cx=\"15\" cy=\"11.5\" r=\"0.9\" fill=\"currentColor\" stroke=\"none\"/></svg>","categoryAccent":"#34d399"},{"slug":"msteams","name":"Microsoft Teams","kicker":"Team chat","tagline":"POST every run as an Adaptive Card to a Teams webhook.","category":"chat","useCases":["alert"],"deployment":["cloud"],"categoryIcon":"<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.6\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M4 6h16v11H9l-4 4v-4H4z\"/><circle cx=\"9\" cy=\"11.5\" r=\"0.9\" fill=\"currentColor\" stroke=\"none\"/><circle cx=\"12\" cy=\"11.5\" r=\"0.9\" fill=\"currentColor\" stroke=\"none\"/><circle cx=\"15\" cy=\"11.5\" r=\"0.9\" fill=\"currentColor\" stroke=\"none\"/></svg>","categoryAccent":"#34d399"},{"slug":"mattermost","name":"Mattermost","kicker":"Team chat","tagline":"POST every run to a Mattermost webhook.","category":"chat","useCases":["alert"],"deployment":["cloud","self-hosted"],"categoryIcon":"<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.6\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M4 6h16v11H9l-4 4v-4H4z\"/><circle cx=\"9\" cy=\"11.5\" r=\"0.9\" fill=\"currentColor\" stroke=\"none\"/><circle cx=\"12\" cy=\"11.5\" r=\"0.9\" fill=\"currentColor\" stroke=\"none\"/><circle cx=\"15\" cy=\"11.5\" r=\"0.9\" fill=\"currentColor\" stroke=\"none\"/></svg>","categoryAccent":"#34d399"},{"slug":"rocketchat","name":"Rocket.Chat","kicker":"Team chat","tagline":"POST every run to a Rocket.Chat incoming webhook.","category":"chat","useCases":["alert"],"deployment":["cloud","self-hosted"],"categoryIcon":"<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.6\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M4 6h16v11H9l-4 4v-4H4z\"/><circle cx=\"9\" cy=\"11.5\" r=\"0.9\" fill=\"currentColor\" stroke=\"none\"/><circle cx=\"12\" cy=\"11.5\" r=\"0.9\" fill=\"currentColor\" stroke=\"none\"/><circle cx=\"15\" cy=\"11.5\" r=\"0.9\" fill=\"currentColor\" stroke=\"none\"/></svg>","categoryAccent":"#34d399"},{"slug":"zulip","name":"Zulip","kicker":"Team chat","tagline":"Post every run to a Zulip stream topic or DM.","category":"chat","useCases":["alert"],"deployment":["cloud","self-hosted"],"categoryIcon":"<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.6\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M4 6h16v11H9l-4 4v-4H4z\"/><circle cx=\"9\" cy=\"11.5\" r=\"0.9\" fill=\"currentColor\" stroke=\"none\"/><circle cx=\"12\" cy=\"11.5\" r=\"0.9\" fill=\"currentColor\" stroke=\"none\"/><circle cx=\"15\" cy=\"11.5\" r=\"0.9\" fill=\"currentColor\" stroke=\"none\"/></svg>","categoryAccent":"#34d399"},{"slug":"matrix","name":"Matrix","kicker":"Messaging","tagline":"Post every run to a Matrix room with frames as m.image events.","category":"chat","useCases":["alert"],"deployment":["self-hosted"],"categoryIcon":"<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.6\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M4 6h16v11H9l-4 4v-4H4z\"/><circle cx=\"9\" cy=\"11.5\" r=\"0.9\" fill=\"currentColor\" stroke=\"none\"/><circle cx=\"12\" cy=\"11.5\" r=\"0.9\" fill=\"currentColor\" stroke=\"none\"/><circle cx=\"15\" cy=\"11.5\" r=\"0.9\" fill=\"currentColor\" stroke=\"none\"/></svg>","categoryAccent":"#34d399"},{"slug":"miro","name":"Miro","kicker":"Whiteboard","tagline":"Drop every frame onto a Miro board as a comic-strip grid.","category":"whiteboard","useCases":["whiteboard"],"deployment":["cloud"],"categoryIcon":"<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.6\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect x=\"3\" y=\"4\" width=\"18\" height=\"13\" rx=\"1.5\"/><path d=\"M12 17v3\"/><path d=\"M9 20h6\"/><path d=\"m7 8 3 3 3-4 4 5\"/></svg>","categoryAccent":"#fb923c"},{"slug":"figma","name":"Figma","kicker":"Design","tagline":"Comment every run onto a Figma file.","category":"whiteboard","useCases":["whiteboard","review"],"deployment":["cloud"],"categoryIcon":"<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.6\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect x=\"3\" y=\"4\" width=\"18\" height=\"13\" rx=\"1.5\"/><path d=\"M12 17v3\"/><path d=\"M9 20h6\"/><path d=\"m7 8 3 3 3-4 4 5\"/></svg>","categoryAccent":"#fb923c"},{"slug":"outline","name":"Outline","kicker":"Wiki","tagline":"Create an Outline document per run.","category":"wiki","useCases":["whiteboard","review"],"deployment":["cloud","self-hosted"],"categoryIcon":"<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.6\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M12 5v15\"/><path d=\"M3 6c3 0 6 .5 9 2 3-1.5 6-2 9-2v13c-3 0-6 .5-9 2-3-1.5-6-2-9-2z\"/><path d=\"M6 10h3M6 13h3M15 10h3M15 13h3\"/></svg>","categoryAccent":"#f472b6"},{"slug":"confluence","name":"Confluence","kicker":"Wiki","tagline":"Create a Confluence page per run.","category":"wiki","useCases":["whiteboard","review"],"deployment":["cloud","self-hosted"],"categoryIcon":"<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.6\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M12 5v15\"/><path d=\"M3 6c3 0 6 .5 9 2 3-1.5 6-2 9-2v13c-3 0-6 .5-9 2-3-1.5-6-2-9-2z\"/><path d=\"M6 10h3M6 13h3M15 10h3M15 13h3\"/></svg>","categoryAccent":"#f472b6"},{"slug":"logseq","name":"Logseq","kicker":"Local knowledge","tagline":"Write every run as a page into a Logseq graph.","category":"wiki","useCases":["whiteboard","review"],"deployment":["local"],"categoryIcon":"<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.6\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M12 5v15\"/><path d=\"M3 6c3 0 6 .5 9 2 3-1.5 6-2 9-2v13c-3 0-6 .5-9 2-3-1.5-6-2-9-2z\"/><path d=\"M6 10h3M6 13h3M15 10h3M15 13h3\"/></svg>","categoryAccent":"#f472b6"},{"slug":"gcs","name":"Google Cloud Storage","kicker":"Object storage","tagline":"Upload frames and manifest to a GCS bucket.","category":"storage","useCases":["archive"],"deployment":["cloud"],"categoryIcon":"<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.6\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M4 9h16v11H4z\"/><path d=\"m4 9 2-5h12l2 5\"/><path d=\"M4 9h16\"/><path d=\"M10 13h4\"/></svg>","categoryAccent":"#f0abfc"},{"slug":"azure-blob","name":"Azure Blob Storage","kicker":"Object storage","tagline":"Upload frames and manifest to an Azure Blob container.","category":"storage","useCases":["archive"],"deployment":["cloud"],"categoryIcon":"<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.6\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M4 9h16v11H4z\"/><path d=\"m4 9 2-5h12l2 5\"/><path d=\"M4 9h16\"/><path d=\"M10 13h4\"/></svg>","categoryAccent":"#f0abfc"},{"slug":"supabase","name":"Supabase Storage","kicker":"Object storage","tagline":"Upload frames and manifest to a Supabase Storage bucket.","category":"storage","useCases":["archive"],"deployment":["cloud","self-hosted"],"categoryIcon":"<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.6\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M4 9h16v11H4z\"/><path d=\"m4 9 2-5h12l2 5\"/><path d=\"M4 9h16\"/><path d=\"M10 13h4\"/></svg>","categoryAccent":"#f0abfc"},{"slug":"dropbox","name":"Dropbox","kicker":"Object storage","tagline":"Upload frames and manifest to a Dropbox folder.","category":"storage","useCases":["archive"],"deployment":["cloud"],"categoryIcon":"<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.6\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M4 9h16v11H4z\"/><path d=\"m4 9 2-5h12l2 5\"/><path d=\"M4 9h16\"/><path d=\"M10 13h4\"/></svg>","categoryAccent":"#f0abfc"},{"slug":"gdrive","name":"Google Drive","kicker":"Object storage","tagline":"Upload frames and manifest to a Google Drive folder.","category":"storage","useCases":["archive"],"deployment":["cloud"],"categoryIcon":"<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.6\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M4 9h16v11H4z\"/><path d=\"m4 9 2-5h12l2 5\"/><path d=\"M4 9h16\"/><path d=\"M10 13h4\"/></svg>","categoryAccent":"#f0abfc"},{"slug":"box","name":"Box","kicker":"Object storage","tagline":"Upload frames and manifest to a Box folder.","category":"storage","useCases":["archive"],"deployment":["cloud"],"categoryIcon":"<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.6\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M4 9h16v11H4z\"/><path d=\"m4 9 2-5h12l2 5\"/><path d=\"M4 9h16\"/><path d=\"M10 13h4\"/></svg>","categoryAccent":"#f0abfc"}],"categories":[{"slug":"sql","name":"SQL & document","tagline":"Persist every run into a queryable store — SQLite, Postgres, MongoDB.","accent":"#60a5fa"},{"slug":"vector-memory","name":"Vector + AI memory","tagline":"Index frames for semantic recall — Chroma, Qdrant, Pinecone, Milvus, MemPalace.","accent":"#a78bfa"},{"slug":"storage","name":"Object + file storage","tagline":"Durable uploads to S3-compatible, GCS, Azure, Dropbox, GDrive, Box.","accent":"#f0abfc"},{"slug":"chat","name":"Chat & messaging","tagline":"Post the run summary into Slack, Discord, Teams, Telegram, Matrix and more.","accent":"#34d399"},{"slug":"issues","name":"Issue trackers","tagline":"Attach frames as evidence on Linear, GitHub, Jira, Asana, ClickUp, Trello.","accent":"#fbbf24"},{"slug":"wiki","name":"Wiki & notes","tagline":"Drop a per-run page into Notion, Obsidian, Logseq, Outline, Confluence.","accent":"#f472b6"},{"slug":"whiteboard","name":"Whiteboards & canvas","tagline":"Lay frames out on Miro or drop a comment on a Figma file.","accent":"#fb923c"},{"slug":"analytics","name":"Product analytics","tagline":"Log a peepshow run as a product event — PostHog, Plausible, Mixpanel/Amplitude/Segment.","accent":"#22d3ee"},{"slug":"observability","name":"Observability","tagline":"Attach run evidence to Sentry issues, Datadog events, PagerDuty incidents.","accent":"#f87171"},{"slug":"workflow","name":"Workflow & glue","tagline":"Generic surfaces — webhook, GraphQL, IDE attachment folders.","accent":"#e5e7eb"}]}