# Whiteboard: A Visual Canvas for Reviewing AI-Generated Code

AI agents can now make changes across dozens of files in a single pull request, but **reviewing those changes has not become much easier**. Reading a 40-file diff line by line is slow and easy to get wrong, while asking the agent for an explanation often produces a long Markdown summary that is disconnected from the code it is describing.

[Whiteboard](https://github.com/devdotfast/whiteboard), an open-source desktop app from /dev/fast (YC W26), takes a more visual approach. **It gives the agent a canvas for explaining its work**, turning a large set of code changes into a navigable map rather than another block of text.

The idea is to recreate the experience of working through a system on a whiteboard with another developer. Instead of finishing the review with only a list of modified files, **you should come away understanding how the pieces fit together and why they changed**.

Whiteboard is built by Sid, Alex, Ketan, and Milan. It is MIT-licensed, has **2.8K GitHub stars**, and is available for macOS and Fedora Linux. You can install it from [install.dev.fast](https://install.dev.fast).


<iframe class="aspect-video h-auto" width="100%" height="315" src="https://www.youtube.com/embed/cP5PRDo3u6Q" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>


## The cognitive debt problem

![A graphic illustrating the three core questions Whiteboard helps answer: Who calls what, what changed, and jump to the exact line.](https://imagedelivery.net/xZXo0QFi-1_4Zimer-T0XQ/2bb67409-6944-43d7-3349-bb00ad135600/public =1920x1080)

The three questions a reviewer needs to answer quickly:

**Who calls what?** Visualizing relationships and data flow between parts of the code. A sequence diagram or entity-relationship diagram shows this at a glance; a text explanation requires building the same mental model from prose.

**What changed?** Not every line in a diff is equally important. Changes to a conditional branch deserve more attention than a renamed comment. Standard diffs don't communicate this hierarchy.

**How do I get there?** The distance between a high-level description and the relevant line of code is a context-switching tax. Every time you have to search for a file or scroll to find a function, you lose thread.

Whiteboard's approach to all three: the agent generates structured content (diagrams, summaries, annotated diffs) that is anchored to the actual code. You click a node in a sequence diagram and jump directly to the implementation. You don't have to search for it.

## Setup

Whiteboard runs as a local desktop application. Download and install it, then connect your agent from the welcome screen.

![The settings screen in the Whiteboard app, showing the instructions and commands for connecting the Claude Code agent.](https://imagedelivery.net/xZXo0QFi-1_4Zimer-T0XQ/1b01e55e-0d8c-49ae-d115-8ed1b390f700/md2x =1920x1080)

For Claude Code:

```command
claude plugin marketplace add devdotfast/whiteboard
```

```command
claude plugin install whiteboard@devfast --scope user
```

The app supports Claude Code, Codex, Cursor, OpenCode, and other agents that speak MCP (Model Context Protocol). Reload your agent environment after installing.

### Privacy

Whiteboard's anonymous telemetry does not include your code, diffs, Whiteboard text, prompts, or model output. If you want to disable telemetry entirely: Settings → Privacy → uncheck "Share anonymous usage data."

One note on crash dumps: because Whiteboard is an Electron app, a crash can produce a dump of process memory. With telemetry disabled, these dumps are deleted locally without being uploaded. For work on sensitive or proprietary codebases, disable telemetry before your first review session.

## Using it

With Whiteboard running and the plugin installed, ask your agent:

```text
[output]
Review my current branch against main and open the result in Whiteboard.
```

The agent analyzes the diff, generates a review containing sequence diagrams, entity-relationship diagrams, and annotated explanations, and surfaces it in the Whiteboard app.

### Diagrams that link to code

Each diagram element is linked to the underlying code. Clicking a node in a sequence diagram jumps directly to the relevant file and line. Clicking a block in a request-flow diagram opens the implementation. You get VS Code keybindings and LSP support for navigation since the app is built on Code OSS.

This is the core value proposition: the connection between the high-level explanation and the source of truth is a single click rather than a context switch.

### The structured diff view

![The specialized diff view in Whiteboard, showing how docs and tests are folded away and large functions are summarized as pseudo-code.](https://imagedelivery.net/xZXo0QFi-1_4Zimer-T0XQ/46022f5a-d321-4e66-9a7b-1fa20d4ba900/lg2x =1920x1080)

Whiteboard's diff view is not a standard `git diff`. It understands code structure and uses that understanding to present changes in a more focused way:

- Test and documentation changes are collapsed by default so you can focus on logic first
- Large modified functions are summarized with pseudo-code to give you the gist without overwhelming detail
- You can expand any section to see the full diff

The result is a diff that communicates importance hierarchy rather than treating every line as equivalent.

## Architecture

![A diagram showing the architecture: Claude Code communicates with the MCP server via the plugin, and the server instructs the Whiteboard app (a fork of VS Code) on what to render.](https://imagedelivery.net/xZXo0QFi-1_4Zimer-T0XQ/235d7ba3-48ed-4daf-102b-58866cf80700/lg1x =1920x1080)

The desktop app is built on Code OSS, the open-source base of VS Code, vendored directly rather than maintained as a patch series. The team's reasoning: coding agents work better with vendored code than with patches, and stripping out the ~45% of the VS Code codebase that is Copilot infrastructure was easier this way.

The agent communicates with a local MCP server running inside the Whiteboard app. The agent sends structured drawing instructions (create a sequence diagram, add a step from A to B, link this step to file X at line Y) and the server renders them on the canvas. This decoupled design means any agent that can speak MCP through a plugin can use Whiteboard.

Editing is intentionally disabled. Whiteboard is a review tool, not an IDE. You read and navigate; you edit in your normal editor.

## Advanced features in development

**Decision Log:** A running log of choices the agent made autonomously during the session, things like variable naming decisions, small refactors, or configuration choices that weren't explicitly prompted. The intent is to capture the "why" that gets lost in a standard commit message.

**Trace Archaeology:** The equivalent of `git blame` for agent sessions. You can point to a line of code and ask why it exists. Rather than returning just a commit hash, Trace Archaeology links the code back to the specific agent session and conversation that created it, including the original prompt and the agent's reasoning.

## A note on verification

The diagrams and explanations Whiteboard surfaces are generated by the agent, and agents can misrepresent code flow. The team is explicit about this: treat any diagram as a claim, not a fact. The value of Whiteboard is that it makes verifying the claim fast. You click through to the source, and you check. The tool doesn't remove the need for that step; it just makes it much faster than doing it from a flat diff.

For multi-repo reviews, the current version doesn't handle browsing files across multiple repos in a single review well. Single-repo reviews are the stable use case.

The project is under active development with regular releases. Current version is 0.0.34.