Prototipos del Dashboard con Claude Code
Prototipos del SDK con Claude Code
Guía paso a paso para que PMs y equipos no técnicos creen prototipos funcionales y realistas del Dashboard de Yuno — sin escribir una sola línea de código.
Guía paso a paso para que PMs y equipos no técnicos creen prototipos funcionales y realistas del SDK de Yuno — sin escribir una sola línea de código.
¿Por qué prototipar con Claude Code?
Cada vez que presentamos una nueva funcionalidad a Stakeholders o Founders, la distancia entre un mockup estático y lo que realmente se verá en producción genera fricciones: «¿Esto es un mockup o así se va a ver de verdad?», «¿Los colores y la tipografía son los correctos?», «¿Y esto ya tiene nuestro Design System?», «¿Puedo hacer click en algo o solo es una imagen?», «¿Y el dropdown funciona o solo está pintado?», «¿Y si el merchant tiene 500 transacciones, cómo se ve el scroll?», «¿Ya lo probaron en una pantalla más chica?».
Cada vez que presentamos una nueva funcionalidad del SDK a Stakeholders o Founders, la distancia entre un mockup estático y lo que realmente se verá en el checkout genera fricciones: «¿Esto coincide con los estilos de nuestro SDK o es un mockup genérico?», «¿Qué pasa cuando el usuario ingresa un número de tarjeta inválido?», «¿El formulario avanza automáticamente al siguiente campo o hay que hacer tap?», «¿Cómo se ve el formulario de tarjeta en una pantalla mobile de 320px?», «¿Cómo se comporta cuando el teclado se abre en mobile y empuja el formulario hacia arriba?».
Los prototipos con Claude Code cierran esa brecha. En lugar de slides o wireframes, entregas un prototipo funcional que corre en el navegador, usa los mismos componentes del Design System de Yuno y se ve prácticamente igual a lo que el equipo de desarrollo construiría.
Los prototipos con Claude Code cierran esa brecha. En lugar de slides o wireframes, entregas un prototipo funcional que corre en el navegador, usa los mismos componentes del SDK y se ve prácticamente igual a lo que el equipo de desarrollo construiría.
¿Qué vas a lograr con este tutorial?
Vas a poder tomar cualquier nueva funcionalidad o sección del Dashboard de Yuno y convertirla en un prototipo navegable y realista — sin escribir código tú mismo. Le describes a Claude lo que necesitas, y él genera el prototipo usando los componentes reales del producto.
Vas a poder tomar cualquier nueva funcionalidad o componente del SDK de Yuno y convertirlo en un prototipo navegable y realista — sin escribir código tú mismo. Le describes a Claude lo que necesitas, y él genera el prototipo usando los componentes reales del producto.
Las herramientas que vamos a usar
Claude Code
Un asistente de IA que vive en tu terminal. Le describes lo que quieres y él escribe el código por ti.
Node.js 18+
El motor que hace correr las aplicaciones web en tu computadora. La electricidad de tu prototipo.
Frontend Design Skill
Un «modo especial» que activas dentro de Claude Code para interfaces con mayor calidad visual.
Magic UI
Componentes animados y con efectos visuales modernos. El toque pulido y profesional.
shadcn/ui
Botones, tablas, modales, inputs — piezas de LEGO reutilizables para construir interfaces.
Playwright
Un navegador automatizado que Claude usa como espejo para ver y corregir errores visuales.
Repo Dashboard
El código fuente real del Dashboard de Yuno. Claude lo lee para entender patrones y estilos.
Repo Design System
La librería de componentes oficiales de Yuno para prototipos consistentes con el producto.
Repo SDK Core
La librería de componentes core del SDK. Contiene componentes compartidos, utilidades y estilos base.
Repo SDK Web
El proyecto principal del SDK Web — la interfaz de checkout que los merchants integran en sus sitios.
Repo SDK Card
Maneja los inputs críticos de tarjeta (número, CVV, expiración) envueltos en iframes por seguridad.
Requisitos previos
Antes de empezar, asegúrate de tener lo siguiente. Si alguno te falta, el apartado 02 te guía paso a paso para instalarlo.
Lo que necesitas tener
- Acceso a una cuenta de Anthropic con plan Max o una API key activa
- Acceso al repositorio del Dashboard de Yuno en GitHub — pide acceso al equipo de Secops si no lo tienes
- Acceso al repositorio del Design System de Yuno en GitHub — pide acceso al equipo de Secops si no lo tienes
- Acceso a los repositorios sdk-web, sdk-web-card y sdk-web-core en GitHub — pide acceso al equipo de Secops si no lo tienes
- Terminal — la app de Terminal que ya viene instalada en tu Mac funciona perfecto
Lo que vamos a instalar juntos
- Node.js 18+ (el motor)
- Claude Code (el cerebro)
- Frontend Design Skill (el modo diseñador)
- Conexión a Magic UI (componentes animados)
- Conexión a shadcn/ui (componentes base)
- Playwright (el espejo visual)
- Clonación de los repositorios de Yuno
Paso a paso
Instalar Node.js 18+
Node.js es el motor que ejecuta aplicaciones JavaScript fuera del navegador. Sin él, no puedes correr tu prototipo localmente ni instalar ninguna de las otras herramientas. Es lo primero que necesitas.
Abre tu Terminal y ejecuta estos comandos para instalar Node.js usando Homebrew (el gestor de paquetes de Mac):
# Si no tienes Homebrew, instálalo primero: /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" # Luego instala Node.js: brew install node
node --version
Deberías ver algo como v22.x.x o superior. Cualquier versión 18+ funciona.
Instalar Claude Code
Claude Code es el asistente de IA que vive directamente en tu terminal. A diferencia de ChatGPT o el Claude web, este tiene acceso a los archivos de tu computadora: puede leer código, crear archivos, ejecutar comandos y construir prototipos completos. Tú le describes lo que quieres en lenguaje natural y él se encarga de escribir el código.
npm install -g @anthropic-ai/claude-code
claude --version
claudeTe pedirá que inicies sesión con tu cuenta de Anthropic. Sigue las instrucciones en pantalla — es un proceso de un solo paso con tu navegador.
Instalar el Frontend Design Skill
Por defecto, Claude Code genera código funcional pero visualmente básico. El Frontend Design Skill es como ponerle lentes de diseñador: activa un modo especial donde Claude presta mucha más atención a la calidad visual, el espaciado, la tipografía, los colores y las micro-interacciones. El resultado son interfaces que se ven profesionales y pulidas, no como «página hecha por un programador».
Dentro de una sesión de Claude Code, escribe:
/install-skill frontend-design
Usa el skill de frontend design para crear...Conectar Magic UI
Magic UI es una colección de componentes con animaciones y efectos visuales modernos: textos que aparecen con transiciones suaves, tarjetas con efectos de brillo, contadores animados, fondos con partículas, etc. Es lo que hace que un prototipo pase de «maqueta escolar» a «demo de producto real».
Dentro de una sesión de Claude Code, escribe:
/add-mcp-server magicuidesign-mcp -- npx -y magicui-mcp
/mcp
Deberías ver magicuidesign-mcp en la lista de servidores activos.
Conectar shadcn/ui
shadcn/ui es una librería de componentes de interfaz fundamentales: botones, inputs, tablas, modales, dropdowns, selectores de fecha, tabs, formularios, y decenas más. Piensa en ellos como piezas de LEGO estandarizadas para construir cualquier interfaz. Son los mismos componentes sobre los que está construido nuestro Design System.
/add-mcp-server shadcn -- npx -y shadcn-mcp
/mcp
Configurar Playwright
Playwright es un navegador automatizado que Claude utiliza como «espejo». Cuando Claude construye tu prototipo, necesita una forma de verificar visualmente que lo que generó se ve bien. Con Playwright, Claude puede tomar screenshots de su propio trabajo, detectar errores visuales y corregirlos automáticamente. Sin Playwright, Claude trabaja «a ciegas».
npx playwright install chromiumToma un screenshot del prototipo y verifica que todo se ve bienClonar el repositorio del Dashboard de Yuno
Este es el código fuente real del Dashboard de Yuno — el producto que usan nuestros merchants en producción. Al tener una copia local, Claude puede leerlo para entender cómo están estructuradas las páginas, qué patrones de diseño se usan, cómo se manejan las tablas, los filtros, la navegación, etc.
# Navega a la carpeta donde quieres guardar tus proyectos cd ~/proyectos # Clona el repositorio git clone https://github.com/yuno-payments/dashboard.git
Clonar el repositorio del Design System de Yuno
El Design System es la librería de componentes oficiales de Yuno: botones con nuestros estilos, tablas con nuestros formatos, colores corporativos, tipografías, espaciados — todo lo que hace que el Dashboard se vea como el Dashboard. Cuando Claude tiene acceso a este repo, puede usar directamente nuestros componentes en lugar de inventar estilos genéricos.
cd ~/proyectos git clone https://github.com/yuno-payments/dashboard-design-system.git
Clonar el repositorio SDK Web Core
La librería de componentes core del SDK. Contiene los componentes compartidos, utilidades y estilos base usados en todas las variantes del SDK. Claude la usa para mantener consistencia visual y estructural en los prototipos.
cd ~/proyectos git clone https://github.com/yuno-payments/sdk-web-core.git
Clonar el repositorio SDK Web
Este es el proyecto principal del SDK Web — la interfaz de checkout que los merchants integran en sus sitios web. Claude lo lee para entender la arquitectura de componentes, los flujos de renderizado y los patrones de integración.
cd ~/proyectos git clone https://github.com/yuno-payments/sdk-web.git
Clonar el repositorio SDK Web Card
Este repo maneja los inputs críticos de tarjeta (número, CVV, expiración). Estos inputs están envueltos en iframes por seguridad y manejan la recolección de datos sensibles. Claude necesita este contexto para prototipar formularios de tarjeta correctamente.
cd ~/proyectos git clone https://github.com/yuno-payments/sdk-web-card.git
Verificación final
Una vez completados todos los pasos, verifica que todo está en orden ejecutando estos comandos:
# Verifica Node.js node --version # Verifica Claude Code claude --version # Verifica que los repos están clonados ls ~/proyectos/dashboard ls ~/proyectos/dashboard-design-system
# Verifica Node.js node --version # Verifica Claude Code claude --version # Verifica que los repos están clonados ls ~/proyectos/sdk-web-core ls ~/proyectos/sdk-web ls ~/proyectos/sdk-web-card
Si todos los comandos devuelven resultados sin errores, ¡estás listo para crear prototipos!
¿Cómo hablarle a Claude para crear prototipos?
La clave para obtener buenos prototipos es darle a Claude contexto claro sobre qué quieres, dónde va dentro del Dashboard y cómo debe verse. Aquí van ejemplos concretos que puedes copiar y adaptar.
La clave para obtener buenos prototipos es darle a Claude contexto claro sobre qué quieres, cómo se integra en el SDK y cómo debe verse. Aquí van ejemplos concretos que puedes copiar y adaptar.
cd ~/proyectos/dashboard && claudecd ~/proyectos/sdk-web && claudeCrear una nueva página completa
Necesito crear un prototipo de una nueva página de "Reportes de Conciliación" para el Dashboard de Yuno. Contexto: - Es una nueva sección dentro del menú lateral, debajo de "Transactions" - La página tiene una tabla con filtros por fecha, estado y merchant - Cada fila muestra: ID de transacción, monto, estado de conciliación, fecha - Los estados posibles son: Matched, Unmatched, Pending - Incluye un botón "Export CSV" en la esquina superior derecha Revisa el Design System en ~/proyectos/dashboard-design-system para usar los componentes oficiales de Yuno (tablas, filtros, botones, badges de estado). Revisa cómo están estructuradas las otras páginas del Dashboard para mantener la misma estructura y patrones. Usa el skill de frontend design para que se vea profesional. Cuando termines, toma un screenshot con Playwright para verificar el resultado.
Agregar una funcionalidad a una página existente
Quiero agregar un panel de métricas resumidas (KPI cards) en la parte superior de la página de Transacciones del Dashboard. Las métricas que debe mostrar son: - Total de transacciones (hoy) - Volumen total procesado (en USD) - Tasa de aprobación (%) - Transacciones fallidas Cada card debe tener: - Un ícono representativo - El valor principal en grande - Un indicador de cambio vs ayer (flecha arriba/abajo con porcentaje) - Usa colores: verde para mejora, rojo para caída Usa los componentes del Design System de Yuno en ~/proyectos/dashboard-design-system. Agrega animaciones sutiles con Magic UI para que los números se vean dinámicos. Toma un screenshot al final para verificar.
Prototipar un flujo completo (multi-paso)
Necesito prototipar un flujo de onboarding para nuevos merchants en el Dashboard de Yuno. Es un wizard de 4 pasos: Paso 1 — Información del negocio: - Nombre de la empresa - País de operación (dropdown) - Industria (dropdown) - Sitio web Paso 2 — Configuración de pagos: - Selección de métodos de pago (checkboxes con íconos) - Moneda principal - Volumen mensual estimado (slider o input) Paso 3 — Integración: - Elección entre API directa, SDK o plugin - Muestra snippet de código según la opción elegida - Botón "Copiar código" Paso 4 — Confirmación: - Resumen de todo lo configurado - Botón "Activar cuenta" - Animación de éxito al completar El wizard debe tener: - Barra de progreso en la parte superior - Botones "Anterior" y "Siguiente" - Validación visual en los campos requeridos - Transiciones suaves entre pasos Usa los componentes del Design System de Yuno y complementa con shadcn/ui y Magic UI donde haga falta. Toma screenshots de cada paso.
Rediseñar una sección existente
Quiero prototipar una nueva versión del sidebar de navegación del Dashboard. Cambios propuestos: - Sidebar colapsable (modo ícono vs modo expandido) - Agrupación de secciones: Payments, Analytics, Settings - Indicadores visuales para notificaciones pendientes - Sección de "Favoritos" que el merchant puede personalizar - El merchant actual y su logo aparecen en la parte superior - Modo oscuro Toma como base la estructura actual del sidebar en el código del Dashboard, pero aplica estos cambios. Usa el Design System de Yuno como base y complementa con shadcn/ui. Agrega transiciones suaves con Framer Motion o Magic UI. Genera dos versiones: una en modo claro y una en modo oscuro. Toma screenshots de ambas.
Prototipo rápido desde una descripción simple
Crea una página de "Payment Links" para el Dashboard de Yuno. Es una tabla donde el merchant puede crear, copiar y gestionar links de pago. Incluye un botón "Crear nuevo link" que abre un modal con un formulario. Usa el Design System de Yuno y toma un screenshot al terminar.
Agregar selector de plan de cuotas al formulario de payment link
Necesito prototipar la adición de un selector de planes de cuotas en el formulario de creación de payment links del SDK de Yuno. Contexto: - Agregar un dropdown bajo "Opciones avanzadas" en el formulario - El dropdown muestra todas las plantillas activas de planes de cuotas - Los planes en borrador/inactivos NO deben aparecer en el dropdown - El merchant puede seleccionar un plan de cuotas (selección única) - Esto aplica SOLO a cuotas del merchant, NO a cuotas del proveedor - El plan seleccionado se asocia con el payment link generado Revisa los repos del SDK en ~/proyectos/sdk-web y ~/proyectos/sdk-web-core para entender la estructura actual del formulario y patrones de componentes. Usa el skill de frontend design para un resultado pulido. Toma un screenshot con Playwright para verificar.
Auto-avance al siguiente campo con input válido
Necesito prototipar el comportamiento de auto-avance para el formulario de tarjeta del Web SDK. Requisitos: - Número de tarjeta: después del BIN lookup, auto-avanzar cuando se alcanza el largo esperado del PAN (Visa→16, Amex→15, Diners→14) - Fecha de expiración: auto-avanzar cuando se ingresa MM/YY válido - CVV: auto-avanzar cuando se ingresan los dígitos correctos (3 o 4 para Amex) - Nombre del titular, email, dirección: NO auto-avanzar (campos de texto libre) - Feedback visual: resaltado breve en el siguiente campo al recibir foco - Pegar un valor válido también activa el auto-avance Revisa la estructura del formulario de tarjeta en ~/proyectos/sdk-web-card para entender cómo funcionan los inputs envueltos en iframe. Usa el skill de frontend design para transiciones suaves. Toma un screenshot mostrando el flujo entre campos.
Layout más compacto del formulario de tarjeta
Necesito prototipar una versión más compacta del formulario de tarjeta del SDK que reduzca el espacio vertical, especialmente en mobile. Requisitos: - Número de tarjeta, expiración y CVV agrupados en un grupo compacto con altura reducida - Campos de dirección también agrupados en un grupo compacto - Todos los demás campos (nombre, email, país) usan altura de input reducida y espaciado vertical reducido - Placeholders con tamaño de fuente más pequeño - Manejo de errores inline: solo el campo afectado tiene borde rojo, mensaje de error debajo del grupo de campos - El botón de Pagar y otros métodos de pago deben ser visibles sin hacer scroll en un viewport mobile estándar (375x812) Revisa el formulario actual en ~/proyectos/sdk-web y los patrones de componentes en ~/proyectos/sdk-web-core. Muestra dos versiones: actual vs compacta lado a lado. Usa el skill de frontend design. Toma screenshots de ambas versiones en viewport mobile.
[Qué quieres crear] + [Contexto del negocio] + [Elementos específicos de UI] + [Referencia al Design System] + [Verificación visual]
Flujo completo de prototipado
Preparar
Abrir Terminal, navegar al proyecto y lanzar Claude:cd ~/proyectos/dashboard && claude
Preparar
Abrir Terminal, navegar al proyecto y lanzar Claude:cd ~/proyectos/sdk-web && claude
Describir
Escribir el prompt describiendo la funcionalidad + mencionar el Design System + pedir screenshot al final.
Revisar
Claude genera el código, toma un screenshot y tú revisas el resultado visualmente.
Iterar
«Mueve el botón a la derecha», «Cambia el color del header», «Agrega una columna más» — Claude ajusta y toma nuevo screenshot.
Presentar
Ejecutar npm run dev, abrir http://localhost:3000 en el navegador y presentar el prototipo navegable a Stakeholders.
Tips para mejores resultados
Sé específico con lo que quieres
| En vez de esto... | Escribe esto... |
|---|---|
| «Hazme una página de pagos» | «Hazme una página que muestre una tabla de transacciones con columnas: ID, monto, estado, fecha. Incluye filtros por estado y rango de fechas.» |
| «Que se vea bonito» | «Usa el Design System de Yuno, agrega animaciones sutiles con Magic UI, y usa un espaciado consistente.» |
| «Agrégale algo de datos» | «Muestra 15 filas de datos de ejemplo realistas con montos entre $10 y $5,000 USD, merchants ficticios y estados variados.» |
Siempre referencia el Design System
Incluir la referencia a ~/proyectos/dashboard-design-system en tus prompts es lo que separa un prototipo genérico de uno que se ve como Yuno. Claude leerá los componentes y los usará directamente.
Itera en la misma conversación
No empieces una conversación nueva para cada ajuste. Claude recuerda todo el contexto de la sesión actual. Puedes decirle cosas como:
"El botón debería ser primary, no secondary" "Agrega una cuarta columna con el nombre del merchant" "El modal es muy ancho, hazlo más estrecho" "Cambia los datos de ejemplo para que sean más realistas"
Usa screenshots como checkpoint
Pídele a Claude que tome screenshots frecuentemente. Es tu forma de ver el progreso sin necesidad de abrir el navegador: Toma un screenshot de cómo va el prototipo hasta ahora
Divide prototipos grandes en partes
Si necesitas prototipar un flujo muy complejo (como un onboarding de 8 pasos), no lo pidas todo de una vez. Divídelo:
- Primero: «Crea el layout general y la navegación entre pasos»
- Luego: «Ahora trabaja el contenido del paso 1»
- Después: «Pasa al paso 2...»
Dale contexto de negocio
Claude genera mejores prototipos cuando entiende el por qué detrás de lo que pides:
❌ "Crea un dashboard de métricas" ✅ "Crea un dashboard de métricas para merchants de Yuno. Los merchants necesitan ver rápidamente si sus transacciones están siendo aprobadas correctamente y si hay algún problema con algún método de pago específico. Las métricas más importantes para ellos son: tasa de aprobación, volumen procesado y transacciones fallidas."
Nombra archivos descriptivamente
Si Claude te pregunta cómo nombrar archivos o componentes, usa nombres que reflejen la funcionalidad:
reconciliation-reports.tsxmerchant-onboarding-wizard.tsxnew-page.tsxprototype-1.tsxGuarda tus mejores prompts
Cuando un prompt te dé un resultado excelente, guárdalo. Puedes crear un documento compartido con el equipo de PMs con los «prompts que funcionan» para que todos partan de una buena base.
Sé específico con lo que quieres
| En vez de esto... | Escribe esto... |
|---|---|
| «Mejora el formulario de tarjeta» | «Reduce la altura de los inputs del formulario de tarjeta. Agrupa número, expiración y CVV en una fila compacta. Muestra errores inline debajo del grupo de campos.» |
| «Agrega cuotas» | «Agrega un dropdown de selección de planes de cuotas bajo "Opciones avanzadas" en el formulario de payment links. Solo muestra planes activos del merchant.» |
| «Que sea más rápido» | «Implementa auto-avance entre campos del formulario de tarjeta: cuando el número de tarjeta alcanza 16 dígitos (Visa), salta automáticamente a expiración.» |
Siempre referencia los repos del SDK
Incluir las referencias a ~/proyectos/sdk-web-core, ~/proyectos/sdk-web y ~/proyectos/sdk-web-card en tus prompts es lo que separa un prototipo genérico de uno que entiende la arquitectura real del SDK.
Entiende la arquitectura de iframes
Los campos de tarjeta (número, CVV, expiración) viven en iframes por seguridad (PCI compliance). Cuando prototipes formularios de pago, menciona esta restricción para que Claude genere una estructura realista con iframes separados.
Especifica el tipo de integración
El SDK tiene varios modos: Seamless, Full, Lite, Render y Secure Fields. Siempre indica cuál estás prototipando porque la UI y las restricciones cambian entre cada uno.
Prototipa mobile-first
La mayoría de los pagos con el SDK ocurren en mobile. Pide a Claude que genere el prototipo en viewport de 375x812px primero, y luego adapte a desktop. Esto asegura que el formulario de pago sea usable en pantallas pequeñas.
Incluye estados de error y validación
Los formularios de pago tienen muchos estados: campo vacío, formato inválido, tarjeta rechazada, BIN no reconocido, etc. Pide a Claude que muestre estos estados para que los stakeholders vean cómo se maneja cada caso.
Itera en la misma conversación
No empieces una conversación nueva para cada ajuste. Claude recuerda todo el contexto de la sesión actual. Puedes decirle cosas como:
"Reduce the input height by 8px" "Group number + expiry + CVV in a single row" "Show the error state for an invalid card number" "Add the Amex logo when BIN starts with 34 or 37"
Guarda tus mejores prompts
Cuando un prompt te dé un resultado excelente, guárdalo. Puedes crear un documento compartido con el equipo de PMs con los «prompts que funcionan» para que todos partan de una buena base.