Skip to content

Design for the AI era

Give your coding agent a place to design.

A local-first canvas to explore design with your coding agent. Try directions using your own components and theme, refine them yourself or with feedback from others, then implement the one you believe in.

One real run: Claude Code + Opus 5.5 driving Velloo 0.6, with the founder's notes left on a Velloo Cloud link. 19m 19s of agent time in 78 seconds. Every design, comment, reply, and line of code on screen is real output. Open the shared board ↗ Download 1440p
macOS · Linux · Windows
npm install -g velloo
cd your-appvelloo init

Free and open source under Apache-2.0.

The loop, step by step

From three directions to one screen in the app.

A bathhouse booking flow built through Velloo’s MCP tools: explore three directions, pin notes on the chosen one, publish it from the canvas so the founder can comment from the link, resolve every note, then implement it in the app. One real run, start to finish; pick a chapter to jump in.

Works with your agent

Claude Code
Codex
Cursor
GitHub Copilot
Gemini CLI
OpenCode
Windsurf
MCP

Why Velloo

Making things got cheap. Deciding what to make did not.

Exploring alternatives and refining them with feedback is how good design has always worked. What changed is where screens start: in a code editor, with an agent, often before anyone has talked about the design. When the first working interface arrives looking finished, the conversation is easy to skip. Velloo brings it to the repository and agent you already use, so it can happen before the code lands.

Why I created Velloo →

Straight to code

Prompt One screen Shipped

The first working version can become the default.

Through the Velloo canvas

Prompt You choose Shipped

Room to compare, discuss, and refine before you build.

Two paths from a prompt. Straight to code: one screen, shipped. Through the Velloo canvas: several screens side by side, one chosen, then shipped.

A separate design tool

Exploring directions

Explore and gather feedback freely, in files kept apart from the code.

Connection to implementation

Carrying the chosen design into code is a separate step, often after implementation has started.

Straight to implementation

Exploring directions

Explore by changing the app. Keeping alternatives available takes separate branches or previews.

Connection to implementation

Review happens against working code, where every change feels like rework.

Velloo vell oo

Exploring directions

Compare directions on one canvas, refine them with feedback, then choose what to build.

Connection to implementation

Uses your components and theme. Your agent notes what each direction needs in your code, such as a schema change, then implements the one you choose.

What we believe

Design choices deserve a conversation.

A product's consistency, voice, and flow come from choices that build on each other. Make those choices visible early, so everyone contributing to the product can understand the direction.

Everyone sees the same thing

One surface the whole team can point at.

Explore solo with your agent as a design buddy. When another perspective would help, invite people across the organization to review the same work. Their feedback gives the next iteration a direction.

A published board opens in a browser, with no install or repo access. Comments stay attached to the design and return to your local canvas for the agent to act on. The free cloud plan lets you invite as many reviewers as you want.

Developer

Bring the codebase context, explore directions with your agent, and implement the design you've refined.

Designer

Bring the design principles, component standards, and judgement that guide the work. Review directions in context and help shape what comes next.

Across the organization

Bring context from the people who know your users and product. Review the same screens, question assumptions, and help refine the experience.

Canvas Review link Comments on the node Back on the canvas Shipped
Feedback stays connected to the screen it refers to, so the next iteration carries the conversation forward.

See the product

A design canvas your agent can actually use.

Explore with the components and theme your product already uses. Review layouts, refine the details, and check the implementation against the design.

An agent builds a pricing screen through MCP while Velloo updates the canvas velloo · mcp YOU Design a pricing screen with three tiers. Make Pro the most popular. › list_components 42 components · shadcn/ui › get_theme tokens · oklch › add_screen {"name":"Pricing"} › compose <Heading> › compose <PricingTier> × 3 › update_props @pro-card featured › screenshot {"mode":"compare"} ✓ light · ✓ dark AGENT Done. I recommend implementing this direction. DESKTOP 1440 · PRICING LIVE Simple pricing STARTER$9 /mo PRO$29 /mo SCALE$99 /mo MOST POPULAR DARK Simple pricing STARTER$9 PRO$29 MOST POPULAR SCALE$99 LIGHT
agent · mcp · canvas

The loop

Ask for directions. Choose what moves forward.

Ask your agent to explore a few directions, compare them on the canvas, and refine the one you like. Keep the alternatives in view while you decide what to implement.

Design the whole sign-up journey Sign up leads to an inbox and a welcome screen. The same board includes creating the account, an email-taken error, and a way to try again. ONE BOARD. EVERY WAY THROUGH. Created Verified loading error Retry 01 Sign up 02 Check inbox 03 Welcome Creating… Keep them informed Email taken Offer a way back Review the flow.Then build.
screens → journey

