How to Share a v0 Prototype for Review

· · Updated

v0 turns a prompt into a working React interface faster than most teams can schedule a review meeting. The bottleneck moves immediately: the build is done in ten minutes and the feedback takes four days. This guide is for anyone using v0 to prototype who needs real reviewer notes back, not a thread of vague Slack replies.

The Problem

v0 is a generator, not a review tool. It gives you a preview of what it just built, inside its own interface, tied to your chat session.

That creates three specific frictions when other people need to look at the work:

  • The preview is not a stable artifact. Keep prompting and the thing your reviewer looked at is no longer the thing on screen. Their note about “the second card” now points at nothing.
  • Reviewers are looking at your workspace, not the product. The generator’s chrome is visible. People comment on the tool instead of the interface.
  • Feedback lands somewhere else. The prototype is in one tab, the notes are in Slack, and the mapping between them lives in your head.

The last one is the expensive one. “The spacing under the header feels off” costs a round trip every single time, because which header is a question only the reviewer can answer and they have already closed the tab.

The Solution

Turn the prototype into a plain hosted page, then put the feedback on that page. Three steps.

1. Get the project out of v0

v0 gives you the code — either as a downloadable project or by pushing to a GitHub repository. Take whichever is less friction for you. What you want on disk is a normal front-end project with a package.json.

2. Build it to static output

v0 output is typically a React or Next.js project, which means it needs a build step before a browser can run it. From the project folder:

npm install
npm run build

For a Vite project the result lands in dist/. For a Next.js project configured for static export it lands in out/. That folder is a complete static site: HTML, CSS, JS, and assets, with no server needed.

If the prototype uses server-side features — route handlers, server actions, a database — static export will not cover it. For a review prototype that is usually fine, because reviewers are judging the interface, not the backend. Stub the data if you have to.

Zip that output folder and upload it. You get a URL you can paste into any channel, and the person opening it needs nothing installed.

On Undraft the upload also gives you the part v0 does not have: reviewers can click any element on the live page and pin a comment to it. The note is attached to the button, not to a description of the button. That is the whole difference between a review round that converges and one that loops.

Making the Review Round Actually Close

A hosted link fixes distribution. It does not automatically fix the review. Three habits do most of the work:

Say what kind of feedback you want. “Reviewing layout and copy, ignore the placeholder data” saves you six comments about the fake names.

Give reviewers a deadline and a single link. Multiple links is how you end up merging two contradictory review rounds.

Re-upload rather than re-share. Each new upload becomes a new version at the same URL, so the link you already sent stays correct. Reviewers do not need to hunt for the latest one, and you do not need to explain which of the three links in the thread is current.

Examples

Before

  1. You prompt v0 into a settings page.
  2. You screenshot it into Slack.
  3. Someone replies “the toggles look cramped.”
  4. You ask which toggles.
  5. They reply two hours later.
  6. You re-prompt and screenshot again.

Four hours of wall-clock time for one round of feedback about spacing.

After

  1. You export the project and run npm run build.
  2. You upload dist/ and share the link.
  3. The reviewer opens the live page, clicks the third toggle, and comments “cramped — needs more vertical space between rows.”
  4. You re-prompt v0, rebuild, re-upload.
  5. The reviewer opens the same link and sees the new version — with the previous round’s comments still readable on the version they were left on.

One round, no guessing, and a record of what was asked for.

Summary

  • Build to static output and host it — export from v0, run the build, upload the output folder so reviewers get a real page instead of a screenshot.
  • Track review rounds by version — re-upload to the same link so there is one canonical URL and a visible history of what changed between rounds.
  • Avoid collecting feedback off-page — if the note lives in Slack and the prototype lives in a browser tab, every comment costs a clarifying question.

Next: the step-by-step guide to share an HTML file as a live link, and how to comment on a webpage directly.

Frequently Asked Questions

Can you share a v0 prototype without deploying it to Vercel?

Yes. v0 lets you download the project or push it to GitHub, and any static build output can be hosted elsewhere. Building the project locally and uploading the output folder gives you a live link without connecting a deployment platform.

Why not just share the v0 preview link?

A v0 preview link shows the generated result, but it lives inside the generator's own interface and changes as you keep prompting. For a review round you usually want a fixed snapshot that reviewers can open and mark up without your chat history moving underneath them.

How do reviewers leave feedback on a v0 prototype?

Host the built prototype at a shareable URL on a platform that supports on-page comments. Reviewers open the link, click the element they are talking about, and leave the comment there instead of describing the location in Slack.

Do reviewers need an account to look at a v0 prototype?

Not to look at it. Anyone holding an Undraft link can open the live prototype and interact with it without an account; leaving a comment does require a sign-in, which is one click with Google.

What happens to feedback when you regenerate the prototype?

Every re-upload is kept as a new version, and each version keeps its own pinned comments. A second prompting round does not wipe out the first round of feedback — you switch versions to read what was said on each.

More on this topic: AI Collaboration

A

Founder at Undraft · Product manager

Built Undraft after watching prototype review break down into screenshots and ZIP attachments one too many times. Writes from direct experience running the product.

More posts by Ari Kliger