Instructions

Mokujiro Studio

MokuGraph

AI Architecture Maps for Framer. Physics-driven interactive graphs that look like real production systems — 12 templates built on actual AI architectures.

12 templatesProduction architecturesCustom JSOND3 physicsResponsive

Quick Start

1
Add MokuGraph to your Framer canvas and resize to at least 500x400px for larger templates
2
Choose a Template from the property panel — AI Agent Architecture is the default hero template
3
Set Mode to Interactive to enable hover highlights and click-to-open detail drawer
4
Adjust colours, physics, and drawer layout from the property panel — all changes preview live
5
To use custom data: copy any template JSON below, paste into Custom Graph Data, and edit the nodes

Templates — copy JSON to customise

Twelve production-grade graph topologies modelled on real AI system architectures. Copy any template JSON and paste it into Custom Graph Data to start customising.

AI Agent Architecture

Complex18 nodes

Full-stack AI agent: chat interface, prompt management, dual memory, semantic retrieval, observability, evaluation, and tool integrations. The most comprehensive template — use on AI product landing pages where showing architectural depth builds credibility.

[
  {
    "id": "user",
    "title": "User",
    "description": "The human initiating the conversation. Sends natural language requests through the chat interface.",
    "connections": [
      "chat-interface"
    ],
    "tags": [
      "AI",
      "input"
    ]
  },
  {
    "id": "chat-interface",
    "title": "Chat Interface",
    "description": "Frontend layer receiving user messages and streaming responses back. Handles session context and UI state.",
    "connections": [
      "user",
      "agent-orchestrator"
    ],
    "tags": [
      "Infrastructure",
      "routing"
    ]
  },
  {
    "id": "agent-orchestrator",
    "title": "Agent Orchestrator",
    "description": "The core reasoning engine. Decides whether to retrieve context, access memory, call a tool, or generate a response. Coordinates all downstream subsystems.",
    "connections": [
      "chat-interface",
      "prompt-manager",
      "retriever",
      "session-memory",
      "long-term-memory",
      "cache",
      "tool-router",
      "observability",
      "evaluation-layer"
    ],
    "tags": [
      "AI",
      "orchestration"
    ]
  },
  {
    "id": "prompt-manager",
    "title": "Prompt Manager",
    "description": "Assembles the final prompt from system instructions, retrieved context, memory state, and conversation history before passing to the LLM.",
    "connections": [
      "agent-orchestrator",
      "llm"
    ],
    "tags": [
      "AI",
      "planning"
    ]
  },
  {
    "id": "llm",
    "title": "LLM",
    "description": "Foundation model generating natural language responses conditioned on the assembled prompt and retrieved context.",
    "connections": [
      "prompt-manager",
      "response"
    ],
    "tags": [
      "AI",
      "generation"
    ]
  },
  {
    "id": "retriever",
    "title": "Retriever",
    "description": "Converts user queries into embeddings and fetches the most relevant documents from the knowledge base and vector store.",
    "connections": [
      "agent-orchestrator",
      "knowledge-base",
      "vector-database"
    ],
    "tags": [
      "AI",
      "retrieval"
    ]
  },
  {
    "id": "knowledge-base",
    "title": "Knowledge Base",
    "description": "Curated source documents — product docs, policies, FAQs — indexed for retrieval to ground agent responses in facts.",
    "connections": [
      "retriever"
    ],
    "tags": [
      "AI",
      "knowledge"
    ]
  },
  {
    "id": "vector-database",
    "title": "Vector Database",
    "description": "Stores dense embeddings of knowledge base content. Returns semantically similar chunks for any query in milliseconds.",
    "connections": [
      "retriever"
    ],
    "tags": [
      "Infrastructure",
      "storage"
    ]
  },
  {
    "id": "session-memory",
    "title": "Session Memory",
    "description": "Holds the active conversation window — recent messages, active goals, and working context for the current session.",
    "connections": [
      "agent-orchestrator"
    ],
    "tags": [
      "AI",
      "memory"
    ]
  },
  {
    "id": "long-term-memory",
    "title": "Long-Term Memory",
    "description": "Persists learned facts, user preferences, and past outcomes across sessions to personalise future interactions.",
    "connections": [
      "agent-orchestrator"
    ],
    "tags": [
      "AI",
      "state"
    ]
  },
  {
    "id": "cache",
    "title": "Cache",
    "description": "Stores recent LLM responses and retrieved results keyed by query hash. Reduces latency and cost for repeated inputs.",
    "connections": [
      "agent-orchestrator"
    ],
    "tags": [
      "Infrastructure",
      "storage"
    ]
  },
  {
    "id": "tool-router",
    "title": "Tool Router",
    "description": "Parses agent intent and routes function calls to the appropriate external service or API integration.",
    "connections": [
      "agent-orchestrator",
      "crm-api",
      "email-api"
    ],
    "tags": [
      "Infrastructure",
      "execution"
    ]
  },
  {
    "id": "crm-api",
    "title": "CRM API",
    "description": "Reads and writes customer records, deal status, and account history from the CRM system.",
    "connections": [
      "tool-router"
    ],
    "tags": [
      "Infrastructure",
      "integration"
    ]
  },
  {
    "id": "email-api",
    "title": "Email API",
    "description": "Sends emails, reads inbox threads, and manages drafts via integration with the mail provider.",
    "connections": [
      "tool-router"
    ],
    "tags": [
      "Infrastructure",
      "integration"
    ]
  },
  {
    "id": "observability",
    "title": "Observability",
    "description": "Traces every reasoning step, tool call, and retrieval event. Surfaces latency, token cost, and error rates for monitoring and debugging.",
    "connections": [
      "agent-orchestrator"
    ],
    "tags": [
      "Infrastructure",
      "reliability"
    ]
  },
  {
    "id": "evaluation-layer",
    "title": "Evaluation Layer",
    "description": "Scores agent responses for accuracy, relevance, and policy compliance. Triggers Guardrails when thresholds are not met.",
    "connections": [
      "agent-orchestrator",
      "guardrails"
    ],
    "tags": [
      "AI",
      "validation"
    ]
  },
  {
    "id": "guardrails",
    "title": "Guardrails",
    "description": "Enforces output safety and scope policies. Blocks, rewrites, or escalates responses that violate content or accuracy constraints.",
    "connections": [
      "evaluation-layer"
    ],
    "tags": [
      "AI",
      "scope"
    ]
  },
  {
    "id": "response",
    "title": "Response",
    "description": "The final answer streamed back to the user — grounded in retrieved knowledge and shaped by conversation history.",
    "connections": [
      "llm"
    ],
    "tags": [
      "AI",
      "output"
    ]
  }
]

