Saltar al contenido

Design-in-code

Playground-driven design, especificar todos los estados en el código antes de conectar la API

El playground es un artefacto de diseño que vive dentro del codebase, no al lado. Ni prototipado desechable, ni design-to-code generado: design-in-code. El diseñador ve ahí cada pantalla en todos sus estados (por defecto, carga, vacío, error, éxito) en cuestión de segundos, sin backend, y produce el código real que el desarrollador conectará después a la API. El valor no es el prototipo, es el contrato de interfaz: todos los estados quedan especificados antes de que el desarrollador escriba la integración.

Demostración

Todos los estados, a un clic

La misma pantalla, en cada uno de sus estados. Es lo que el diseñador manipula en local, sin backend. Mostrar en vez de describir, porque es el principio mismo del método.

Studio Nord

Lille, France

Profil complet

Agence partenaire depuis 2019. Trois certifications actives, douze projets référencés.

Problema abordado

En la mayoría de las organizaciones de producto, el diseño vive al lado del código: maquetas, prototipos clicables, specs. El paso del diseño al desarrollo es una traducción, y cada traducción pierde información. Incluso cuando una discovery rigurosa especifica todos los estados, la maqueta sigue siendo una representación estática: las transiciones y las micro-interacciones se aproximan, y el desarrollador la reimplementa en otro lenguaje. La maqueta y el código se convierten en dos fuentes de verdad que divergen. El costo no aparece en el handoff, aparece tres semanas más tarde en forma de retrabajo.

Le design à côté du code

Le handoff reste une traduction

  1. Même complète, la spec reste une représentation statique.
  2. Le développeur la ré-implémente : transitions et micro-interactions s'approximent.
  3. Deux sources de vérité, la maquette et le code, divergent avec le temps.

États dessinés, à retraduire en code

défaut chargement vide erreur succès

Le coût n'apparaît pas au handoff. Il revient en retravail quand la traduction dérive.

Le design dans le code

La vue rendue est la spec

  1. Les états ne sont pas dessinés, ils sont implémentés et tournent.
  2. La vue du playground est celle qui part en prod : données, tokens, responsive réels.
  3. Une seule source de vérité. Le développeur branche l'API, il ne retraduit rien.

États exécutés, prêts pour le branchement

défaut chargement vide erreur succès

Le moment où la maquette et le code divergeaient disparaît.

Pasos

El método en 4 pasos

  1. Paso 1

    Observar el producto real

    Apuntar el entorno local hacia una preproducción, navegar por el producto existente, entender la estructura de las páginas, los patrones de interfaz y la nomenclatura. Identificar las dos o tres zonas de datos más estructurantes para simular primero. Nada de construir a ciegas: se parte de lo que existe, no de una página en blanco.

  2. Paso 2

    Simular la capa de datos

    Crear un modo de datos ficticios en las zonas identificadas, antes del cliente API. Las pantallas leen sus datos desde un store intermedio que se puede alimentar sin tocar el backend. Cada punto de conexión futuro queda marcado explícitamente, para que el desarrollador sepa dónde vendrá a conectarse la API.

  3. Paso 3

    Implementar todos los estados antes de la conexión

    Poner en cada pantalla un selector que alterna entre por defecto, carga, vacío, error y éxito, e implementar el render real de cada uno. Es la etapa que produce el contrato: el desarrollador ya no tiene que reimplementar los estados desde una representación estática, ya están ahí, ejecutados y validados. Lo visual avanza independientemente de la API, es un desacoplamiento en el tiempo.

  4. Paso 4

    Industrializar y transmitir

    Documentar las convenciones por carpeta, formalizar las acciones recurrentes, acompañar las primeras aplicaciones del lado del desarrollo y del lado del producto. La formalización no es un entregable de cierre, es lo que permite que el método sobreviva a la salida de su autor y que una persona nueva sea productiva rápido.

Condiciones de éxito

Lo que indica que funciona

Contraindicaciones

Cuándo no usarlo

Ejemplos de aplicación

Donde el método ha vivido

Diagnóstico

Haz tu diagnóstico

Antes de desplegar el método, más vale saber dónde está tu squad. Responde a las seis condiciones, la puntuación se calcula en directo. El playground es el resultado cuando la puntuación lo permite, no un entregable para copiar tal cual.

  • 01 Desacoplamiento front/back Fondation

    ¿Se puede lanzar el front con un solo comando, sin levantar el backend?

    Desacoplamiento front/back
  • 02 Capa de datos mockeable Fondation

    ¿Los componentes leen desde un store intermedio, o directamente desde el cliente API?

    Capa de datos mockeable
  • 03 Design system utilizable en código

    ¿Existe una librería de componentes documentada que se pueda importar?

    Design system utilizable en código
  • 04 Workflow Git compatible

    ¿Se puede dedicar un espacio de ramas al diseño, con sus propias reglas?

    Workflow Git compatible
  • 05 Entorno de preview automatizado

    ¿Las ramas despliegan una vista previa visible para producto y desarrollo, por URL?

    Entorno de preview automatizado
  • 06 Punto de contacto técnico

    ¿A quién se llama cuando no compila?

    Punto de contacto técnico

