How does Subframe's infinite canvas work with code?

Updated

Subframe's canvas is built for code rather than for static mockups. It connects to your codebase, so the things you arrange on the canvas — pages, layers, cards, stacks — correspond to real structures in your app instead of being a separate visual artifact. The point is to keep design and implementation in one loop: you work on the canvas, and the result maps back to code.

What "built for code" actually means

A conventional design canvas treats every element as a drawing. Subframe's canvas treats elements as components and layout structures that already exist in, or are intended for, your codebase. The site describes it as "a design tool connected to your codebase, and a coding agent with a canvas," and frames the workflow as "designing & building is a roundtrip."

That roundtrip is the key difference. On a pure visual canvas, the handoff to code is a translation step — someone reinterprets the mockup. On Subframe, the canvas is meant to be the same surface where the code lives, so there is less to reinterpret.

How the canvas connects to your app

The page evidence shows the canvas working alongside a live app rather than in isolation:

  • Canvas and Browser side by side. The interface shows a Browser view running localhost:3000/home next to the Canvas. You can preview and edit your live app, not just a picture of it.
  • Structured objects on the canvas. The canvas holds named, typed items — Home, Pages, Fieldnote, Redesign, Layers, Home, Stack, Card, Card, Card. These read like real page and component structure, not freeform shapes.
  • An agent that reads the codebase. One example task on the canvas is: "Plan a new feature for geotagging where photos are taken. Research the codebase to come up with an implementation approach, and capture the existing product to explore a few new designs of how to present it." The agent researches the codebase and captures the existing product, then you explore designs on the canvas.

So the connection runs in both directions: the canvas reflects what's in your app, and changes you explore on the canvas are aimed at the code, not at a detached file.

Why this reduces design-to-code loss

The usual loss happens at the boundary: a designer produces a layout, a developer rebuilds it, and details drift. Subframe's approach collapses that boundary by keeping one agent for design and code and one canvas that both sides reference.

A concrete way to see it: if you're adding a photo geotagging feature, you don't mock up a screen in one tool and then ask an engineer to wire it up. You point the agent at the codebase to research an approach, capture the current product, and iterate on presentation directly on the canvas — with the app previewable at localhost:3000 beside it.

What to check before relying on it

  • Your codebase needs to be connectable. The value depends on Subframe reading your actual code, so confirm your stack is supported before assuming the roundtrip works for you.
  • The canvas is for building, not just exploring. If you only need static visuals, a plain design tool may be simpler; the code connection is the reason to choose this.
  • Pricing and plan limits aren't specified here. The site references an "Upgrade to Pro" billing page and a docs page on pricing and plans and AI credits, so check those for current terms rather than assuming a free tier covers your use.

If your goal is to keep design decisions and code structure in sync instead of translating between them, Subframe's canvas is designed for exactly that. If you just need throwaway mockups, the code connection adds overhead you won't use.