Multi-Agent Team

Complex12 nodes

Supervisor orchestrating Research, Analysis, Planning, Writing, and QA agents via shared memory and vector retrieval. For AI platforms where complex tasks decompose into specialised parallel workstreams.

[
  {
    "id": "user",
    "title": "User",
    "description": "Submits a complex goal — a research report, a business analysis, a content strategy — that no single agent can complete alone.",
    "connections": [
      "supervisor-agent"
    ],
    "tags": [
      "AI",
      "input"
    ]
  },
  {
    "id": "supervisor-agent",
    "title": "Supervisor Agent",
    "description": "Decomposes the goal into subtasks and assigns each to the most capable specialist agent. Monitors progress and assembles the final output.",
    "connections": [
      "user",
      "research-agent",
      "analysis-agent",
      "planning-agent",
      "writing-agent",
      "qa-agent"
    ],
    "tags": [
      "AI",
      "orchestration"
    ]
  },
  {
    "id": "research-agent",
    "title": "Research Agent",
    "description": "Retrieves relevant information from the knowledge base and vector database. Surfaces raw material for the analysis and writing agents.",
    "connections": [
      "supervisor-agent",
      "knowledge-base",
      "vector-database"
    ],
    "tags": [
      "AI",
      "research"
    ]
  },
  {
    "id": "analysis-agent",
    "title": "Analysis Agent",
    "description": "Processes retrieved data — identifies patterns, draws comparisons, and synthesises findings. Stores structured conclusions in shared memory.",
    "connections": [
      "supervisor-agent",
      "memory"
    ],
    "tags": [
      "AI",
      "analysis"
    ]
  },
  {
    "id": "planning-agent",
    "title": "Planning Agent",
    "description": "Creates the structural framework — outline, argument flow, decision tree — that the writing agent will follow to produce the final output.",
    "connections": [
      "supervisor-agent",
      "memory"
    ],
    "tags": [
      "AI",
      "planning"
    ]
  },
  {
    "id": "writing-agent",
    "title": "Writing Agent",
    "description": "Generates the final written output using the LLM, following the plan and incorporating synthesised analysis findings.",
    "connections": [
      "supervisor-agent",
      "llm"
    ],
    "tags": [
      "AI",
      "writing"
    ]
  },
  {
    "id": "qa-agent",
    "title": "QA Agent",
    "description": "Reviews the writing agent's output for factual accuracy, completeness, and policy compliance before returning to the supervisor.",
    "connections": [
      "supervisor-agent",
      "llm"
    ],
    "tags": [
      "AI",
      "validation"
    ]
  },
  {
    "id": "memory",
    "title": "Shared Memory",
    "description": "A shared context store that all agents can read and write. Coordinates state across the pipeline without re-fetching intermediate results.",
    "connections": [
      "analysis-agent",
      "planning-agent"
    ],
    "tags": [
      "AI",
      "memory"
    ]
  },
  {
    "id": "knowledge-base",
    "title": "Knowledge Base",
    "description": "Curated knowledge store the Research Agent queries to source verified facts, documents, and reference material.",
    "connections": [
      "research-agent"
    ],
    "tags": [
      "AI",
      "knowledge"
    ]
  },
  {
    "id": "vector-database",
    "title": "Vector Database",
    "description": "Stores embeddings of knowledge base content and prior research outputs for semantic retrieval by the Research Agent.",
    "connections": [
      "research-agent"
    ],
    "tags": [
      "Infrastructure",
      "storage"
    ]
  },
  {
    "id": "llm",
    "title": "LLM",
    "description": "Foundation model used by the Writing and QA Agents to generate and verify coherent, grounded output from synthesised context.",
    "connections": [
      "writing-agent",
      "qa-agent",
      "output"
    ],
    "tags": [
      "AI",
      "generation"
    ]
  },
  {
    "id": "output",
    "title": "Output",
    "description": "The final deliverable assembled by the supervisor — report, strategy doc, analysis, or plan — returned to the user.",
    "connections": [
      "llm"
    ],
    "tags": [
      "AI",
      "output"
    ]
  }
]

RAG Pipeline

Moderate10 nodes

