// Abstract workgraph visualization — nodes + edges showing humans + AI agents flowing across tasks const Workgraph = () => { const accent = 'var(--accent)'; const ink = 'var(--ink)'; const muted = 'var(--muted)'; const surface = 'var(--surface)'; const line = 'var(--line)'; // Nodes: type h=human, a=agent, t=task, o=outcome const nodes = [ { id: 'n1', type: 'h', x: 80, y: 90, label: 'Sales Rep' }, { id: 'n2', type: 'a', x: 230, y: 60, label: 'Lead qualifier' }, { id: 'n3', type: 't', x: 380, y: 110, label: 'Discovery call' }, { id: 'n4', type: 'h', x: 530, y: 70, label: 'AE' }, { id: 'n5', type: 'a', x: 680, y: 130, label: 'Notes agent' }, { id: 'n6', type: 'a', x: 90, y: 220, label: 'Intake bot' }, { id: 'n7', type: 't', x: 240, y: 250, label: 'Triage' }, { id: 'n8', type: 'h', x: 400, y: 240, label: 'Specialist' }, { id: 'n9', type: 'a', x: 560, y: 280, label: 'Drafting agent' }, { id: 'n10',type: 'o', x: 720, y: 250, label: 'Resolved' }, { id: 'n11',type: 'h', x: 150, y: 380, label: 'Manager' }, { id: 'n12',type: 't', x: 320, y: 400, label: 'Approval' }, { id: 'n13',type: 'a', x: 480, y: 410, label: 'Compliance check' }, { id: 'n14',type: 'o', x: 660, y: 380, label: 'Shipped' }, ]; const edges = [ ['n1','n2'], ['n2','n3'], ['n3','n4'], ['n4','n5'], ['n5','n10'], ['n6','n7'], ['n7','n8'], ['n8','n9'], ['n9','n10'], ['n11','n12'], ['n12','n13'], ['n13','n14'], ['n2','n7'], ['n8','n12'], ['n4','n8'], ]; const byId = Object.fromEntries(nodes.map(n => [n.id, n])); const nodeShape = (n) => { const r = 14; if (n.type === 'h') return ; if (n.type === 'a') return ; if (n.type === 'o') return ; // task — diamond return ; }; return (
Customer Operations
live · 14 nodes
{/* edges */} {edges.map(([a,b], i) => { const A = byId[a], B = byId[b]; const mx = (A.x + B.x) / 2; const my = (A.y + B.y) / 2 - 20; return ( ); })} {/* moving particle on a key edge */} {/* nodes */} {nodes.map(n => ( {nodeShape(n)} {n.label} ))} {/* lane labels */} SALES SUPPORT FULFILLMENT
Human AI agent Task Outcome
); }; window.Workgraph = Workgraph;