Skip to main content

v0 by Vercel: A Guide With Demo Project

Learn how to use Vercel's v0 to generate UI components and web applications from natural language prompts, and how to integrate and deploy them.
Apr 1, 2025  · 12 min read

v0 by Vercel is a tool that allows developers to generate user interface (UI) components using natural language prompts. Instead of manually writing code for each component, you can describe what you need, and v0 will generate React and Tailwind CSS code.

In this guide, I’ll introduce you to v0 by explainining step-by-step how to create your first project: a subscription management dashboard. We’ll also cover limitations so you know when it’s best to use v0 and when you are better off writing the code yourself!

Develop AI Applications

Learn to build AI applications using the OpenAI API.
Start Upskilling For Free

What Is Vercel’s v0?

v0 by Vercel is an AI-powered code generation tool that helps developers build UI components (or entire pages!) using natural language prompts. Instead of manually coding a button, form, or dashboard, you describe what you need through the chat interface, and v0 generates production-ready React and Tailwind CSS code in seconds.

For context, Vercel is a platform designed for deploying and hosting web applications, with a strong emphasis on optimizing performance and streamlining the development process. It's best known for Next.js (a popular React framework) and offers hosting of front-end applications with automatic scaling and easy integration.

I think v0 is a great addition to Vercel’s suite of tools, and does wonders for the productivity of their customers (us, developers). And like many other AI tools out there, it is a good way to open the door for non-technical users, like designers and product managers, to contribute to the development process.

It’s particularly useful for rapid prototyping, boosting productivity by reducing repetitive frontend work, and design-to-code automation—like converting Figma files directly into working components. You can also quickly release your project using Vercel, making hosting and deployment easy.

How much does v0 cost?

v0 currently has 3 pricing tiers for individuals. The first tier is free, but the number of messages available per day is limited. You can upgrade for $20/month, or $200/month for intensive use. 

The pricing works differently for companies, and starts at $30/user per month.

vo vercel pricing

Demo Project: Subscription Management App with v0

Let's build a subscription management dashboard that allows users to track and manage all their subscriptions (e.g., software, magazines, memberships) in one place. The app can notify users of upcoming payments, trial expirations, and unused subscriptions.

The above description is the exact prompt that I input through the v0 chat interface.

v0 vercel chat interface

After roughly 30 seconds, v0 generated 10 files. The code tab allows me to see those files while the chat interface remains available and explains the code generated.

generated code by v0 vercel

You can click on the Preview tab at the top to see the application:

Preview of the generated app with v0 vercel

However, the best way to visualize it is to click on the second icon from the right in the top corner.

The preview link button in v0 vercel

This will open a new tab on your device with the full preview of your application. Let’s take a look at ours:

First tab  in v0 vercel of the app through the preview link

Second tab of the app through the preview link

Third tab of the app through the preview link

"Add new subscription" functionality through the preview link

As you can see, v0 generated a fully functional web app from a single prompt. Pretty impressive. Adding a new subscription really works and is reflected throughout the rest of the app.

However, the navbar on the left isn’t functional and is a bit of a waste of space. Let’s go back to our preview and remove it. We could ask to remove it in the chat, but we can also make a quick change by pressing the mouse button at the top (first icon from the left). We select the component that we want to change (in this case, the navbar) and simply ask v0 to remove it.

Quick change component

And here is the result!

Final result

Okay, so what now?

There are a few more buttons at the top that are worth mentioning. Clicking on the history button lets you see the different versions of your app, and clicking on a specific one will bring you back to it.Version history

You can also deploy your app with Vercel in one click:

Deployment modal

The new app will be accessible from a link that you’ll find in the same modal once the deployment is finished, and more details about the deployment itself will be visible from your Vercel account.

Creating and deploying this app took me…15 minutes. And that includes the time it took me to take the screenshots for this tutorial! 

For reference, coding something like that from scratch would have taken me an entire day, if not more.

Bonus: Running the code locally

If you want to add this code to your machine and access it through VS Code (or any other code editor you use), you can create a new project folder through the terminal.

Then, setup a new Next.js project:

npx create-next-app@latest my-folder-name

Make sure you are in the correct directory with cd my-folder-path.

From there you can navigate back to the v0 project and click on the “Add to codebase” button in the top right, copy the generated command, and paste it into the terminal. When prompted to create a components.json file, enter Y, and press Enter for all the following prompts.