Production-grade retrieval-augmented generation: query rewriting, embedding, vector search, reranking, and grounded LLM response. For AI docs sites, Q&A products, and search interfaces.

[
  {
    "id": "user",
    "title": "User",
    "description": "Asks a question or submits a query to the application frontend.",
    "connections": [
      "application"
    ],
    "tags": [
      "AI",
      "input"
    ]
  },
  {
    "id": "application",
    "title": "Application",
    "description": "Receives the user query and routes it into the retrieval-augmented generation pipeline.",
    "connections": [
      "user",
      "query-rewriter"
    ],
    "tags": [
      "Infrastructure",
      "routing"
    ]
  },
  {
    "id": "query-rewriter",
    "title": "Query Rewriter",
    "description": "Reformulates the raw user query for better retrieval — expanding abbreviations, resolving pronouns, and generating sub-queries for complex questions.",
    "connections": [
      "application",
      "retriever"
    ],
    "tags": [
      "AI",
      "planning"
    ]
  },
  {
    "id": "retriever",
    "title": "Retriever",
    "description": "Converts the rewritten query into an embedding and fetches the most semantically similar document chunks from the vector database.",
    "connections": [
      "query-rewriter",
      "vector-database",
      "knowledge-base",
      "reranker"
    ],
    "tags": [
      "AI",
      "retrieval"
    ]
  },
  {
    "id": "vector-database",
    "title": "Vector Database",
    "description": "Stores document embeddings produced by the Embedding Service. Returns the top-k most similar chunks for any query vector.",
    "connections": [
      "retriever",
      "embedding-service"
    ],
    "tags": [
      "Infrastructure",
      "storage"
    ]
  },
  {
    "id": "knowledge-base",
    "title": "Knowledge Base",
    "description": "Source documents — PDFs, wikis, docs — ingested and chunked. Raw text sent to the Embedding Service; embeddings stored in the vector database.",
    "connections": [
      "retriever"
    ],
    "tags": [
      "AI",
      "knowledge"
    ]
  },
  {
    "id": "embedding-service",
    "title": "Embedding Service",
    "description": "Converts document chunks and query text into dense vector representations. Keeps document and query embeddings in the same semantic space.",
    "connections": [
      "vector-database"
    ],
    "tags": [
      "AI",
      "model"
    ]
  },
  {
    "id": "reranker",
    "title": "Reranker",
    "description": "Scores retrieved document chunks against the original query using a cross-encoder model. Promotes the most relevant chunks before passing to the LLM.",
    "connections": [
      "retriever",
      "llm"
    ],
    "tags": [
      "AI",
      "analysis"
    ]
  },
  {
    "id": "llm",
    "title": "LLM",
    "description": "Generates a grounded, accurate answer conditioned on the reranked document context and the user's original question.",
    "connections": [
      "reranker",
      "response"
    ],
    "tags": [
      "AI",
      "generation"
    ]
  },
  {
    "id": "response",
    "title": "Response",
    "description": "The final grounded answer returned to the user — factual, cited, and contextually relevant.",
    "connections": [
      "llm"
    ],
    "tags": [
      "AI",
      "output"
    ]
  }
]

Agentic RAG

Complex10 nodes

RAG with an agent loop: the agent plans multi-step retrieval, decides when to fetch more context, and calls external tools before generating a response. For research assistants, legal Q&A, and domain-expert systems.

[
  {
    "id": "user",
    "title": "User",
    "description": "Submits a question or research goal that may require multiple retrieval steps to answer completely.",
    "connections": [
      "agent"
    ],
    "tags": [
      "AI",
      "input"
    ]
  },
  {
    "id": "agent",
    "title": "Agent",
    "description": "Orchestrates the retrieval loop. Queries the planner to decide what to retrieve next, routes tool calls, and synthesises the final answer with the LLM.",
    "connections": [
      "user",
      "planner",
      "tool-router",
      "llm"
    ],
    "tags": [
      "AI",
      "orchestration"
    ]
  },
  {
    "id": "planner",
    "title": "Planner",
    "description": "Breaks the user goal into a retrieval plan — deciding which sources to query, in what order, and whether enough context has been gathered to answer.",
    "connections": [
      "agent",
      "retriever"
    ],
    "tags": [
      "AI",
      "planning"
    ]
  },
  {
    "id": "retriever",
    "title": "Retriever",
    "description": "Fetches semantically similar document chunks from the vector database and knowledge base for each step of the retrieval plan.",
    "connections": [
      "planner",
      "vector-database",
      "knowledge-base"
    ],
    "tags": [
      "AI",
      "retrieval"
    ]
  },
  {
    "id": "vector-database",
    "title": "Vector Database",
    "description": "Stores dense document embeddings. Queried repeatedly by the Retriever across multiple planning steps.",
    "connections": [
      "retriever"
    ],
    "tags": [
      "Infrastructure",
      "storage"
    ]
  },
  {
    "id": "knowledge-base",
    "title": "Knowledge Base",
    "description": "Curated domain documents indexed for retrieval. The agent can also use this as a memory store for intermediate findings.",
    "connections": [
      "retriever"
    ],
    "tags": [
      "AI",
      "knowledge"
    ]
  },
  {
    "id": "tool-router",
    "title": "Tool Router",
    "description": "Handles tool calls the agent issues when retrieval alone is insufficient — web search, code execution, structured data queries.",
    "connections": [
      "agent",
      "external-apis"
    ],
    "tags": [
      "Infrastructure",
      "execution"
    ]
  },
  {
    "id": "external-apis",
    "title": "External APIs",
    "description": "Live data sources the agent can query: web search, databases, calculation engines, and domain-specific APIs.",
    "connections": [
      "tool-router"
    ],
    "tags": [
      "Infrastructure",
      "integration"
    ]
  },
  {
    "id": "llm",
    "title": "LLM",
    "description": "Synthesises the accumulated retrieved context and tool outputs into a comprehensive, grounded response.",
    "connections": [
      "agent",
      "response"
    ],
    "tags": [
      "AI",
      "generation"
    ]
  },
  {
    "id": "response",
    "title": "Response",
    "description": "The final multi-step synthesised answer returned to the user after the agent loop completes.",
    "connections": [
      "llm"
    ],
    "tags": [
      "AI",
      "output"
    ]
  }
]

