NUCBA
27 de mayo de 2026
Frontend

v0 no genera el component que necesitás: mi experiencia real

Probé v0 de Vercel durante una semana completa. Te cuento dónde funciona bien y dónde te vas a frustrar generando components de React.

NUCBA

NUCBA

6 min de lectura

Después de escuchar tanto ruido sobre v0 de Vercel, decidí darle una oportunidad real. No una prueba de 10 minutos para hacer un tweet, sino usarlo durante una semana completa en proyectos reales.

La promesa es tentadora: escribís una descripción en texto plano y v0 te genera un component de React listo para usar. Suena perfecto para acelerar el desarrollo, especialmente cuando tenés que hacer interfaces rápido.

La realidad es más compleja.

Lo que funciona sorprendentemente bien

Components básicos y layouts simples

v0 es excelente generando estructuras básicas. Si necesitás un card component, una landing page simple o un formulario estándar, te va a sorprender lo bien que lo hace.

Por ejemplo, le pedí "un component de pricing table con tres planes, highlighting el del medio" y el resultado fue prácticamente perfecto:

export function PricingTable() {
  return (
    <div className="grid md:grid-cols-3 gap-8 max-w-6xl mx-auto">
      {/* Plan básico */}
      <div className="border rounded-lg p-6">
        <h3 className="text-xl font-semibold">Básico</h3>
        <p className="text-3xl font-bold mt-2">$29/mes</p>
        {/* ... resto del component */}
      </div>
      {/* Plan destacado con estilos diferentes */}
      {/* ... */}
    </div>
  )
}

El código generado usa Tailwind CSS de manera sensata, la estructura es limpia y el component es completamente funcional. Para este tipo de tareas, v0 te ahorra fácil 20-30 minutos.

Combinación de prompts iterativos

Lo que más me gustó es que podés iterar sobre el mismo component. Generás algo básico y después le decís "agregá animaciones" o "hacelo responsive para mobile". v0 mantiene el contexto y mejora el component sin romper lo que ya funcionaba.

Esto es especialmente útil cuando no tenés claro exactamente qué querés desde el principio.

Referencias visuales

Podés subir una imagen de referencia y v0 intenta replicar el diseño. Probé con screenshots de interfaces conocidas (Stripe, Linear, Notion) y los resultados fueron sorprendentemente fieles al original.

Dónde v0 se queda corto

Lógica de negocio compleja

Este es el límite más claro. v0 genera interfaces, no lógica de aplicación. Si tu component necesita manejar estados complejos, llamadas a APIs con manejo de errores específico, o cualquier lógica que vaya más allá de lo visual, te va a decepcionar.

Le pedí un component de "dashboard con gráficos que se actualicen en tiempo real" y aunque generó algo que se veía bien, la funcionalidad era completamente mock. Obvio, pero es importante tenerlo claro.

Components muy específicos

Cuando necesitás algo muy particular para tu dominio, v0 genera algo genérico que no sirve. Por ejemplo, intenté generar un "selector de horarios para reservas de consultoría" y el resultado fue un calendar picker estándar que no tenía nada que ver con lo que necesitaba.

Para casos de uso muy específicos de tu aplicación, seguís necesitando escribir el component desde cero.

Integración con sistemas existentes

v0 no sabe nada sobre tu codebase. Si tenés un design system establecido, tipos de TypeScript específicos, o patrones de arquitectura particulares, el código generado va a necesitar bastante trabajo para integrarse.

El component viene listo para copiar y pegar, pero raramente encaja directo en una aplicación real sin modificaciones.

La experiencia de desarrollo real

El flujo típico

  1. Escribís el prompt inicial
  2. v0 genera algo que está 70% bien
  3. Iterás con prompts adicionales para ajustar
  4. Copiás el código y lo modificás manualmente para que encaje en tu proyecto

Ese paso 4 siempre existe. Nunca pude usar un component generado por v0 sin ninguna modificación.

El factor tiempo

Para components simples, v0 definitivamente acelera el desarrollo. En lugar de 30-45 minutos, terminás en 10-15 minutos.

Pero para components complejos, puede ser contraproducente. Gastás tiempo explicándole a v0 qué querés, iterando, y después igual tenés que reescribir partes importantes.

Calidad del código generado

El código que genera v0 es limpio y sigue buenas prácticas. Usa Tailwind CSS de manera consistente, la estructura de components es sensata, y raramente genera algo que esté mal desde el punto de vista técnico.

El problema es más conceptual: el código es genérico y necesita adaptarse a tu contexto específico.

Casos de uso donde vale la pena

  • Prototipos rápidos: Para validar ideas de UI sin invertir mucho tiempo
  • Components de marketing: Landing pages, pricing tables, hero sections
  • Layouts básicos: Grids, cards, formularios estándar
  • Inspiración: Cuando estás trabado y necesitás ver diferentes enfoques para un problema

Casos donde no recomiendo v0

  • Lógica de negocio compleja: Cualquier cosa que vaya más allá de lo visual
  • Components muy específicos: Funcionalidades únicas de tu dominio
  • Aplicaciones en producción: Donde necesitás control total sobre cada línea de código
  • Equipos con design systems establecidos: La integración requiere más trabajo que escribir desde cero

¿Vale la pena agregarlo a tu workflow?

Depende completamente de qué tipo de development hacés.

Si trabajás mucho con prototipos, landing pages, o tenés que crear interfaces rápido para validar ideas, v0 puede ser una herramienta valiosa. Es especialmente útil cuando trabajás solo y no tenés un diseñador disponible.

Si tu trabajo involucra principalmente lógica de aplicación compleja o tenés un design system muy específico, v0 probablemente no te ahorre tanto tiempo como esperás.

Lo que me queda claro después de esta semana es que v0 no reemplaza las habilidades de frontend development. Es más bien un acelerador para ciertas tareas específicas.

La clave está en entender exactamente cuándo usarlo y cuándo es mejor escribir el código vos mismo desde el principio.

¿Te gustó este artículo?

Descubre nuestros cursos y carreras para llevar tus habilidades al siguiente nivel.