MIT / open source / C4 & beyond

Architecture modelling,
not just drawing.

Diagrams go stale because the drawing is the document. Radical.Tools makes the model the document - views are derived from it, always consistent.

How it works

Four layers. One source of truth.

Metamodel defines the rules. Model holds the truth. Views render slices. Milestones track history.

01

Metamodel

The vocabulary of your architecture.

Defines what kinds of things can exist: node types, relation types, allowed properties. Three presets ship built-in: C4 (Person, Software System, Container, Component), C4 + DDD (recursive strategic Domains), and C4 + DDD + Governance (Architecture Decision Records and Fitness Functions). Extend any of them or replace the metamodel entirely.

Person → uses → Software System metamodel rule
02

Model

The single source of truth.

A graph of concrete nodes and relations that conforms to the metamodel. Add an element once - it's available in every view. No copy-pasting between diagrams. No drift between levels.

PaymentService → calls → StripeAPI model instance
03

View

A named perspective on the same model.

Different audiences need different levels of detail. Structure views render scoped node-link diagrams such as System Context or Container maps. Flow views bind a sequence to that same model and show numbered interaction steps. Hierarchy views turn containment into a drillable treemap. Table views give you an editable, governance-aware spreadsheet, and Matrix views expose dependencies as a DSM grid. Each view keeps its own layout, drill or filter state, while the underlying model stays shared.

Structure / Flow / Hierarchy / Table / Matrix → one model, five readings view instance
04

Milestone

A named snapshot of the model.

Tag any state of the model with a name and date. Browse history, diff two milestones side by side, and restore any previous state. Architecture decisions get a timeline.

v2 → v3 diff: +3 nodes, -1 relation milestone diff
Features

Beyond the model itself.

Milestones & History

Name a snapshot at any moment. Browse history, diff two versions side by side, and restore a previous state with one click.

Smart Layout

Three layout engines: ELK (hierarchical), WebCola (live force-directed), and a simulated-annealing pipeline tuned for crossing minimisation.

AI Analysis

Ask the model questions, detect gaps, or describe a change in plain language and let an LLM apply it as a structured patch. Works with Claude, OpenAI, Gemini, and local Ollama - your key, your API, nothing proxied.

Desktop & Web

Electron desktop app or browser - same codebase, same file format. No account, no cloud, no telemetry.

Presentation Mode

Sequence any mix of structure, flow, and hierarchy views into a slide deck. Flow views replay interaction steps one by one; the others give you framing slides before and after the walkthrough.

Five View Types

Read the same model as a Structure diagram, a numbered Flow, a drillable Hierarchy treemap, an editable Table, or a dependency Matrix (DSM) — all always in sync.

Governance Built In

Capture Architecture Decision Records and Fitness Functions as first-class nodes, then link them to the elements they constrain, supersede, or implement.

Plain JSON, No Lock-in

Models are JSON files on your disk. Diff in git, edit in any text editor, automate with any script.

Screenshots

What it looks like.

Radical.Tools main canvas - C4 banking architecture diagram with 27 nodes, left panel showing element types, right panel showing node tree
Designer Full C4 model on the canvas. Element palette on the left, node tree on the right. Smart Layout arranges everything automatically.
Milestones panel showing v1 through v4 history of the architecture with node counts and dates
Milestones Named snapshots with dates and node counts. Diff any two versions visually, restore with one click.
Viewer / presentation mode showing views list and slide deck at the bottom with Present button
Viewer Sequence views into a slide deck. Hit Present for a fullscreen, presenter-ready walkthrough.
Hierarchy view in light mode showing the Platform system as a treemap with Frontend, Backend, Database, Cache, Auth Service, and End User tiles
Hierarchy Treemap-based hierarchy view in light mode. Drill into nested systems and containers, control visible depth, and inspect containment without edge clutter.
Matrix view showing a dependency structure matrix (DSM) with elements on rows and columns and coloured dots where a relation exists
Matrix Dependency Structure Matrix. Every relation is a cell — click an empty cell to create one, a marked cell to select it. Ideal for spotting coupling at a glance.
Table view showing an editable spreadsheet with All Nodes, ADRs, Fitness Functions and Relations tabs
Table Governance-aware spreadsheet. Edit nodes and relations inline and switch tabs to manage ADRs and Fitness Functions alongside the architecture.
Install

Run it locally.

Node.js ≥ 18, npm ≥ 9.

Terminal
# Clone the repository
git clone https://github.com/tomasz-zajac-opensource/radical.tools.git
cd radical.tools

# Install dependencies
npm install

# Start in development mode
npm run dev

# Build for production
npm run build && npm start