AI Customer Support

Moderate10 nodes

AI support agent with vector search, CRM lookup, ticketing escalation, and human handoff. For SaaS companies, support platforms, and AI products with customer-facing workflows.

[
  {
    "id": "customer",
    "title": "Customer",
    "description": "The end user seeking help. Sends a support query through the chat widget embedded in the product or website.",
    "connections": [
      "chat-widget"
    ],
    "tags": [
      "Business",
      "users"
    ]
  },
  {
    "id": "chat-widget",
    "title": "Chat Widget",
    "description": "The frontend support interface. Captures customer messages, manages conversation state, and streams agent responses.",
    "connections": [
      "customer",
      "support-agent"
    ],
    "tags": [
      "Infrastructure",
      "routing"
    ]
  },
  {
    "id": "support-agent",
    "title": "Support Agent",
    "description": "The AI reasoning engine. Decides whether to retrieve an answer, create a ticket, look up the customer record, or escalate to a human.",
    "connections": [
      "chat-widget",
      "knowledge-base",
      "vector-database",
      "crm",
      "ticketing-system",
      "llm"
    ],
    "tags": [
      "AI",
      "orchestration"
    ]
  },
  {
    "id": "knowledge-base",
    "title": "Knowledge Base",
    "description": "Product documentation, help articles, and FAQs that the agent searches to answer common support questions accurately.",
    "connections": [
      "support-agent"
    ],
    "tags": [
      "AI",
      "knowledge"
    ]
  },
  {
    "id": "vector-database",
    "title": "Vector Database",
    "description": "Stores embeddings of the knowledge base and past resolved tickets. Enables semantic search for the most relevant support content.",
    "connections": [
      "support-agent"
    ],
    "tags": [
      "Infrastructure",
      "storage"
    ]
  },
  {
    "id": "crm",
    "title": "CRM",
    "description": "Customer record system. The agent reads account history, subscription tier, and past interactions to personalise support.",
    "connections": [
      "support-agent"
    ],
    "tags": [
      "Infrastructure",
      "integration"
    ]
  },
  {
    "id": "ticketing-system",
    "title": "Ticketing System",
    "description": "Creates, updates, and routes support tickets. Escalates unresolved cases to the human support queue.",
    "connections": [
      "support-agent",
      "human-support"
    ],
    "tags": [
      "Infrastructure",
      "execution"
    ]
  },
  {
    "id": "human-support",
    "title": "Human Support",
    "description": "The human agent team. Receives escalated tickets and edge-case conversations the AI cannot confidently resolve.",
    "connections": [
      "ticketing-system"
    ],
    "tags": [
      "Business",
      "users"
    ]
  },
  {
    "id": "llm",
    "title": "LLM",
    "description": "Generates empathetic, accurate support responses using retrieved knowledge and conversation context.",
    "connections": [
      "support-agent",
      "response"
    ],
    "tags": [
      "AI",
      "generation"
    ]
  },
  {
    "id": "response",
    "title": "Response",
    "description": "The final answer delivered to the customer — grounded in product knowledge and personalised from CRM data.",
    "connections": [
      "llm"
    ],
    "tags": [
      "AI",
      "output"
    ]
  }
]

AI Sales Copilot

Moderate9 nodes

AI copilot synthesising CRM, email, calendar, and prospect data to surface next-best-actions. For sales enablement products, revenue tools, and AI-powered GTM platforms.

