See it as a diagram
Everything below, as a diagram you can edit. Describe yours and see it in seconds.
No account needed · Editable canvas, not a picture
The perspective model is genuinely good design
In Ilograph the source has two halves. The resources section declares components as a tree of parents and children. The perspectives section declares how those components relate, either as a relation perspective or as a sequence perspective. Every diagram is a view of the same resource tree, which means a component is described once and appears correctly in every view.
That structure earns its keep on distributed systems, where the interesting thing is rarely the box list and almost always the path: how a request travels, which hop crosses a trust boundary, what happens when the cache is cold. Contexts, autocomplete, automatic layout, and interactive highlighting make the authoring loop pleasant, and the result runs in the web app, in a desktop application, and inside Confluence Cloud through the marketplace app.
Where the hand-written model gets expensive
The resource tree is typed by a person, and the perspectives multiply the consequences of that. One mistake in the model shows up in every perspective at once, and one missing component is missing from all of them. The elegance that keeps the views consistent also keeps them consistently wrong when the underlying system moves.
Nothing in the tool reads a repository or a cloud account, so there is no signal that a component was removed or that a new dependency was introduced. The YAML is exactly as current as the last editing session, and the editing sessions get rarer as the system gets bigger, which is the wrong direction.
The edit itself is small, which is exactly why it does not happen. Adding one cache to a running system is a Terraform block, a Helm value, and then, somewhere else entirely, these lines.
resources:
- name: Platform
children:
- name: orders-api
- name: orders-db
- name: orders-cache # added by hand, after somebody notices
perspectives:
- name: Network
relations:
- from: orders-api
to: orders-db
- from: orders-api # added by hand, in the right perspective
to: orders-cacheGenerating the resource model from the code
Datadef connects to a repository on GitHub, GitLab, or Azure DevOps with a read-only token, tracks one branch or tag per diagram, and generates the architecture from the files that define the system: infrastructure as code, containers and orchestration, schemas and dbt models, API specs, CI pipelines, and manifests. A daily sync regenerates the diagram and an architecture.md when the code moves.
The canvas supports the structural parts you would expect from a model-based tool: zones for boundaries, real icons on the nodes, labelled edges for what actually flows, and column-level lineage when the subject is data rather than services. It is one canvas per diagram rather than N perspectives over one tree, which is the real difference in expressiveness.
The closest counterpart to a second perspective is a second diagram on the same connection, and it is not only a different crop. One connection can back several diagrams, each tracking its own branch or tag and each choosing what gets read. The architecture focus pulls infrastructure and orchestration to the front, with ceilings of 16 infrastructure files and 14 Kubernetes manifests against 3 dbt models; the content focus inverts that, reading up to 18 dbt models and 14 SQL files while sampling infrastructure three files deep. Two diagrams of one repository can therefore be different readings of it. What they are not is views onto a shared resource tree: each canvas is its own object, and renaming a component on one does not rename it on the other.
For Confluence, where a lot of Ilograph output ends up, there is a live embed: the page shows the current diagram without a plugin, an export step, or a viewer account.
Choosing between them
If the value you need is several narratives over one model, sequences included, Ilograph is more expressive than a generated canvas and this is not a close call. If the value you need is that the picture is right on the day someone opens it, generation wins, because it removes the human step that keeps failing.
A reasonable split for a large system: generate the as-built view from the repository so onboarding and incident response start from something true, and hand-author the two or three narrative perspectives that matter enough to maintain deliberately.
FAQ
Does Datadef support multiple perspectives over one model?
Can a generated diagram be embedded in Confluence?
How is the model kept current?
Is the generated diagram editable afterwards?
Can data flows be shown at column level?