Build maps humans read and AI can reason over
ctxmap turns architecture and context into a typed graph. The workflow is always the same: add things → connect them → explain what happens → export context.
Quick start
- Open the app and add your first node (or pick a template). New nodes start as Generic so you can name them first.
- Add 5–15 nodes — Actors, Systems, Components, Data.
- Switch to the Connect tool and draw the key flows.
- Describe each connection as a sentence:
[Source] [Action] [Target]. - Fill in Role and Domain for the important nodes.
- Export YAML/JSON and drop it into your LLM prompt or RAG pipeline.
No account needed to try — choose “Try without an account” on the sign-in screen and your map stays on your device until you sign up.
Nodes & types
A node is any “thing” in your map. Type answers only “what kind of thing is this?” — use Role to say what it does. ctxmap suggests a type from the name/role, and you can change it any time.
- Generic — unclassified; the default.
- Actor — person, team, role, external party.
- System — whole application/platform/product.
- Component — a part inside a system (API, worker, gateway).
- Data — database, file, dataset, log.
- Process — workflow or activity.
- Event — trigger, signal, incident.
- Control — policy, rule, security control, approval.
- Container — a drill-in boundary (cluster, domain, region, phase).
- Concept — idea, risk, assumption, decision.
- Outcome — goal, KPI, benefit, result.
- Custom — anything else; give it your own subtype.
Connections
A connection reads like a sentence: [Source] [Action] [Target]. Beyond the action you can capture:
- Category — the broad family (Flow, Data, Control, Trigger…) used for filtering and AI.
- Direction — one-way, two-way, or undirected.
- Mechanism — how it happens (HTTPS, AMQP, manual handoff…).
- Boundary / context — where it happens (public internet, private subnet, business workflow…).
Containers & drill-in
Create a Container to represent a boundary, drag nodes into it, then drill in to focus on what’s inside and back up to return. Containers nest to any depth, so you can move between the big picture and the detail without losing either.
Export & the ctxboard/v1 schema
Export produces a structured model designed to be read by both humans and LLMs:
nodes— every object with position, type, role, owner, environment, criticality, parent and description.connections— typed relationships with direction, action, mechanism, port/trigger, boundary and notes.hierarchy— the nested view of containers and their children.intent— a short note on how to interpret the model.
You can also export visuals: SVG, PNG, Mermaid, or print to PDF. Maps round-trip — import any ctxboard/v1 JSON or YAML to replace or merge.
Collaboration
Share a board with editor or viewer access. Collaborators see live presence and cursors, and changes broadcast in real time. Per-node comments keep discussion next to the thing being discussed.
AI & drift detection
Because the export is a typed graph, it’s ideal context for AI agents. ctxmap can also connect a GitHub repo, model the architecture from its real code and infrastructure, and show where your map has drifted from the system — then apply the differences back to the board. (AI features require an Anthropic API key configured on the backend.)
Keyboard shortcuts
- N add node · C connect · V select
- Tab move between nodes · Enter/Space select a focused node · Arrows move selection
- Ctrl/Cmd + Z / Shift+Z — undo / redo · Ctrl/Cmd + F — find
- Delete remove · Esc close dialog / clear selection · ? shortcuts