[
  {
    "id": "sales-rep",
    "title": "Sales Rep",
    "description": "The human seller. Uses the AI Copilot to prepare for calls, draft outreach, and prioritise their pipeline.",
    "connections": [
      "ai-copilot"
    ],
    "tags": [
      "Business",
      "users"
    ]
  },
  {
    "id": "ai-copilot",
    "title": "AI Copilot",
    "description": "The central intelligence layer. Synthesises data across CRM, email, calendar, and prospect research to surface the next best action for the rep.",
    "connections": [
      "sales-rep",
      "crm",
      "email",
      "calendar",
      "prospect-database",
      "meeting-notes",
      "llm"
    ],
    "tags": [
      "AI",
      "orchestration"
    ]
  },
  {
    "id": "crm",
    "title": "CRM",
    "description": "Source of truth for deal status, contact history, and account data. The copilot reads and writes to keep records current.",
    "connections": [
      "ai-copilot"
    ],
    "tags": [
      "Infrastructure",
      "integration"
    ]
  },
  {
    "id": "email",
    "title": "Email",
    "description": "Drafts personalised outreach, summarises conversation threads, and tracks open and reply rates for each prospect.",
    "connections": [
      "ai-copilot"
    ],
    "tags": [
      "Infrastructure",
      "messaging"
    ]
  },
  {
    "id": "calendar",
    "title": "Calendar",
    "description": "Reads upcoming meetings, suggests prep materials, and logs post-call notes automatically after each session.",
    "connections": [
      "ai-copilot"
    ],
    "tags": [
      "Infrastructure",
      "integration"
    ]
  },
  {
    "id": "prospect-database",
    "title": "Prospect Database",
    "description": "Enriched prospect profiles — company size, funding stage, tech stack, intent signals — used to prioritise outreach.",
    "connections": [
      "ai-copilot"
    ],
    "tags": [
      "Infrastructure",
      "storage"
    ]
  },
  {
    "id": "meeting-notes",
    "title": "Meeting Notes",
    "description": "Transcripts and summaries of past calls. The copilot extracts action items, objections, and next steps automatically.",
    "connections": [
      "ai-copilot"
    ],
    "tags": [
      "AI",
      "knowledge"
    ]
  },
  {
    "id": "llm",
    "title": "LLM",
    "description": "Generates email drafts, call prep summaries, objection responses, and deal coaching from synthesised sales context.",
    "connections": [
      "ai-copilot",
      "recommendations"
    ],
    "tags": [
      "AI",
      "generation"
    ]
  },
  {
    "id": "recommendations",
    "title": "Recommendations",
    "description": "Actionable next steps surfaced to the rep — send this email, book this meeting, update this deal stage, address this objection.",
    "connections": [
      "llm"
    ],
    "tags": [
      "AI",
      "output"
    ]
  }
]

MCP Architecture

Moderate8 nodes

Model Context Protocol: agent delegating to an MCP Server that exposes a Tool Registry of external integrations. For devrel content, MCP server documentation, and AI infrastructure explainers.

[
  {
    "id": "user",
    "title": "User",
    "description": "Sends a natural language request to an AI agent powered by the Model Context Protocol.",
    "connections": [
      "agent"
    ],
    "tags": [
      "AI",
      "input"
    ]
  },
  {
    "id": "agent",
    "title": "Agent",
    "description": "Receives the user request, reasons about which tools or resources to invoke, and coordinates with the MCP Server.",
    "connections": [
      "user",
      "mcp-server",
      "knowledge-base",
      "llm"
    ],
    "tags": [
      "AI",
      "orchestration"
    ]
  },
  {
    "id": "mcp-server",
    "title": "MCP Server",
    "description": "Implements the Model Context Protocol. Exposes a unified interface for tools, resources, and prompts to the agent.",
    "connections": [
      "agent",
      "tool-registry"
    ],
    "tags": [
      "Infrastructure",
      "protocol"
    ]
  },
  {
    "id": "tool-registry",
    "title": "Tool Registry",
    "description": "Catalogue of available tools registered with the MCP Server — search, file access, database queries, external APIs.",
    "connections": [
      "mcp-server",
      "external-tools"
    ],
    "tags": [
      "Infrastructure",
      "execution"
    ]
  },
  {
    "id": "external-tools",
    "title": "External Tools",
    "description": "The actual integrations the agent can invoke: web search, code execution, calendar, email, data retrieval, and more.",
    "connections": [
      "tool-registry"
    ],
    "tags": [
      "Infrastructure",
      "integration"
    ]
  },
  {
    "id": "knowledge-base",
    "title": "Knowledge Base",
    "description": "Structured knowledge the agent reads directly via MCP resources — without needing to call a tool.",
    "connections": [
      "agent"
    ],
    "tags": [
      "AI",
      "knowledge"
    ]
  },
  {
    "id": "llm",
    "title": "LLM",
    "description": "Generates coherent, context-aware responses using agent reasoning state and tool execution results.",
    "connections": [
      "agent",
      "response"
    ],
    "tags": [
      "AI",
      "generation"
    ]
  },
  {
    "id": "response",
    "title": "Response",
    "description": "The final answer assembled from tool outputs and LLM generation, returned to the user.",
    "connections": [
      "llm"
    ],
    "tags": [
      "AI",
      "output"
    ]
  }
]

AI Memory System

Simple7 nodes

Layered memory architecture: Working Memory for active reasoning, Session Memory for conversation context, Long-Term Memory for cross-session personalisation. For AI assistant and agent product pages.

[
  {
    "id": "user",
    "title": "User",
    "description": "Sends queries and receives personalised responses informed by the agent's layered memory architecture.",
    "connections": [
      "agent"
    ],
    "tags": [
      "AI",
      "input"
    ]
  },
  {
    "id": "agent",
    "title": "Agent",
    "description": "The central reasoning layer. Reads from and writes to each memory tier, deciding what to store and what to surface.",
    "connections": [
      "user",
      "working-memory",
      "session-memory",
      "long-term-memory",
      "knowledge-base",
      "llm"
    ],
    "tags": [
      "AI",
      "orchestration"
    ]
  },
  {
    "id": "working-memory",
    "title": "Working Memory",
    "description": "In-context scratch space for the current reasoning step — active tools, partial results, and intermediate state.",
    "connections": [
      "agent"
    ],
    "tags": [
      "AI",
      "memory"
    ]
  },
  {
    "id": "session-memory",
    "title": "Session Memory",
    "description": "Holds the current conversation window — recent messages, stated goals, and working context for this session.",
    "connections": [
      "agent"
    ],
    "tags": [
      "AI",
      "memory"
    ]
  },
  {
    "id": "long-term-memory",
    "title": "Long-Term Memory",
    "description": "Persists facts, preferences, and outcomes across sessions. Updated after each conversation to improve future interactions.",
    "connections": [
      "agent"
    ],
    "tags": [
      "AI",
      "state"
    ]
  },
  {
    "id": "knowledge-base",
    "title": "Knowledge Base",
    "description": "External curated knowledge the agent retrieves to answer questions beyond its trained parameters.",
    "connections": [
      "agent"
    ],
    "tags": [
      "AI",
      "knowledge"
    ]
  },
  {
    "id": "llm",
    "title": "LLM",
    "description": "Generates responses conditioned on all active memory tiers and retrieved knowledge context.",
    "connections": [
      "agent"
    ],
    "tags": [
      "AI",
      "generation"
    ]
  }
]

