Skip to main content

Platform Architecture Diagrams

📌 If you have any questions shoot us an email or join us on Discord! 💜


Overview​

Screenshot of an example Platform

With Platforms you will know how all the pieces in your system fit together. From the high level, logical system architecture to the individual components, with their APIs, dependencies, environments, and data flows.

The Platforms feature suit also inlcudes

Create a Platform​

A platform is a collection of components — i.e. software that uses or provides an API such as web-apps, microservices, SaaS providers, etc.

To create a new Platform:

  • Open your project
  • In the left-side menu, open Platforms

Import a Platform from a CSV File​

Options to create a new Platform

  • Click "Import a platform"
  • Import your list of components with dependencies to create a platform right from a CSV file.

🔑 Pro Tip: You can download a CSV template with example data to ensure you format it correctly.

Importing a CSV file to create a new Platform

Import a Platform from an Image File​

creating a new Platform

  • Click “Create a platform”
  • Select Using AI Assist

Our AI Assist feature will process image files (.png, .jpg, .jpeg) of your existing diagrams or freehand sketches, extrapolating and listing all of your system components. You can then edit them and select those that will be added to your platform.

  • Upload as many image files as you wish, to get a full list of your components. This process may take a few minutes to complete.
  • Type in a Platform name.
  • Review the detected components. You can rename them, change their type or add tags.
  • Click “Create a platform”.

Uploading a diagram to create a new Platform

Manually Create a Platform​

  • Click “Create a platform”
  • Select Continuing with the manual process. You will manually list all the components you want to add to your Platform.
  • Type in a Platform name.
  • Type the component name on “Enter to create a component”.
  • Click the “+” plus icon.
  • You can now change the component type or add tags.
  • Once you have a full list, click “Create a platform”.

You will also be able to add, edit, and delete any platform component at any point after its creation.

Creating a new Platform from scratch

Top Navigation Overview​

Screenshot of Platforms top navigation bar

Left:

  • Views Panel: Create a list of filtered views of a Platform, by selecting the specific components you want to group together.

Center:

  • Open Platform Information: Open the Platform information panel to review and edit the platform name, tags, readme, comments, etc.
  • Add component: Add a component to your Platform by selecting an existing component listed in your project or by creating a new one. See more below on how to add components.
  • Add Group: Group related components together for a cleaner, less cluttered diagram.
  • Comments: Add a comment for your team about this Platform.
  • Enter Fullscreen
  • Auto-Docs: Open the Auto-Documentation panel with auto-detected components and dependencies.

Right:

  • Auto / Manual: Change the layout of your platform.
  • Undo/Redo
  • Version history: Open the panel to view the previous Platform versions and click on the ellipsis “…” button to restore a previous version.

Edit Platform Components and Dependencies​

🔑 Pro Tip: When editing your Platform, it's a good idea to create a new design branch: you can easily discard any incorrect changes or ask your team to review and approve them before merging into main.

Add Components​

Options to add a component to a Platforms

A component is a software that uses or provides an API (e.g. web-apps, microservices, SaaS providers, etc.).

  • There are multiple ways to add a new component:
  1. Click the “+” plus icon in the Platform top menu
  2. Click the “→” arrow icon when you hover over one side of a component
  3. Click the “+” plus icon in the Platform bottom menu
  • In the pop up modal, you can select an existing component or add a new one by clicking “Create a new component”
  • Name the component, select its type, and click “Create component”

🔑 Pro Tip: All the components created within your project will be listed in the Components tab (in the left-side menu).

They will also appear when adding new components to any Platform. In the modal to add a new component, you can toggle "Not in platform" to easily identify components not present in the current Platform.

Add Auto-Detected Components and Dependencies​

Use Auto-Docs to populate your Platform with components and dependencies auto-detected by Auto-Documentation.

Screenshot of Platform Auto-Docs

Clicking Auto-Docs opens a side panel with two sections:

(1) Top controls

  • Show Auto-Docs (toggle): Show or hide all auto-detected components and dependencies in the platform diagram.

  • Auto-select Dependents (toggle): When enabled, selecting a component will automatically select its connected dependencies and components.

(2) Auto-detected components and dependencies list

The complete list of all components and dependencies detected by Auto-Documentation (across all Platforms within your project) is split in two respective tabs.

In this section you can:

  • Apply All: Add all detected components and dependencies to your Platform at once.

  • Apply Selectively: Manually review and apply (or ignore) individual components and dependencies.

Screenshot of Platform Auto-Docs selecting components

Delete Components​

There are multiple options to delete a component:

  • Select the component and hit delete on your keyboard
  • Select the component and hit the "đź—‘" wastebin icon in the platform bottom menu
  • In the left-side menu, open the Components tab, hover over the component you want to delete, click the "..." ellipsis button and confirm the deletion.

Add / Delete Dependecies​

A dependecy (or a line / arrow between components) indicates a relationship where one component relies on another for functionality, data, or services to perform its role within the system.

  • Hover over one side of the component until an “→” arrow icon appears
  • Press, hold and drag the new dependecy to the desidered component

