Skip to content
NeuralRepo
Get Support

Mind Map

The mind map is a force-directed graph that renders your ideas as nodes and their relations as edges. It gives you a bird’s-eye view of how your thinking connects and evolves.

The map renders on a dark canvas with a dot grid background. Nodes are rounded cards colored by status, and edges are styled by relation type. Highly-connected ideas glow and appear larger, making hubs easy to spot.

blocks blocks inspires parent Auth system 4 backend security Admin dashboard 3 frontend API rate limiting 2 backend infra Real-time notifications 2 feature Event-driven arch 3 architecture User onboarding flow 1 frontend ux Webhook system 1 backend STATUS captured exploring building shipped shelved
A project ecosystem — ideas connected by blocks, inspires, and related relations.

The map uses a consistent visual language so you can read relationships at a glance.

Node Status Colors
Captured
Exploring
Building
Shipped
Shelved
Edge Relation Types
Related
Parent → Child
Blocks
Inspires
Duplicate
Supersedes

Each node is a card showing:

  • Title — the idea name (truncated if long)
  • Status dot — colored circle in the top-right corner
  • Tags — up to 2 tag pills shown below the title
  • Connection count — badge in the bottom-right showing how many relations exist

Node width scales with connection count — ideas with more relations appear larger, making hub ideas easy to spot. Ideas with 3+ connections also get a subtle glow effect matching their status color.

Hub idea (5 connections) 5 core Medium (2 connections) 2 feature Leaf (0) STATUS captured exploring building shipped shelved
Node sizing — highly-connected ideas are larger and glow.

Edges encode the relation type through color, weight, and style:

RelationColorStyleArrowMeaning
relatedPurpleThin solidNoGeneral connection
parentLightSolid, boldYesHierarchical parent → child
blocksRedSolid, boldYesA blocks progress on B
inspiresCyanSolid, mediumYesA inspired the creation of B
duplicateAmberDashedNoAuto-detected duplicate
supersedesGrayDashedYesA replaces B

Edges created by NeuralRepo from similarity carry a score, which the map shows as a percentage; edges you created have score: null. The map also distinguishes them visually — system edges are drawn fainter and thinner, your own edges brighter and roughly twice as wide — so a graph you have curated stands out from one that assembled itself.

blocks inspires 87% Idea A 4 Idea B 1 Idea C 1 Idea D 1 Idea E 1 STATUS captured exploring building shipped shelved
Edge types — blocks (red), inspires (cyan), related (purple), duplicate (amber dashed).
ActionHow
ZoomScroll wheel or pinch gesture
PanClick and drag on the background
Open ideaClick a node to open the idea detail panel
Highlight connectionsHover a node to highlight its direct connections
Drag-to-connectDrag from a node handle to another node to create a relation
Context menuRight-click a node for quick actions (move status, link, focus, archive)
Focus modeRight-click → Focus to dim everything except the 2-hop neighborhood
Filter by statusStatus toggles above the graph show/hide ideas by status
Filter by tagTag filter narrows the graph to ideas with specific tags
TimelineAdjustable time window with a brushable density chart showing idea creation frequency. Drag the beginning and end handles to set the visible range, use preset chips (1d, 7d, 30d, All) for quick navigation, or press play to sweep a playhead through the window. Keyboard shortcuts: Space for play/pause, Home to reset, Arrow keys to pan.

Right-click any node and select Focus to highlight its 2-hop neighborhood. All other nodes dim to 20% opacity, letting you trace the immediate context of an idea without visual clutter.

Hover a node to reveal four connection handles. Drag from a handle to another node to create a new relation. A magnetic snap activates within 15px of the target, and a relation type picker appears on drop.

Retrieve the full graph data to build custom visualizations.

Terminal window
curl https://neuralrepo.com/api/v1/map \
-H "X-API-Key: nrp_your_key_here"

Response:

{
"nodes": [
{
"id": 42,
"title": "Background job processing system",
"status": "building",
"tags": ["backend", "infrastructure"],
"connectionCount": 5,
"created_at": "2026-03-15T10:00:00Z"
}
],
"edges": [
{
"id": 1,
"source": 10,
"target": 42,
"type": "blocks",
"score": null,
"note": "Need auth system before dashboard",
"created_at": "2026-03-16T09:30:00Z"
}
]
}