AI Research Workflow

Moderate7 nodes

Research agent orchestrating web search, internal knowledge retrieval, analysis, and writing into a synthesised output. For AI research tools, report generation products, and intelligence platforms.

[
  {
    "id": "user",
    "title": "User",
    "description": "Submits a research question or topic that requires synthesising information from multiple sources.",
    "connections": [
      "research-agent"
    ],
    "tags": [
      "AI",
      "input"
    ]
  },
  {
    "id": "research-agent",
    "title": "Research Agent",
    "description": "Orchestrates the research workflow — dispatching searches, collecting results, and coordinating analysis.",
    "connections": [
      "user",
      "web-search",
      "knowledge-base",
      "analysis-agent"
    ],
    "tags": [
      "AI",
      "orchestration"
    ]
  },
  {
    "id": "web-search",
    "title": "Web Search",
    "description": "Retrieves current information from the web in response to research queries from the agent.",
    "connections": [
      "research-agent"
    ],
    "tags": [
      "Infrastructure",
      "retrieval"
    ]
  },
  {
    "id": "knowledge-base",
    "title": "Knowledge Base",
    "description": "Internal curated knowledge store queried alongside web results for trusted reference material.",
    "connections": [
      "research-agent",
      "analysis-agent"
    ],
    "tags": [
      "AI",
      "knowledge"
    ]
  },
  {
    "id": "analysis-agent",
    "title": "Analysis Agent",
    "description": "Synthesises search results and knowledge base content into structured findings.",
    "connections": [
      "research-agent",
      "knowledge-base",
      "writing-agent"
    ],
    "tags": [
      "AI",
      "analysis"
    ]
  },
  {
    "id": "writing-agent",
    "title": "Writing Agent",
    "description": "Transforms synthesised findings into a coherent, readable output — report, summary, or answer.",
    "connections": [
      "analysis-agent",
      "output"
    ],
    "tags": [
      "AI",
      "writing"
    ]
  },
  {
    "id": "output",
    "title": "Output",
    "description": "The final research artefact — a grounded, synthesised response — returned to the user.",
    "connections": [
      "writing-agent"
    ],
    "tags": [
      "AI",
      "output"
    ]
  }
]

AI Coding Assistant

Moderate9 nodes

IDE-integrated coding agent with codebase-aware retrieval, terminal execution, and vector-indexed repository search. For developer tools, code review platforms, and AI-powered IDE products.

[
  {
    "id": "developer",
    "title": "Developer",
    "description": "The engineer working in the IDE. Issues natural language instructions, code edit requests, or terminal commands through the editor interface.",
    "connections": [
      "editor"
    ],
    "tags": [
      "Business",
      "users"
    ]
  },
  {
    "id": "editor",
    "title": "Editor",
    "description": "The IDE or editor layer. Surfaces agent responses inline, manages file context, and sends the developer's request to the agent.",
    "connections": [
      "developer",
      "agent"
    ],
    "tags": [
      "Infrastructure",
      "routing"
    ]
  },
  {
    "id": "agent",
    "title": "Agent",
    "description": "Orchestrates the coding workflow — deciding whether to read files, search the codebase, run commands, or generate code via the LLM.",
    "connections": [
      "editor",
      "repository",
      "code-search",
      "terminal",
      "llm"
    ],
    "tags": [
      "AI",
      "orchestration"
    ]
  },
  {
    "id": "repository",
    "title": "Repository",
    "description": "The full codebase — files, modules, git history, and configuration. The agent reads file content and structure to understand the project.",
    "connections": [
      "agent",
      "code-search"
    ],
    "tags": [
      "Infrastructure",
      "storage"
    ]
  },
  {
    "id": "code-search",
    "title": "Code Search",
    "description": "Semantic search over the codebase. Finds relevant functions, classes, and patterns by meaning — not just string matching.",
    "connections": [
      "agent",
      "repository",
      "vector-database"
    ],
    "tags": [
      "AI",
      "retrieval"
    ]
  },
  {
    "id": "vector-database",
    "title": "Vector Database",
    "description": "Stores code embeddings indexed from the repository. Enables the Code Search layer to retrieve contextually relevant snippets.",
    "connections": [
      "code-search"
    ],
    "tags": [
      "Infrastructure",
      "storage"
    ]
  },
  {
    "id": "terminal",
    "title": "Terminal",
    "description": "Executes shell commands on behalf of the agent — running tests, build steps, linters, and install scripts.",
    "connections": [
      "agent"
    ],
    "tags": [
      "Infrastructure",
      "execution"
    ]
  },
  {
    "id": "llm",
    "title": "LLM",
    "description": "Generates code edits, completions, explanations, and refactors conditioned on the retrieved codebase context.",
    "connections": [
      "agent",
      "output"
    ],
    "tags": [
      "AI",
      "generation"
    ]
  },
  {
    "id": "output",
    "title": "Output",
    "description": "The result surfaced to the developer — a code edit, completion, explanation, test result, or terminal response.",
    "connections": [
      "llm"
    ],
    "tags": [
      "AI",
      "output"
    ]
  }
]