Conditions réunies

0/6

Réponds aux six conditions, la lecture du score s'affiche ici.

Para ir más lejos

Un contrato de interfaz, no un prototipo

La confusión más frecuente es clasificar el playground junto a las herramientas de prototipado. Es exactamente lo contrario. Un prototipo sirve para validar una intención y después se bota. El playground produce el código real del producto, el que el desarrollador va a conectar, no una representación que habrá que volver a traducir.

La distinción con el design-to-code importa igual. El design-to-code genera código a partir de una maqueta, con el riesgo clásico del código generado que se aleja del codebase. El playground-driven design trabaja directamente en el codebase: es design-in-code. Lo que el diseñador ve en el playground es exactamente lo que saldrá a producción, porque es la vista real la que renderiza, no una copia.

Lo que hace el valor no es entonces la velocidad de prototipado, es el contrato: en el momento en que el desarrollador abre la pantalla para conectar la API, todos los estados ya están implementados y validados en la vista real. El momento habitual en que reimplementa esos estados desde una maqueta estática, y en que la diferencia se resuelve caso por caso con diseño, desaparece.

Este método nació durante la reconstrucción del portal Expert de PrestaShop. El caso estratégico cuenta por qué la organización decidió salir de la herramienta existente; el caso operativo cuenta cómo una squad de tres lo entregó; el playground formaliza cómo el diseño pudo avanzar dentro del producto sin esperar todas las integraciones backend.

El ciclo de diseño front

El ciclo retoma el mismo pipeline que el desarrollo, pero desplaza la iteración de diseño al render real.

Intención enmarcada: nombrar la necesidad, el objetivo de la pantalla, las restricciones del design system y los estados esperados antes de generar.

Propuesta IA: producir una primera versión con los componentes existentes, lo bastante concreta para evaluarla, nunca considerada final.

Vibe design: reaccionar al render real, ajustar jerarquía, densidad, ritmo, claridad e i18n sobre la pantalla que se va a conectar.

Arbitraje y validación: decidir cuándo la pantalla está justa, y devolverla al flujo común de review, commit, PR, preproducción y producción.

El diseño no desaparece. Cambia el medio: la conversación ya no ocurre sobre una representación, ocurre sobre la interfaz mientras se convierte en producto.

La regla de soberanía

El método se sostiene sobre una regla que protege a los dos oficios: el diseñador nunca toca la lógica backend ni las llamadas a la API, el desarrollador nunca reconstruye lo visual desde cero. Cada uno interviene en su capa.

Ese desacoplamiento es primero temporal. Lo visual y todos sus estados avanzan mientras la API todavía no existe, y luego la conexión llega a posarse sobre una estructura ya completa. No es una toma de poder del diseño sobre engineering, es una reorganización del orden en que se deciden las cosas. Nombrar esta regla explícitamente evita el malentendido más costoso, el que haría leer el método como una intrusión en lugar de una colaboración mejor secuenciada.

Las condiciones que hacen viable el método

La trampa sería prometer una replicación idéntica en todas partes. La intención y la matriz son portables, la implementación sigue siendo específica de cada stack. Antes de desplegar el método, conviene diagnosticar seis condiciones, que dependen de las prácticas de la squad más que del azar. Son las que el diagnóstico de más arriba invita a evaluar una por una.

Las dos primeras son fundaciones: si faltan el desacoplamiento front/back o la capa mockeable, el playground no es el primer frente que hay que abrir. Las demás son aceleradores. La condición de preview automatizado suele ser la que falta, y no es bloqueante: el playground corre en local sin ella, solo sirve para hacer visible el render sin tener que bajar la rama.

Poner estas seis condiciones en forma de matriz para llenar transforma la conversación. Nadie promete un método que se rompería sobre una stack no desacoplada, y nadie ve el método rechazado cuando el verdadero bloqueo es una condición de infraestructura que se puede nombrar y presupuestar.

Vender la matriz, no la herramienta

Tres principios ayudan a defender el método más allá de su primera aplicación.

Auditar antes de pedir cambia la naturaleza de la solicitud. Nadie llega reclamando accesos, se llega con una lectura del código y una propuesta de colaboración informada. Mostrar antes de argumentar, después: una demo de cinco minutos del playground pesa más que un documento de tres páginas con casillas para marcar. El orden que funciona va de la demo al one-pager de leadership, y de ahí a la difusión.

El punto más estructurante es el último: lo que se pone sobre la mesa con cada nueva squad es la matriz de readiness, no el playground. El playground es el resultado cuando el puntaje lo permite, la matriz es la puerta de entrada a la conversación. Ese desplazamiento protege de los dos fracasos simétricos: prometer una replicación que se rompe, o ver el método rechazado por una razón que nunca se había nombrado.

Madurez
consolidated
Tags
design-engineering · design-systems · design-to-code · workflow
Última actualización

Escrito con terquedad colombiana, en el sur de Francia.

No con amor, con contexto y un agente paciente.

Sigo aprendiendo.

© 2026 Todos los derechos reservados.