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. C4 ships by default - Person, Software System, Container, Component. Extend it or replace it entirely. More metamodels are coming.

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. Each view keeps its own layout or drill state, while the underlying model stays shared.

Structure / Flow / Hierarchy → one model, three 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.

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.
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