Knowledge Graph

Simple6 nodes

Entity relationship graph: People, Products, Companies, Documents, Topics, and Locations. For knowledge management tools, graph database products, and data infrastructure landing pages.

[
  {
    "id": "person",
    "title": "Person",
    "description": "An individual who interacts with, purchases, or is connected to a product or company.",
    "connections": [
      "product",
      "company"
    ],
    "tags": [
      "Business",
      "entity"
    ]
  },
  {
    "id": "product",
    "title": "Product",
    "description": "The central offering that connects people, companies, and the topics it addresses.",
    "connections": [
      "person",
      "company",
      "topic"
    ],
    "tags": [
      "Business",
      "entity"
    ]
  },
  {
    "id": "company",
    "title": "Company",
    "description": "The organisation that owns, builds, or distributes the product at a location.",
    "connections": [
      "person",
      "product",
      "location"
    ],
    "tags": [
      "Business",
      "entity"
    ]
  },
  {
    "id": "document",
    "title": "Document",
    "description": "A piece of content — report, article, specification — associated with one or more topics.",
    "connections": [
      "topic"
    ],
    "tags": [
      "Knowledge",
      "entity"
    ]
  },
  {
    "id": "topic",
    "title": "Topic",
    "description": "A subject area that connects documents and products through shared meaning.",
    "connections": [
      "document",
      "product"
    ],
    "tags": [
      "Knowledge",
      "entity"
    ]
  },
  {
    "id": "location",
    "title": "Location",
    "description": "A geographic entity — city, country, region — associated with the company.",
    "connections": [
      "company"
    ],
    "tags": [
      "Business",
      "entity"
    ]
  }
]

Product Ecosystem

Simple7 nodes

Product organisation map: Customers, Product, Engineering, Marketing, Sales, Support, and Roadmap and how they connect. For product team pages, company about pages, and org-level documentation.

[
  {
    "id": "customers",
    "title": "Customers",
    "description": "The people the product exists to serve. Their needs drive every team's priorities.",
    "connections": [
      "product",
      "sales",
      "support"
    ],
    "tags": [
      "Business",
      "users"
    ]
  },
  {
    "id": "product",
    "title": "Product",
    "description": "Defines what gets built, for whom, and why — the connective tissue of the ecosystem.",
    "connections": [
      "customers",
      "engineering",
      "marketing",
      "roadmap"
    ],
    "tags": [
      "Product",
      "strategy"
    ]
  },
  {
    "id": "engineering",
    "title": "Engineering",
    "description": "Builds and ships the product — translating roadmap decisions into working software.",
    "connections": [
      "product",
      "roadmap"
    ],
    "tags": [
      "Engineering",
      "delivery"
    ]
  },
  {
    "id": "marketing",
    "title": "Marketing",
    "description": "Creates awareness and demand — turning product value into customer understanding.",
    "connections": [
      "product",
      "sales"
    ],
    "tags": [
      "Growth",
      "messaging"
    ]
  },
  {
    "id": "sales",
    "title": "Sales",
    "description": "Converts interest into revenue by connecting customer needs to product value.",
    "connections": [
      "marketing",
      "customers"
    ],
    "tags": [
      "Growth",
      "revenue"
    ]
  },
  {
    "id": "support",
    "title": "Support",
    "description": "Keeps customers successful post-sale and surfaces product feedback from the front line.",
    "connections": [
      "customers",
      "product"
    ],
    "tags": [
      "Operations",
      "retention"
    ]
  },
  {
    "id": "roadmap",
    "title": "Roadmap",
    "description": "A prioritised sequence of bets that aligns engineering effort with product strategy.",
    "connections": [
      "product",
      "engineering"
    ],
    "tags": [
      "Product",
      "planning"
    ]
  }
]

Using Custom Graph Data

Paste a JSON array into the Custom Graph Data property to replace any template with your own graph. When this field contains valid JSON, it takes priority over the Template setting.

FieldTypeRequiredDescription
idstringYesUnique identifier — no spaces, e.g. agent-orchestrator
titlestringYesLabel displayed on the graph
descriptionstringYesText shown in the detail drawer when clicked
connectionsstring[]YesArray of node IDs this node links to
tagsstring[]YesOne or more tags — drives Vivid colour mode
linkstringNoURL shown as a button in the drawer. External URLs (starting with http) open in a new tab. Internal paths like /docs/page or anchor links like #section navigate within the same site. The button label is set by the Link Label property in the panel.

To add a clickable link to a node, include a link field in the node JSON. The link button only appears in the drawer for nodes that have this field set. Change the button text using the Link Label property in the panel (default: View page →). External URLs (starting with http) open in a new tab — internal paths like /about or anchor links like #section navigate within the same site.

{
  "id": "agent-orchestrator",
  "title": "Agent Orchestrator",
  "description": "The central reasoning engine.",
  "connections": ["llm", "retriever"],
  "tags": ["AI", "orchestration"],
  "link": "https://docs.example.com/agent"
}

In Vivid mode each node is coloured by its tags. See the Vivid Colour Reference section below for the full tag → colour map.

