Architecture
that keeps up.
Ever explained a system out loud to a rubber duck? Viaduct is where that explanation lives — one C4 model your team and your coding agents can actually navigate.
Internet Banking
System
API Application
Kotlin · Spring
Payments
Spring
TransferService
Kotlin
Whatever it is built from, the model names it
Ever redrawn the same diagram to answer the same question?
One model. Every level.
Four levels, one model
Context, containers, components and code are not four drawings that drift apart. They are one model you move through — open an element and you are on the level beneath it.
The docs live on the element
Markdown, sequences and API contracts hang off the thing they describe, so opening the box opens its documentation instead of sending you to a wiki search.
Your agents read the same model
An MCP server hands the model to Cursor and Claude Code as structured tools — not as a screenshot pasted into a prompt.
- All four levels, the docs and the contracts — the same model a person opens.
- Agents read the model and write back through the same tools.
- Changes land in a change set, so a person still approves them.
Every tool here starts from a problem we hit ourselves, ships with honest limits, and earns its place before the next one gets started.
What the lab ships
Viaduct
C4 architecture modelling in the browser
Live
One C4 model as the navigation layer for a system: context, containers, components and code, with the Markdown, sequences, ER models and API contracts attached to the elements they describe.
- All four C4 levels on one canvas
- Markdown, PlantUML sequences and ER models on the node
- Live collaboration and an MCP server for Cursor
Viaduct MCP
MCP server exposing C4 models to AI coding agents
Live
A Model Context Protocol server that gives Cursor, Claude Code and Claude Desktop direct read and write access to a Viaduct architecture model — C4 elements, PlantUML sequences and data flows — over bearer-token auth.
- 29 tools spanning model reads and writes
- Bearer-token auth with per-caller authorization
- HTTP and stdio transports, Docker deployment
Written by the lab
A practical guide to the C4 model
Start where your question is. Each level has its own page, with worked diagrams and the failure modes that make them useless.
Level 1
System Context
One box for your system, the people who use it, and the systems it depends on.
Level 2
Containers
The separately deployable pieces inside your system and the technology each one is built with.
Level 3
Components
The major building blocks inside one container, what each is responsible for, and how they collaborate.
Level 4
Code
Classes, interfaces and their relationships inside a single component.
We ship, then we listen — preferably to the failure cases rather than the applause.
Small surface. Sharp problem. Honest limits.
01
Observe
Watch where architecture work actually breaks: diagrams, docs, reviews, and the context a coding agent is missing.
02
Isolate
Cut a tool around one job. No platform theatre. Viaduct exists because the model and the explanation were separate artefacts.
03
Ship
Browser editor, collaboration, export, MCP. Usable without signing in; cloud when a team needs it.
04
Listen
Access on request. We want failure cases from people who maintain real architecture, not demo applause.
Local use in the browser needs no account. Organisation access is granted on request.
Try the editor. Send the ugly cases.
We answer within one business day, from a real inbox.