v0 is a chat that writes React and Next.js code, runs it in a sandbox you can click around in, and deploys it to Vercel. The models behind it are rented frontier models (v0's changelog names Claude Opus for its top tier), so a local studio calling the same API writes comparable code. Getting the chat, the file writing, the live preview and the git history to work well takes about a weekend. Shareable hosted previews, Design Mode, one-click deploys and team chats stay with v0, and you still pay the model provider per token.
Before you buildv0 Free still gives 7 messages a day. If you already pay for Claude Code, Codex or Cursor, asking it to build the UI in a Vite project gets you most of the way with no new tool at all.
Build me a local prompt-to-UI studio to replace v0. Requirements:
- Node.js 22 + TypeScript: a Fastify server and a React page on
http://127.0.0.1:4800 with the chat on the left and a live preview on the right.
- Each project is a folder in ./projects/<slug>, copied from a template that
already has Vite, React, TypeScript, Tailwind CSS v4 and shadcn/ui set up, so
the model never spends a turn on tooling.
- Call the Anthropic API with @anthropic-ai/sdk; the key and model name come from
.env. The model changes files only through two tools, write_file and
delete_file, and any path outside the project folder is rejected.
- A screenshot pasted or dropped into the chat goes to the model as an image
("make it look like this").
- The preview is the project's own Vite dev server in an iframe. After every turn
run `tsc --noEmit`; send errors back to the model at most 3 times, then stop
and show me the error.
- Every turn is a git commit (simple-git) with my prompt as the message. Undo
reverts the last turn, and a history list restores any earlier one.
- Show input and output tokens and the cost of each turn, plus a running total.
- No accounts, no telemetry, local-first: the only network calls go to the model API.
- Out of scope: hosting, one-click deploys, team sharing and a point-and-click
visual editor.
- README: setup, where projects live, how `npm run build` makes a dist folder for
any static host, and a note that bigger models cost more per turn.Opens your agent with the prompt filled in, you press enter. Or copy it and paste it into an empty folder.
The first prompt builds the core. Run these one at a time in the same folder to grow it into your own v0 by Vercel.
Add a Deploy button to the prompt-to-UI studio in this folder. Requirements: - Run `npm run build` in the current project, then upload ./dist with the Cloudflare Pages CLI (wrangler), using CLOUDFLARE_API_TOKEN and the account id from .env. - One Pages project per studio project, named after its slug; show the URL when done. - Stream the build and upload log into the chat panel; on failure, show the error and offer to send it to the model. - Never deploy a project with uncommitted changes. - Update the README with how to create a scoped API token.
Add element picking to the prompt-to-UI studio in this folder. Requirements: - A Vite plugin in the project template adds data-source="file:line" to every JSX element in development builds only. - A Pick button in the studio lets me click an element in the preview iframe; the studio highlights it and attaches its file, line and outer HTML to my next prompt. - The model gets that file in full and is told to change only that element unless I ask for more. - Out of scope: drag-and-drop layout editing. - Update the README.
Add a local model option to the prompt-to-UI studio in this folder. Requirements: - A model picker with the Anthropic models from .env plus any model served by Ollama on http://127.0.0.1:11434 through its OpenAI-compatible API. - Keep the same write_file and delete_file tools; if the local model does not support tool calls, ask it for a JSON list of files instead and validate it. - Show cost as $0 for local turns, but keep counting tokens. - Update the README with the Ollama install step and a model that handles React well.
Add an importer to the prompt-to-UI studio in this folder. Requirements: - Import from a ZIP downloaded from v0 or from a local git clone of the GitHub repo v0 synced to. - Copy it into ./projects/<slug>, detect whether it is a Next.js app, and if so run its own `next dev` for the preview instead of Vite. - List missing environment variables from the code (process.env references) and ask me for values before the first run; write them to the project's .env.local. - Make the import the first git commit. - Update the README with both import paths.
Teams on Vercel pay because v0 goes from a sentence to a working preview link without anyone opening a terminal, so designers and product managers can iterate on real code. The GitHub flow puts the result in a pull request developers can review, which a studio on one laptop does not give a team.
Estimate · The running cost is model tokens, the same kind of usage v0 bills for: a few cents to tens of cents per turn depending on the model and project size. The build session is token usage on your agent plan.
| Plan | Monthly | Annual, per month | What you get |
|---|---|---|---|
| Free | $0/user | $0/user | 7 messages a day; $5 of one-time credits for new users; Design Mode, GitHub sync and Vercel deploys. |
| Premium | $20/user | — | $20 of credits a month. |
| Plus | $30/user | — | $30 of credits a month per user plus $2 of free credits for each daily login, all models, shared chats and a shared credit pool. |
| Business | $100/user | — | Same credits as Plus, with training on your data turned off by default. |
| Enterprise | custom | — | SAML SSO, role-based access, priority access and support SLAs. |
Free allows 7 messages a day, with $5 of one-time credits for new users, GitHub sync and deploys to Vercel.
Kinda. The core is a weekend build with the prompt on this page, but real gaps remain: Hosted preview links you can share for every version, Design Mode for clicking on an element and changing it.
About $30 a month on the Plus plan per seat, $360 a year (checked 2026-10-13).
Hosted preview links you can share for every version; Design Mode for clicking on an element and changing it; One-click deploys and pull requests through Vercel and GitHub; Free daily credits and the pick of several models in one plan; Team chats and a shared credit pool. If any of those matter to you, keep paying.
Yes: Dyad (open source), bolt.diy (open source), Onlook (open source).