Use nrepo graph to explore the graph from any idea without opening the web app.

Terminal window
# Immediate connections
nrepo graph 42
# 3 levels deep, filtered to blocks and inspires
nrepo graph 42 --depth 3 --type blocks,inspires
42: Background job processing system [building]
├── blocks → 55: Admin dashboard [exploring]
├── blocks → 60: API rate limiting [captured]
└── inspires → 71: Event-driven architecture [exploring]
└── inspires → 82: Real-time notifications [captured]

Toggle the 3D button in the toolbar to switch from the flat force-directed layout to an immersive three-dimensional view.

The 3D view is powered by Three.js and 3d-force-graph. It uses the same graph data as the 2D view with a few visual differences:

  • Node labels — rendered as CSS2D overlays (always face the camera)
  • Weak edges (related, duplicate) — rendered as directional particle streams instead of dashes (3d-force-graph does not support dashed links)
  • Strong edges (parent, blocks, inspires, supersedes) — rendered as solid lines with directional arrows
  • Camera — orbit with drag, zoom with scroll, pan with right-drag; auto-fits on load

Clicking a node in 3D works the same as in 2D — opens the idea detail panel. Right-click opens the context menu.

The 3D view runs on WebGL. Very large graphs (500+ nodes) may be slower to navigate than the 2D view on lower-end hardware.

Click Tune in the toolbar to open the Force Tuning panel and adjust the physics in real time:

SliderRangeEffect
Charge−2000 to −100How strongly ideas repel each other
Distance40 to 400The ideal length of an edge
Strength0.10 to 0.50How hard a relation pulls its two ideas together
Gravity0 to 0.1How strongly everything is drawn toward the centre
Padding0 to 40Clearance kept between node cards
Filter Reheat0.10 to 1.00How much the layout re-settles after a filter change
Search Reheat0.00 to 1.00How much it re-settles after a search

Changes take effect as you drag, with a burst of simulation energy (alpha 0.3) so ideas settle into the new arrangement. The panel also resets to the default preset in one click.

You can save custom force configurations as presets and switch between them from the toolbar. Presets live in localStorage, so they are per-browser rather than per-account.

The floating AI agent chat panel hovers over the mind map. Click the NeuralRepo icon in the bottom-right corner of the map to open it.

The panel is draggable — grab the header to reposition it anywhere on the map. Its position is saved to localStorage per session.

A model selector appears at the top of the panel, offering five models:

  • Anthropic — Sonnet, Haiku, Opus. Each requires your own Anthropic key via BYOK
  • Workers AI — GPT-OSS 120B (the default) and Qwen 30B. No key required

Your selected model is remembered in localStorage across sessions.

Responses stream token-by-token over a WebSocket connection. A collapsible “Thought process” block appears above the response text when extended thinking is active — click it to expand and read the model’s reasoning.

Tool calls render as collapsible ToolResultCards in the message thread. Each card shows:

  • A summary line (e.g., “Found 5 ideas for ‘machine learning’”)
  • Expandable detail content
  • Clickable idea chips — click a chip to highlight that node on the map and scroll it into view

Graph-mutating tool calls (creating ideas, creating connections, semantic layout) animate directly onto the map. See Artifacts for full details.

When you have nodes selected on the map, the agent automatically receives the selected idea IDs and titles as additional context. This lets you say things like “summarize these” or “connect these ideas” without specifying them by name.

The panel header shows an undo button when there are reversible agent actions in the current session. Undo reverses what the agent wrote — it deletes an idea the agent created, or removes relations it added — and it works one action at a time, newest first. Layout changes are not part of the stack; clear an agent arrangement with the toolbar or by asking the agent to clear it.

The mind map uses two rendering modes depending on graph size, switched automatically:

  • SVG rendering (up to 200 nodes) — full interactivity, crisp at any zoom level
  • Canvas rendering (more than 200 nodes) — optimized for large graphs, device-pixel-ratio aware

The force simulation is D3.js. Charge repulsion and ideal edge length both come from the spread control — tightening it pulls the graph to roughly 60px edges, loosening it pushes past 190px — and the remaining physics (velocity decay, collision padding) are fixed. To group nodes deliberately rather than by physics, use the agent’s arrange_nodes or semantic_layout.