Vercel Logo

The v0 Way

The shortest path from idea to live URL no longer runs through create-next-app. v0 is Vercel's AI coding agent. It lives in the browser, takes plain English, and gives you back a real full-stack project running on Vercel's primitives. Not a static mockup, not a sandbox toy. A deployable app.

Generate

Open v0 and describe what you want. For this walkthrough, the prompt is:

Build me a simple blog app with a homepage, post list, and post detail pages.

Before hitting go, two controls are worth knowing:

  • Model picker. Switch between v0 Max (most capable), v0 Mini (lighter and slower on tokens but less powerful), or Auto, which reads your prompt and picks the right model for the job.
  • Enhance prompt. Expands what you wrote into a more detailed brief before the agent acts on it.

The first prompt always takes the longest. v0 sets up the sandbox, scaffolding, routing, and framework, then builds your app on top of it. As the code generates, the right pane gives you a live preview.

When it finishes, click into the preview. You'll have a working homepage, a post list, and individual post pages. Open the Console tab to watch real server requests and responses fire as you click around. That's the tell that this is full-stack, not a static demo.

The Code tab shows every file the agent wrote: server files, API routes, frontend components. Read them. Edit them. They are the project.

Iterate without losing your work

Follow up with another prompt:

Can you add a search bar so I can filter posts by title?

A new version generates. Try the search, confirm it filters down to the matching post, then notice what just happened: version one is still there. Click Latest to roll back, or restore any earlier checkpoint and keep building from that point.

This matters more than it sounds. You can experiment without bracing for damage.

Publish to production

Hit Publish. Inside the publish menu, create a Vercel project, give it a name like "blog-application", and set visibility to Team only if you want it locked down to your org. Click publish.

The status flips from building to ready. That's a live deployment on a Vercel URL, behind whatever access protections you configured. From the same menu, Inspect on Vercel opens the project in the dashboard, where everything else in this course applies: regions, environments, logs, observability, all of it.

Bring an existing project in

v0 isn't only for greenfield work. Click the + button in chat and choose Import from GitHub. Paste your repo URL and continue.

v0 pulls the repo into the sandbox, loads it as context for the agent, and gives you a live preview just like a generated project. The connection is two-way: changes you make in v0 push back to GitHub, so teammates can keep working in their editor while you keep iterating in v0.

Connect to the outside world

Three ways to extend a v0 app beyond what it generates on its own:

  • Integrations. Under Settings > Integrations, you'll find first-party connectors. Add a database with Neon or Supabase. Wire up payments with Stripe.
  • MCPs. Click the + in chat, then MCP. Model Context Protocol servers let your app talk to external tools, like Contentful for CMS content, Hex for analytics, or Linear for ticket data.
  • Environment variables. For your own APIs, go to Settings > Environment Variables and Open in Vercel. Configure variables there and v0 picks them up. Your generated code can call those APIs as if you'd wired them up in a project of your own.

Recap

  • v0 generates full-stack Vercel projects from a prompt, not just static UI.
  • The Code and Console tabs make the underlying app inspectable as you go.
  • Iterations are versioned. Roll back to any earlier version without losing later work.
  • Publish creates a real Vercel deployment with the same protections and tooling as any other project.
  • Import from GitHub for two-way sync with existing repos.
  • Integrations, MCPs, and environment variables extend your app past what the model can scaffold on its own.

Follow up docs

Was this helpful?

supported.