To delete a dependecy, select it and hit delete on your keyboard.

Edit the Component Information​

You can edit components by:

  • Double clicking on a component and editing the information in the right-side panel
  • Navigating to the Components tab and opening the relevant component

Group Components​

Group components in a Platforms

Groups allow you to:

  • Cluster related components together for cleaner, less cluttered architecture diagrams.
  • Move grouped components as a unit for easier Platform management.

You can create a group by:

  • Clicking on the "add group" icon (circle with three dots) in the top navigation bar
  • Dragging and dropping components within a group

OR

  • Pre-selecting all the components you want to add to a group
  • Clicking on the "add group" icon (circle with three dots) in the top navigation bar

When selecting a component within a group, an additional menu appears at the bottom of the screen. Here you can:

  • Add more components to the group
  • Create a new platform view
  • Remove components from the group
  • Show the component details (side panel)
  • Copy the component
  • Delete the component

When selecting the group itself, an additional menu appears at the bottom of the screen. Here you can:

  • Add more components to the group
  • Create a new platform view
  • Show the group details (side panel)
  • Copy the group
  • Delete the group

ℹ️ A clarification:

  • Platforms represent your actual software system, consisting of components (i.e. software that uses or provides an API such as web-apps, microservices, SaaS providers, etc.) and their dependencies. Each Platform mirrors the real-world architecture of your software, providing a 1:1 view of how components interact and depend on each other.
  • Platform Groups are a visual aid for organizing components within a Platform. Groups are purely for simplifying diagrams and do not reflect existing software structures or affect component dependencies.

Edit the Layout of a Platform​

Change the layout of a Platforms

Auto Layout vs Manual Layout​

In the top navigation bar, on the right side, you can select the layout of your Platform.

This will arrange your Platform components in the way that best suits your workflow:

  • Auto layout: Multiplayer will automatically organize and align everything for you.
  • Manual layout: Drag and drop components for precision placement

With both options you don’t have to worry about reconnecting components when you move them within your Platform, all dependencies will remain intact.

Tree Diagram vs Flow Diagram​

In the top navigation bar, on the right side, you can select the layout of your Platform. Select "↓" arrow on the "Auto" or "Manual" options, to open the drop down menu.

  • Tree Diagram: A diagram with hierarchical structures that show relationships between components based on dependencies, branching out from a single starting point (it's built using Dagre Algorithm).
  • Flow Diagram: A diagram showing components in a sequence, with arrows indicating direction.

Leave a Comment​

You and your team can write or seach for Platform comments by clicking on the "đź’¬" comment icon in the Platform top navigation bar.

🔑 Pro Tip: If you're looking to evolve your system architecture, the best way to discuss the changes with your team is to create a new design branch, edit your platform, and submit a system design review.

Rename or Delete a Platform​

  • Hover over the Platform name
  • Click on the ellipsis button “…”

To rename:

  • Select “Rename”
  • Type a new Platform name

To delete:

  • Select “Delete”
  • Confirm your action in the prompt - please note that you can’t undo or recover deleted platforms.

Platform Diagrams vs Other Diagramming Tools​

Multiplayer is a collaborative platform to build better distributed systems.

Platform Diagrams is not just a diagramming tool: it goes beyond static visuals, and offers thorough, accurate and automated diagrams of your system architecture, with full version control and collaborative system design capabilities.

By leveraging Auto-Documentation to automatically generate always-accurate system documentation (architecture, APIs, dependencies, etc.) your team can stay aligned and spend less time on manual updates.

Furthermore, Multiplayer solves two other key pain points when working with distributed systems:

More on this topic here: How does Multiplayer compare to and/or integrate with Diagramming Tools?

Benefits of Platform diagrams​

These are the benefits of leveraging the Platform Architecture Diagrams features.

  • Immediate System Clarity

    Visualize your distributed system effortlessly, from a 10,000-foot view right down to your APIs and source code. 

    Achieve unparalleled clarity and insight into the structure and dependencies of your system.

    With an always-accurate platform diagram, potential bottlenecks and vulnerabilities stand out, allowing for proactive measures to be taken before they escalate into more significant challenges.

  • Simplified Onboarding and Offboarding

    Streamline the onboarding process for new developers, accelerating their understanding and engagement with all facets of your system and eliminating wasted time digging through outdated docs.

    Ensure a secure knowledge transfer during offboarding: as team members transition, retain critical system insights with visual representations of your system's evolution and documented design decisions.

  • Team Productivity Boost

    Empower your team to concentrate on what they do best: coding and innovating. Eliminate the need for time-consuming diagram drawing and maintenance or extensive meetings to align on system changes.

    Automatically resolve any drift between your code and your system architecture.

  • Easier Security Assessments

    Streamline your security threat modeling and third-party assessments. Identify potential security vulnerabilities within your system's architecture early and continuously.

    Enhance collaboration with security teams and third-party auditors through clear, up-to-date visual representations of your system, ensuring everyone is aligned and informed.

Next Steps​


You did it! What’s next?