El músculo central
Pedir bien es el 80% del resultado
En vibe coding vos no escribís el código: lo pedís. La IA hace lo que le decís, no lo que tenés en la cabeza. Por eso la diferencia entre una web amateur y una premium casi nunca está en la IA: está en cómo le pediste.
La buena noticia: prompetear no es magia ni código. Es ser claro, ordenado y específico, igual que cuando le pasás un brief a un diseñador. Este módulo es el que más vas a usar en todo el curso. Llevátelo a fondo.
La mentalidad correcta
La fórmula
Anatomía de un buen prompt
Un buen prompt tiene cuatro partes. Memorizá estas cuatro y ya estás adelante del 90% de la gente. Tocá cada una en el ejemplo para ver qué hace y por qué importa:
Sos un diseñador web senior. Trabajo en el equipo de marketing de IEB, una fintech. Estoy armando una landing para captar leads de un nuevo fondo de inversión.Necesito el componente Hero: un título con la promesa principal, un subtítulo, un botón de CTA que diga "Quiero invertir" y una imagen a la derecha.Usá la paleta navy + teal de la marca. Que sea responsive (mobile primero). No agregues librerías nuevas. No toques otros archivos.Devolvé un único componente React en TypeScript con Tailwind, listo para pegar. Antes del código, explicame en 2 líneas qué decisiones tomaste.
Tocá una parte arriba (o pasá el mouse por el prompt) para ver qué hace cada pieza y por qué importa. Un buen prompt tiene las cuatro.
No siempre necesitás las cuatro
Eje 1
Cómo pedir una web correctamente
Nunca arranques con “hacéme una web”. Primero dale el brief (el que armaste en el módulo anterior) y pedile que te haga preguntas antes de escribir nada. Eso solo ya mejora todo.
Soy del equipo de marketing de {{empresa}}. Quiero construir {{qué: ej. una landing para captar leads de un fondo nuevo}}. Antes de escribir una sola línea de código, hacéme las preguntas que necesites para entender: objetivo, público, acción principal (CTA), estilo visual y referencias que me gusten. Cuando tengas todo claro, proponé un plan de secciones. Recién después armamos el código.
Cuando ya tengas el plan acordado, definí el marco técnico de una vez para que todo lo que genere sea coherente:
Vamos a construir el proyecto con este stack: Next.js (App Router), React, TypeScript, Tailwind CSS y componentes shadcn/ui. Reglas para todo el proyecto: - Diseño minimalista y premium, mobile primero. - Paleta: {{color principal}} + {{color de acento}}. Tipografía: {{fuente}}. - Componentes chicos y reutilizables, un archivo por componente. - Nada de librerías nuevas sin avisarme antes. Confirmame que entendiste y arrancamos por la primera sección.
Pedí de a una sección
Eje 2
Prompts para generar componentes
El cuerpo del trabajo: pedir cada pieza. La receta es siempre la misma — qué componente, qué tiene adentro, cómo se ve, qué restricciones. Acá va una biblioteca lista para copiar y adaptar a tu caso.
Generá la sección Hero de la landing. Contenido: - Título grande con la promesa: "{{promesa, ej. Invertí desde tu celular, sin vueltas}}" - Subtítulo de una línea que lo refuerce. - Un botón CTA principal que diga "{{CTA, ej. Quiero invertir}}". - A la derecha, un espacio para una imagen/mockup. Estilo: minimalista, mucho aire, mobile primero. Usá la paleta de la marca. Devolvé un único componente React + Tailwind, listo para pegar.
Hacé un Navbar responsive para la landing. - Izquierda: el logo (texto "{{marca}}" por ahora). - Centro: links a Inicio, Beneficios, Preguntas, Contacto. - Derecha: un botón CTA "{{CTA}}". - En mobile: menú hamburguesa que abre los links. Que sea sticky arriba y tenga un fondo levemente translúcido al hacer scroll. Un solo componente.
Generá una sección de 3 cards de beneficios en grilla (1 columna en mobile, 3 en desktop). Cada card: un ícono (de lucide-react), un título corto y 1-2 líneas de descripción. Beneficios: {{beneficio 1}}, {{beneficio 2}}, {{beneficio 3}}. Estilo limpio, bordes suaves, leve sombra. Hover sutil. Paleta de la marca.
Armá un formulario de contacto para captar leads.
Campos: Nombre, Email, WhatsApp y un select "{{tema, ej. ¿Qué te interesa?}}".
Al enviar, mostrá un estado de "Enviando…" y después un mensaje de éxito.
Validá que el email tenga formato válido y que los campos requeridos estén completos.
Por ahora, en el submit solo hacé un console.log de los datos (después lo conectamos).
Diseño acorde al resto de la landing.Generá una sección de Preguntas Frecuentes con un acordeón (se expande/colapsa al clickear). Usá estas 4 preguntas: {{pregunta 1}}, {{pregunta 2}}, {{pregunta 3}}, {{pregunta 4}}. Solo una abierta a la vez. Animación suave al abrir/cerrar. Estilo de la marca.
Hacé un footer simple y prolijo.
- Logo "{{marca}}" + una línea de descripción.
- Columnas de links: Producto, Empresa, Legales.
- Redes sociales (íconos).
- Abajo: copyright con el año actual.
Responsive, paleta de la marca, sobrio.Pedí ejemplos de contenido, no lorem ipsum
Eje 3
Cómo iterar sin romper el código
Acá es donde la mayoría se frustra: pedís un cambio y la IA reescribe medio proyecto. La cura es una sola regla: un cambio acotado por vez, y decirle explícitamente qué NO tocar. Recorré la demo:
Lo que pedís
Generá la sección Hero de la landing del fondo, con título, subtítulo y un botón CTA.
Hero listo. Título + subtítulo + botón.
Arrancás de a una pieza. Lo dejás funcionando ANTES de seguir.
El patrón que tenés que repetir hasta el cansancio:
En el {{componente, ej. Hero}} que ya tenemos, cambiá SOLO {{lo que querés, ej. el color del botón a teal}}. No modifiques ningún otro archivo ni otra parte del componente. No reescribas lo que ya funciona. Mostrame únicamente lo que cambiaste.
Otros movimientos útiles cuando estás iterando:
El último cambio rompió {{qué se rompió, ej. el layout en mobile}}. Volvé el {{componente}} a como estaba antes de ese cambio y, esta vez, hacé SOLO {{el cambio mínimo}} sin tocar el resto.
Quiero hacer varios cambios al {{componente}}, pero vamos de a uno. Empecemos por el primero: {{cambio 1}}. Cuando lo confirme, te paso el siguiente. No adelantes los demás.
Antes de aplicar el cambio, explicame en 2-3 líneas y en lenguaje simple: - Qué vas a modificar. - Qué archivos toca. - Si hay algún riesgo de romper algo que ya funciona. Si todo está claro, te digo que avances.
La trampa del 'mientras estás ahí'
Eje 4
Mantener consistencia en todo el proyecto
Si cada prompt arranca de cero, cada sección sale con otro estilo: distintos botones, distintos espaciados, distinto tono. La web termina pareciendo un Frankenstein. El truco es reutilizar un mismo contexto base a lo largo de todo el proyecto.
1) Armá un prompt base / de sistema con las reglas de la marca y pegalo (o referencialo) en cada pedido nuevo:
[CONTEXTO DEL PROYECTO — usar en todos los pedidos] Proyecto: landing de {{empresa}} para {{objetivo}}. Stack: Next.js + React + TypeScript + Tailwind + shadcn/ui. Marca y diseño: - Estilo: minimalista, premium, con mucho aire. Mobile primero. - Colores: principal {{navy/#____}}, acento {{teal/#____}}. - Tipografía: {{fuente}} para textos, mono para números/código. - Botones: {{describí el estilo, ej. redondeados, sólidos en color de acento}}. - Tono de los textos: {{ej. cercano, claro, sin jerga financiera}}. Reglas: componentes chicos y reutilizables; no agregar librerías sin avisar; respetar SIEMPRE esta guía visual. Tené esto presente en todo lo que generes a partir de ahora.
2) Hacé un glosario de marca para que los textos y nombres sean siempre iguales:
Usá SIEMPRE estos términos tal cual, sin variaciones: - Nombre del producto: "{{nombre exacto}}" - Cómo nos referimos al usuario: "{{ej. inversor / cliente}}" - CTA principal: "{{texto exacto del botón}}" - Tagline: "{{frase exacta}}" - Palabras a EVITAR: {{ej. "barato", "fácil y rápido"}}.
3) Cuando pidas algo nuevo, referenciá lo ya hecho para que herede el mismo estilo en vez de inventar uno nuevo:
Necesito una nueva sección de {{qué}}.
Usá EXACTAMENTE el mismo estilo que ya tienen el Hero y las cards de beneficios:
mismos colores, mismos botones, mismos espaciados y la misma tipografía.
No inventes un estilo nuevo: que se sienta parte de la misma página.Test rápido de consistencia
Un buen brief inicial bien estructurado evita el 80% de las inconsistencias. Algo así de ordenado:
PROYECTO: Landing fondo "Renta IEB"
OBJETIVO: captar leads (formulario → CRM)
PÚBLICO: ahorristas 25-45, primeros pasos en inversiones
TONO: cercano, claro, cero jerga
CTA PRINCIPAL: "Quiero invertir"
SECCIONES (en orden):
1. Navbar
2. Hero (promesa + CTA)
3. Beneficios (3 cards)
4. Cómo funciona (3 pasos)
5. FAQ (acordeón)
6. Formulario de captación
7. Footer
MARCA:
color principal: navy #1B2A4A
color acento: teal
fuente: Inter
estilo: minimalista, premium, mobile primeroPara evitar
Errores que se pagan caro
Cuatro formas casi garantizadas de perder tiempo. Si te frustraste con la IA, probablemente caíste en alguna:
Pedir todo junto
Ser vago
No poner límites
No verificar antes de seguir
Y cómo se ve la diferencia en la práctica:
✗ VAGO → "Hacé un hero lindo para mi web"
✓ AFILADO → "Generá un Hero: título con la promesa 'Invertí
desde tu celular', subtítulo, botón 'Quiero
invertir' y mockup a la derecha. Minimalista,
paleta navy+teal, mobile primero. React+Tailwind."
✗ VAGO → "Cambiá algunas cosas y mejoralo"
✓ AFILADO → "Cambiá SOLO el color del botón a teal. No toques
nada más del componente."Para tener a mano
Checklist del prompteador
Antes de mandar un prompt importante, pasá esta lista mental. Con el tiempo se vuelve automático:
¿Mi prompt tiene…?
0/6Lo único que te tenés que llevar