"Add to codebase" modal in v0 vercel

You can now open the correct folder in VS Code and see all of the generated code. Run npm run dev and navigate to http://localhost:3000 in your browser to run your app locally. 

Beyond the Basics: What Else Can v0 Do?

Okay, so v0 is pretty good at generating code from a simple prompt. But what else can it do?

1. Upload Figma files for instant code

You can upload a Figma design to v0, and it will generate corresponding React + Tailwind components automatically. This is perfect for designers who want to convert mockups into working code quickly.

2. Use community templates

You don’t need to start from scratch. v0 provides community-driven templates for common UI patterns, which you can fork, modify, and integrate into your project.

Community templates

3. Integrations (beta feature)

v0 is rolling out third-party integrations, making it easier to connect with databases and other storage tools. This feature is still in beta, but it promises to make v0 even more powerful. You can see a list of available integrations by navigating to your project’s settings, and clicking the + icon next to the integrations section.

 v0 vercel Integrations

4. Environment variables

v0 allows defining environment variables so you can configure API keys, database connections, and other secrets securely.

Limitations of v0

Unfortunately, v0 isn’t perfect for every use case. These are the limitations you need to be aware of:

  • No backend previews: v0 will generate backend code if you ask for it, but you won’t be able to preview an app if it has backend logic.
  • No real GitHub integration: v0 doesn’t integrate with GitHub yet. The only way to sync your code is to copy-paste the code in your local project (or use the “Add to codebase” feature), then manually push it to Github.
  • Generated code needs refinement: While clean, the code may require tweaks for optimization. The files are sometimes very long, and it may not support the component library of your choice.
  • Not ideal for complex state management: v0 is really well suited for UI but not full application logic.
  • Not ideal for non-developers: As soon as you try to add logic that is somewhat complex, v0 struggles to provide working functionality. If you’re not a developer, you’ll run pretty quickly into errors you can’t fix or find yourself unable to customize the app to your liking. 

Conclusion

v0 by Vercel is a useful tool for UI component generation, prototyping, and even turning designs into code. It’s still evolving, but it’s already a good choice for developers looking to speed up their front-end work. 

Try it out at v0.dev and see if it fits your development process!


Marie Fayard's photo
Author
Marie Fayard

Senior Software Engineer, Technical Writer and Advisor with a background in physics. Committed to helping early-stage startups reach their potential and making complex concepts accessible to everyone.

Topics

Learn AI with these courses!

Track

AI Business Fundamentals

11hrs hr
Accelerate your AI journey, conquer ChatGPT, and develop a comprehensive Artificial Intelligence strategy.
See DetailsRight Arrow
Start Course
See MoreRight Arrow
Related

Tutorial

Lovable AI: A Guide With Demo Project

Learn how to build and publish a mobile app using Lovable AI, integrating it with Supabase for backend services and GitHub for version control.
François Aubry's photo

François Aubry

8 min

Tutorial

OpenAI's Audio API: A Guide With Demo Project

Learn how to build a voice-to-voice assistant using OpenAI's latest audio models and streamline your workflow using the Agents API.
François Aubry's photo

François Aubry

12 min

Tutorial

DeepSeek-V3-0324: A Guide With Demo Project

Learn how to use DeepSeek V3-0324 to build a UI component generator using Streamlit and Tailwind CSS.
Aashi Dutt's photo

Aashi Dutt

12 min

Tutorial

OpenAI Realtime API: A Guide With Examples

Learn how to build real-time AI applications with OpenAI's Realtime API. This tutorial covers WebSockets, Node.js setup, text/audio messaging, function calling, and deploying a React voice assistant demo.
François Aubry's photo

François Aubry

15 min

Tutorial

Gemini 2.5 Pro API: A Guide With Demo Project

Learn how to use the Gemini 2.5 Pro API to build a web app for code analysis, taking advantage of the model's large context window.
Abid Ali Awan's photo

Abid Ali Awan

12 min

Tutorial

Agentic RAG: Step-by-Step Tutorial With Demo Project

Learn how to build an Agentic RAG pipeline from scratch, integrating local data sources and web scraping to generate context-aware responses to user queries.
Bhavishya Pandit's photo

Bhavishya Pandit

12 min

See MoreSee More