Interaction Modes

ModeBehaviourUse for
AmbientSimulation runs, hover highlights active — no drawerHero sections, backgrounds, decorative architecture diagrams
InteractiveClick a node to open the detail drawerLanding pages, docs, architecture explainers

Graph Layouts

LayoutHow it worksBest for
ForceOrganic physics simulation — nodes repel each other and links act as springs. Settles into a natural cluster based on connection density.Most templates. Hub nodes with many connections drift naturally to the centre.
RadialMost-connected node is placed at the centre. Other nodes are arranged in concentric rings by graph distance (BFS depth). Physics controls are hidden in this mode.Hierarchical or hub-and-spoke architectures where you want to show a clear centre-out structure.

Switch between layouts from the Layout property in the panel. In Radial mode, Link Distance, Charge Strength, and Connection Strength are automatically hidden — the radial force handles all positioning. Drag any node to reposition it; the simulation will resettle around it in both modes.

Physics Controls

ControlDefaultEffect
Node Scale1.0Scale multiplier for all node radii. Reduce for larger templates (10+ nodes).
Link Distance80pxTarget distance between connected nodes. Increase for more spread.
Charge Strength-160Global repulsion. More negative = nodes push further apart. Increase for dense templates.
Connection Strength0.6Pull strength between connected nodes. Higher = tighter clusters.

For Complex templates (15+ nodes), try: Node Scale 0.8, Link Distance 110px, Charge Strength -220. Physics controls are hidden automatically when Layout is set to Radial.

Appearance

ControlWhat it does
Color ModeVivid: each node type gets a distinct colour. Uniform: single colour for all.
Node ColorUniform mode fill, or Vivid fallback for unrecognised tags
Node HoverFill colour when a node and its neighbours are highlighted
Edge ColorDefault line colour between nodes
Edge HoverLine colour for active connections on hover
Label ColorText colour for node labels
Show LabelsToggle node labels on or off
BackgroundCanvas background colour — accepts Framer color styles
Drawer BGFrosted-glass background of the info drawer
Drawer TextText colour inside the drawer
Font FamilyApplied to all labels and drawer text
Font WeightLight / Regular / Medium / Semi Bold / Bold

Vivid Colour Reference

When Color Mode is set to Vivid, each node is coloured by its tags. Tags are checked last to first — the last tag in the array wins if it has a matching colour. Nodes with no recognised tags fall back to the Node Color property.

Example: "tags": ["AI", "orchestration"]orchestration wins (purple), not AI (indigo). Use broad category tags as a fallback when no specific role tag applies.

ColorHexTags
Purple#7C3AEDorchestration
Indigo#818CF8AI · model
Deep Indigo#6366F1storage
Violet#A78BFAplanning · scope · Product
Blue#3B82F6strategy
Sky Blue#38BDF8routing · protocol · reliability · delivery · Infrastructure · Engineering
Cornflower#60A5FAintegration · execution
Cyan#22D3EEretrieval · knowledge · insight · data · Knowledge
Teal#2DD4BFentity · Business
Green#34D399input · output · writing · users · UX
Emerald#4ADE80revenue · growth · inclusion
Yellow#FBBF24research · analysis · validation · iteration · QA
Orange#FB923Cstate · memory · retention · Operations
Pink#F472B6generation · messaging · Growth
Rose#FB7185craft · identity · Brand

Tags are case-sensitive. AI and ai are treated as different tags — only AI maps to indigo. Category tags (capitalised: AI, Infrastructure, Business, etc.) are designed as broad fallbacks. Role tags (lowercase: orchestration, retrieval, etc.) are for specific node functions and take priority when placed last in the tags array.

Responsive Behaviour

BreakpointWidthLayout
Desktop768px and aboveFull node sizes, side drawer
Tablet480-767pxSlightly smaller nodes, narrower drawer
MobileBelow 480pxCompact nodes, drawer becomes a bottom sheet

FAQ

Nodes are overlapping on large templates.

Increase Charge Strength (more negative, e.g. -220) and Link Distance (e.g. 110px). Also try reducing Node Scale to 0.8. Larger frame sizes give the simulation more space to settle.

The drawer doesn't open.

Confirm Mode is set to Interactive and Drawer is enabled in the property panel. On touch devices, tap once to highlight, then tap again to open the drawer.

Can I use my own architecture data?

Yes — copy any template JSON from the Templates section above and paste it into Custom Graph Data in the property panel. Edit the nodes, connections, and tags to match your system.

How do I add a link to a node?

Add a link field to the node JSON: "link": "https://example.com". A link button appears in the drawer for that node. Change the button text using the Link Label property in the panel. For internal site links, use a path like "/docs/page" or an anchor like "#section" — these navigate within the same site without opening a new tab.

What link formats are supported?

External URLs (starting with http or https) open in a new tab. Internal paths like "/about" or "/docs/agent" navigate within the same Framer site. Anchor links like "#section" scroll to a section on the same page.

Colors aren't switching with dark/light mode.

Use a Framer color style in the colour picker instead of a hardcoded hex. Hardcoded values don't respond to mode changes.

Does MokuGraph make any network requests?

No. D3 is bundled into the component. All data is either a built-in preset or pasted via Custom Graph Data. No external fetches at runtime.

MokuGraph — v1.0.0

Powered by Mokujiro Studio

Built with Framer

Create a free website with Framer, the website builder loved by startups, designers and agencies.