Draft Canvas Open editor
Getting startedAll docs

Getting started

In a few minutes you'll draw a small system, annotate it, walk someone through it, and export it. The system is an API that puts orders on a queue for a worker to process.

You need the app open: the hosted version, a self-hosted copy, or the desktop app. Nothing here needs an account, and nothing you draw leaves your machine.

Shortcuts are written for a Mac. On Windows and Linux, read ⌘ as Ctrl.

Start a canvas#

Web Home opens as a sketchbook, with Quick Draft on a paper card and Try an example and Import a file just below it. Desktop Home provides Open file… and Connect an agent…. Choose Quick Draft (pressing Enter on the web also works). Your drafts, recently edited diagrams, and projects appear on the shelf below it. Drafts and Recent appear when they contain diagrams; Projects is always available. A single view needs no tab bar; the separator stays in place.

Web Home

Web Home: an editorial heading beside a Quick Draft paper card, with example and import actions underneath and projects below the separator.

Choose View all to open the Canvas Gallery, or use the search button when you have diagrams. Each card previews the diagram itself. Home returns to the sketchbook; opening a diagram from the gallery brings you back to that gallery when you close it. Your diagram saves itself as you work; see Saving, backing up and sharing.

Try a complete explanation#

Try an example on Home or an empty canvas opens a new Order processing diagram. The command palette offers it later too. Play explanation presents its three-step Place an order flow; return to editing to change its ordinary shapes, connectors, captions and queue note. Every opening makes a fresh document. On desktop it is a normal Quick Draft.

Draw Service → Queue → Worker#

  1. Add the service. Move your pointer over the canvas and press S. A Service appears under it, ready to type. Type Orders API and press Enter.

  2. Add the queue. Select the service and drag from one of the small dots on its edge (its handles) into empty space, then let go. A short menu offers Service, Data Store, Queue and Actor. Choose Queue, press Enter to name it, and type orders.

    Dragging a connector from Orders API into empty space opens a menu offering Service, Data Store, Queue and Actor.

  3. Take the suggestion. With the queue selected, a faint Worker appears beside it, connected. That is Draft Canvas guessing your next move from what you've drawn. Press Tab to accept it, then Enter to name it Fulfilment worker. If the guess isn't what you want, press Esc, or ] to see another.

    A faint Worker shape and a dashed connector labelled "consumed by" appear next to the selected queue, with a small pill reading "Worker" and "Tab".

The connectors have labelled themselves with what they mean. The line from the API to the queue says it sends command to it — a job handed off, drawn dashed because nothing waits for it — and reads in the direction the arrow points. To change one, select the connector and pick another relationship from its popover; only those that make sense for that pair are offered. Nothing stops you drawing something unusual on purpose.

Pointing at a connector highlights it faintly and marks its two ends, so you can see which one a click will select; click anywhere along its line, or on its arrowhead. When several connectors leave a shape along the same line with the same label, the label is shown once on the stretch they share. Click it to select one of them, and click again for the next.

Orders API, a queue called orders and Fulfilment worker in a row. The connectors are labelled "sends command to" and "consumed by".

Some other ways to draw the same thing:

Add a note#

Notes are for what the boxes don't say: why the queue is there, or a decision the room just made.

  1. Press N to drop a note and type into it. Enter starts a new line; Esc keeps what you typed.
  2. Drag the note onto the queue and hold it there until it docks. It collapses to a small chip on the shape, and clicking the chip opens the note. You can dock a note on a connector the same way.

The queue now carries a small chip in its top corner, marking the attached note.

Or right-click a shape and choose Attach note, which creates one already attached.

Draw a boundary#

A boundary is a frame around shapes that belong to the same scope. Select some shapes and press ⌘G to put a boundary around them, or press B to draw an empty one. A shape dragged into a boundary becomes part of it. When you move, copy or delete a boundary, the shapes inside go with it. Draft Canvas never moves a shape into or out of a boundary just because the two overlap.

Choose a boundary's kind in the bar that appears when you select it. Each kind has its own outline and header, so you can tell kinds apart without reading the labels:

Kind Use it for How it looks
Boundary Any frame, with no particular meaning Dashed outline, name only
Group Shapes that go together for this explanation Dotted outline, quiet name
System What sits inside one software system Solid outline, window mark
Domain Shapes that share a domain responsibility Dashed outline, name on a corner tab
Network What sits within one network scope Dash-dot outline, connected-nodes mark
Deployment What runs in one runtime or hosting scope Solid outline, cube mark, ruled header

These kinds describe your diagram. They don't enforce anything: a Network boundary doesn't make anything secure, and a Deployment boundary doesn't have to be one machine.

The name is the boundary's own. The kind appears after it in small capitals, and is hidden when the name needs the room. To rename a boundary, double-click its name or press Enter.

Use the colour swatch in the same bar to colour a boundary. The colour applies to the outline and the kind mark, and tints the inside slightly, so the shapes inside stay easy to read. If you change the kind later, the name, colour, contents and connectors stay as they were.

Present a flow#

A flow is a numbered path through connectors. It's how you say "first this happens, then this".

  1. Click the connector from Orders API to orders. Its popover opens, with an Add to flow tab at the top. Click it. That starts a new flow with this connector as step 1 and opens the Flows panel with the name selected, so type Place an order and press Enter.

    A connector's popover with two tabs at the top: "sends command to" and "Add to flow".

  2. Click the next connector, from the queue to the worker, and choose Add to Place an order in the same place. It becomes step 2.

  3. The Flows panel (the Flows button in the toolbar, or F) lists the steps. Use it to reorder, rename, or remove them.

    The Flows panel listing "Place an order" with two steps, and numbered badges on the two connectors.

  4. Click Present in the toolbar. The editor gets out of the way and the flow opens: its title beside the whole path, framed with the rest of the diagram quietly around it. Press → or Space to begin. Each press tells one step: a signal travels the connector from where the interaction starts to where it arrives, the destination lights up, and a caption in the corner names the two shapes and what the step says. Then everything is still, so you can talk. ← goes back, and after the last step the flow closes on its whole path, with Replay and the next flow a click away. Esc returns to editing, to the same view and the same selection you left. ⌘Enter does the same as the button.

    The opening of a presentation: the flow's title and its route on the left, the whole diagram framed beside it.

While a step is showing, the notes attached to what it shows appear beside it. The note on the queue appears when the flow first reaches the queue.

Presenting step 1 of 2: the first connector is highlighted, the rest of the diagram is faded, and the queue's note appears above it.

The camera follows the story rather than each shape: it holds still while the next step already reads, slides a little when it has to, and only recomposes for a long handoff. Pan or zoom by hand whenever you like; Re-centre (R) hands the camera back. Overview (O) pulls back to the whole flow without losing your place, and the pointer (P) is a soft ring that follows your cursor for pointing at things.

If you have more than one flow, Draft Canvas asks Present which flow? first — and you can change your mind later without stopping. The bar names the flow you are in and where it sits (Place an order · Flow 2 of 4); click it for the full list, or press Shift+→ and Shift+← to move to the next and previous flow. On the last step of a flow, the button to the right of the title names the one that follows, so the hand-off is there when you need it.

Export it#

Press ⌘⇧E, or open Export in the toolbar.

The Export dialog with Image selected: PNG, a Light palette, and a preview of the diagram with the file name order-processing.png.

The saving guide covers each option, including encrypted exports.

Where next#

Clean up part of a drawing#

Select the shapes to tidy, then choose Arrange selection from the command palette or context menu. A selected boundary includes its contents. Unselected shapes and free notes stay fixed; containing boundaries may grow but do not shrink or change membership. Connectors alone do not select their endpoints. If there is too little room, select a larger area and try again. The result is one undo step. Arrange diagram remains available for a whole-diagram cleanup.

If an existing shape's name is shortened, select it and run Fit shapes to text from the command palette. It expands the selected architecture shapes and boundaries without moving them, in one undo step. New name edits grow the shapes automatically.