Flows

Design the whole journey.

Connect screens with arrows that say what happens next. Include the waiting, errors, and ways back, then review the whole flow before your agent builds it.

Read Design the journey →
Restricted JSX compiled into a repository JSON tree and rendered as a canvas interface IN YOUR REPO · COMPILED TREE ON THE CANVAS screens/invoices.json { "id": "invoices", "name": "Invoices", "tree": { "$ref": "Card", "props": { "className": "w-80 p-6" }, "children": [ { "$ref": "Heading", "props": { "children": "Invoices" } }, { "$ref": "Text", "props": { "children": "3 overdue" } } ] } // JSX compiled here } Invoices 3 overdue · 12 paid SEND REMINDERS
json ⇄ canvas

The same shape

A design your agent can keep working with.

Each screen is a readable JSON tree of components, props, and styles. The canvas shows the interface; your agent reads the same structure to make precise changes and carry the chosen design into your app.

An agent comparing a Velloo frame with a running app URL VELLOO FRAME LIVE URL localhost:4321/checkout VISUAL CHECK COMPLETE SCREENSHOT VIEWPORT THEME NODES ANNOTATIONS
agent · visual check

Agent vision

Check the design against the running app.

Your agent can compare a design frame with the running app at the same viewport, spot differences, and work through them. Named components and theme tokens give it the context to act on what it sees.

A live component changing between compact and wide responsive frames SAME COMPONENT RUNTIME LIVE 390 × 844 1440 × 960 COMPONENT
canvas · live frame

The canvas

See how your screens respond.

Resize frames to review responsive layouts and representative states side by side. Velloo renders your app's components and reports any adaptations or fallbacks, so you know what you're looking at.

A board containing desktop and mobile frames linked to the same screen BOARD · LAUNCH-WEEK 3 FRAMES · 82% DESKTOP 1440 · INVOICES MOBILE 390 DESKTOP 1280 · CHECKOUT SAME SCREEN
board → frame → screen

Screens + boards · the model

Hold several futures open at once.

Give each direction its own screen so you can refine it independently. Desktop and mobile frames of the same screen stay in sync, keeping comparison useful as the work evolves.

A selected component with Velloo's floating contextual HUD for props and visual tuning DESKTOP 1440 · PRICING LIVE Simple pricing Choose the plan that fits your team. STARTER$9 PRO$29 SCALE$99 T Heading H1 FONT Display Poster SIZE 48 56 px COLOR Coral ALIGN
contextual hud · props

Props + styles

Tune the selected component in place.

Select a component to adjust its props and styles on the canvas. See the result immediately and keep refining until the details feel right.

Velloo Cloud · opt-in

Share when it helps. Stay local when it doesn’t.

Explore locally with no account. When feedback would help, publish a board and invite reviewers through Velloo Cloud. The free plan lets you invite as many reviewers as you want.

Team workspacesInvite teammates and publish a board into the right team.

Private sharingSend an external review link without handing over the repo.

Feedback comes homeComments return to the local canvas for an agent to resolve.

Image generation over MCPGenerate, edit, cut out, or upscale assets directly into the design folder.

Velloo Cloud showing published boards, sharing visibility, teams, and storage

Framework-native

Your framework’s idiom, end to end.

Explore designs that belong in your app. React screens use your installed components; HTML screens use your app’s CSS. Velloo preserves their styling conventions as your agent moves from design to implementation.

Tailwind className

shadcn/ui

Your own component files render directly; adapted and fallback cases are reported, never guessed at. Tailwind utilities, globals, tokens, and class conventions stay intact.

className="flex items-center gap-2"

sx prop

Material UI

Real @mui/material rendered in-process. Your theme projects onto createTheme(); emitted screens speak sx.

sx={{ display: "flex", gap: 1 }}

Inline style

Ant Design

Real antd components with its native props, token-aware CSS-in-JS rendering, and inline style objects.

style={{ display: "flex", gap: 8 }}

sx prop

Chakra UI

Real Chakra UI v2 components, projected theme tokens, Emotion rendering, and Chakra-native sx props.

sx={{ display: "flex", gap: 2 }}

Inline style

No-library React

Bare primitives over plain HTML with inline style objects. No component framework to adopt; Tailwind remains optional.

style={{ display: "flex", gap: 8 }}

Native HTML

HTML + htmx

Semantic elements styled with your app’s CSS. Review with no app running, then emit native markup with hx-* attributes for your server templates.

hx-post="/contacts"

And the ones you wrote

A library we don’t adapt is still a library we render.

Velloo reads what your app actually renders — a package it depends on like Mantine, a private design system, or your own components/ directory — and draws those components on the canvas from your own installed copy. Nothing to register, no prop schema to hand-write. They emit with their exact imports, because the component in the design is the component that ships.

  • Discovered, not configured. Found by reading your source. Your code is never executed to catalogue it.
  • Honest about fidelity. Each component is checked and reported — exact, adapted, unstyled, or stood in for. One that can’t render falls back alone and leaves the rest of the screen real.
  • Yours, locally. Your components run only in your own browser. Publishing mounts each screen there and uploads the markup it drew, so a shared board looks like your canvas; the cloud never executes your app code.

Fits your workflow

Start wherever the work is.

Create a new app from a direction, scan an existing one, act on review feedback, or verify against a running URL. Velloo gives people and agents one visual surface, then keeps design and implementation connected.

APP

Start from the app

Scan its theme, routes, and component library before changing a screen.

NEW

Create a new app

Start from a Velloo direction, refine its component structure, then use the chosen screen as input for a new app.

URL

Verify the running product

Compare the design with a live URL, then resolve visible differences.

NOTE

Act on feedback

Pin comments on nodes, locally or on a published link, and the agent replies and resolves them.

vell oo
shared visual surface

Why it is different

Velloo is already shaped like your product.

Keep the design close to the code and the tools you already use. Your agent carries the chosen direction into the app, with your components, theme, and conventions as its starting point.

Local-first. Yours by default

Own your designs. Keep them local.

Keep your designs alongside your code as ordinary JSON. Branch an experiment, compare revisions, and revisit how a direction evolved. Git is optional; your designs are yours either way.

feature/checkout-flow 3 design files
B boards/checkout.json M
S screens/subscribe.json A
T theme/default.json M
annotation resolved responsive state refined

An open agent surface

Drive it from the agent you already use.

Keep your editor, your model, and the agent you know. Velloo connects over MCP, giving it a canvas to explore designs, act on feedback, and prepare the chosen direction for implementation.

MCP clients connected
Claude Code
Codex
Cursor
GitHub Copilot
Gemini CLI
OpenCode
Windsurf
MCP
Gemini CLI
OpenCode
Windsurf
MCP
Claude Code
Codex
Cursor
GitHub Copilot

Questions

Straight answers.

The questions that come up most, answered as plainly as we can.

Teams already explore alternatives and comment on designs. What's new here?

The practice isn't new, and Velloo doesn't claim to have invented it. Designers have explored directions, gathered feedback, and refined their work for as long as there have been design tools. What changed is where a screen starts: more and more interfaces begin as a prompt in a code editor, often from someone who never opens a design file, and the design step gets skipped because it lives somewhere else. Velloo brings that familiar process to the repository and the coding agent the team already uses, so the conversation can happen before the code lands instead of after.

Isn't this just a design tool? Do I still need something like Figma?

Keep your design tool. A drawing tool is for freeform work: brand, illustration, motion, anything that isn't made of components. Velloo works in real components from the first screen, whether they come from an app you already have or from a library you pick for a product that doesn't exist yet. It builds screens out of them, in a folder you own, so the work can be reviewed and implemented without being redrawn. Most teams will use both, and they rarely want the same thing on the same day.

I already build UI with Claude Code. What does Velloo add?

A step before the code, in the same session. On its own, Claude Code takes a prompt to a working screen: one version, wired to data and routing, that nobody else weighs in on until it is built. For a small change that is the right path. Velloo is an MCP server, so the same agent can first lay out a few directions on a canvas, built from your components and theme, with desktop and mobile, light and dark, side by side. Because it is still reading your codebase, it can pin a note to each direction saying what it would take to build, such as a database schema change. Teammates comment on a published board from a link, the agent works through their comments, and then it implements the direction you chose.

How is this different from v0, Lovable or Figma Make?

Those products take a prompt and hand back a working interface, and they are good at it. Velloo is organized around the step where a team looks at what came back and decides. The agent builds into a folder in your own repo, using your own components, and can keep several screens side by side on one canvas. The difference shows up when you want a second option next to the first, or when someone outside the repo has to review what the agent produced.

Why doesn't my agent just take a screenshot?

It can, and it should. Seeing is solved and free. The gap is everything a screenshot does not carry: a picture does not tell the agent that the element is a <Card> from your library, that the border came from a token, that a prop change should reach every frame using that screen, or how to write the change back into the repo. Velloo hands the agent the structure under the pixels, plus somewhere to put the result. The screenshot is the part you already had.

I'm a designer. Is this trying to replace me?

No. Velloo gives your judgement more room in a process where agents can draft interfaces quickly. Define the components, standards, and design thinking that guide the agent, then compare directions and refine them with the team. Published boards let you review real screens in the product's theme and pin feedback to specific nodes. You can propose directions before anything lands, instead of reviewing screens that already shipped, and keep the experience consistent as it evolves.

What's free and what's paid?

The local canvas and MCP tools are free, open source under Apache-2.0, and run with no account. That is the complete local product, not a trial. Velloo Cloud is the opt-in half: published boards, comments that return to your canvas, team workspaces, and hosted asset generation. The free plan covers three published boards with unlimited reviewers and guests; paid plans add members who publish together. Reviewers and guests never take a paid seat. See the pricing page for the details.

Does this work with my component library?

Most likely yes, even if it isn't one Velloo adapts. Adapters and styling channels cover shadcn/ui with Tailwind className, Material UI and Chakra with sx, and Ant Design and no-library React with inline styles. Beyond those, your app's own components — a package it depends on like Mantine, a private design system, or your own components directory — are found by reading what your app renders and drawn on the canvas from your own installed copy, then emitted with their exact imports. Velloo checks each component and reports how it actually rendered rather than quietly approximating it. How your own components are rendered.

Can I use Velloo with HTML or htmx instead of React?

Yes. The HTML + htmx provider works with server-rendered templates and plain HTML sites. Velloo uses your app's CSS and stores copies of its stylesheets and assets with the design, so the canvas can be reviewed without the app running. It keeps real hx-* attributes for native HTML emission; the canvas shows static states and your app supplies the handlers. Design an HTML or htmx app.

Can the whole team use it, or just whoever has the repo?

Anyone with a link. A published board opens in a browser with no install and no repo access, which is how a designer, a product manager or a client sees the work. Looking costs nothing and needs no account. Your organization always comments; a guest you invite to a board comments from their personal link, and anyone else can comment when you turn on public commenting. Comments pin to a node and travel back to the local canvas for the agent to act on. Reviewers and guests never take up paid seats.

Doesn't exploring more directions just mean more slop?

It can, if the directions are cosmetic variations with no decision behind them. The useful version gives each direction a distinct premise, holds the same constraints across all of them, and judges them against a stated bar. Velloo makes the alternatives visible and comparable. It does not supply the judgment that makes them worth comparing.

Building is fast now. Why not build a few versions and share preview links?

You can, and for small changes you should. The cost shows up before anyone has agreed on a direction: each version pulls in data, state, and routing, and lives on its own branch or preview, so comparing means switching between tabs. Once a version works, it also gets harder to argue with, and changing it starts to feel like rework. On the canvas, the directions sit side by side at the same viewport, cost little to throw away, and carry comments pinned to the component they are about. The code comes after the choice.

Why a canvas? Couldn't the agent just show me diffs?

For checking a single screen, a screenshot, a diff and a dev server are enough, and you already have them. Comparing is different: it means moving your eyes between the options, at the same viewport and in the same theme, without holding the last one in memory. That is a spatial problem, which is why the directions sit side by side on a canvas instead of in a sequence of messages.

Do I have to explore alternatives every time?

No. Plenty of screens do not deserve it, and nothing in the tool insists. Velloo works as a component-structured canvas for one screen: build it, check it in both themes, compare it against the running app, implement it. The alternatives are there for the decisions that are actually worth a second look.

Where do my designs live? What happens if I stop using Velloo?

They live in a folder as ordinary JSON, one readable component tree per screen, in your app repo or another folder you choose. They diff in Git, review in a PR, and revert like anything else. If you stop using Velloo, the code you shipped is just your code, and the design files are just files you own. There's nothing to export and nothing to get out of.

Do I have to change how I work with my agent?

No. Velloo is an MCP server, so it plugs into the agent you already use: Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode, Windsurf. You keep your editor, your model and your prompts. The agent gains a visual surface to put the work on, and a way to lay out more than one version of it.

Is my code sent anywhere?

The local loop runs on your machine, is telemetry-free, and works with no account. The CLI makes one anonymous update check against the public npm release version at most once a day; it sends no project or account data, and VELLOO_DISABLE_UPDATE_CHECK=1 disables it. Publishing, comments, hosted asset generation, and other Cloud features are opt-in. See the docs for exactly what each one transmits.

Does the agent write to my app, or do I?

Velloo emits the chosen screen as structured, framework-native intermediate output, not a paste-ready production file. Your agent turns that into real application code, adding imports, routing, state, data, and handlers in your project's conventions. The result shows up in your diff and goes through the review process you already use.

Give your next feature room to take shape.

Explore a few directions with your agent, refine your favourite, and bring others in when you’re ready.

macOS · Linux · Windows
npm install -g velloo
cd your-appvelloo init

Free and open source under Apache-2.0.