Aprende Tailwind — Simulador educativo interactivo de Tailwind CSS
InicioProyectosAprende Tailwind

Aprende Tailwind

Simulador educativo interactivo de Tailwind CSS con editor de código en vivo, vista previa validada visualmente en iframe sandboxed, gamificación con XP y certificados.

Detalles
Tipo
Web App
Rol
Frontend Developer
Creación
Q3 2026
Actualización
Q3 2026
Visitar
Demo
Código
Github
Stack tecnológico
Angular 22TypeScript 6Tailwind CSS 4CodeMirror 6VitestPlaywrightpnpm
01

Descripción

Contexto general

Simulador educativo de Tailwind CSS inspirado en la interfaz de tres paneles y la experiencia gamificada de aprendesql.dev. El alumno edita HTML con clases de Tailwind en un editor CodeMirror 6 y observa, en tiempo real, una vista previa validada visualmente dentro de un iframe sandboxed. Al superar todas las comprobaciones de una lección, se acumula XP, se marca como completada con confetti y toast de celebración, y se desbloquea la siguiente lección. Incluye 50 lecciones en 18 módulos, motor de validación visual por computed styles (4 tipos de regla), tour interactivo de onboarding con SVG spotlight, paleta de comandos ⌘K, dark mode sincronizado host↔iframe vía postMessage, página de progreso y certificados. Construido con Angular 22 zoneless + Signals + TypeScript 6 estricto.

Aprende Tailwind — Simulador educativo interactivo de Tailwind CSS
02

Motivación

Por qué lo construí

Ofrecer una forma interactiva y gamificada de aprender Tailwind CSS, donde el alumno escribe código real y recibe feedback visual inmediato en lugar de leer documentación pasiva.

Validar el aprendizaje con un motor de computed styles que comprueba el HTML del alumno contra reglas declarativas, asegurando que las clases aplicadas produzcan el resultado visual esperado.

Replicar la experiencia de tres paneles (lecciones · editor · preview) y la gamificación (XP, confetti, desbloqueo progresivo) de aprendesql.dev, adaptada al ecosistema Angular zoneless con Signals.

Mantener la seguridad del simulador con un iframe sandboxed (allow-scripts sin allow-same-origin) que renderiza el código del alumno con Tailwind Play CDN, sin acceso al DOM del host.

03

Características

Lo que destaca

Angular 22 zoneless con Signals — sin Zone.js, con input()/output()/computed()/linkedSignal()/effect() e inject(), control flow nativo (@if/@for/@switch) y carga lazy del editor vía @defer (on idle).

Motor de validación visual con 4 tipos de regla (computed-style, class-present, attribute, structure) y normalización de colores vía resolución DOM (oklch/hex/nombres → rgb canónico) para comparar de forma robusta contra Tailwind v4.

Comunicación host ↔ iframe por postMessage bidireccional filtrada por event.source y marca __aprendeTw, con snapshot de estilos capturado tras requestAnimationFrame (Tailwind aplicado).

50 lecciones en 18 módulos (layout, color, spacing, tipografía, estados, responsive, borders, effects, sizing, transforms, interactivity, backgrounds, filters, backdrop-filters, mask, svg, tables, accessibility) tipadas por interfaces TS estrictas.

Tour interactivo de 4 pasos con SVG spotlight/mask (patrón driver.js), navegación automática entre pasos, retry de target lazy/deferred con backoff, responsive con bottom sheet en móvil y focus trap accesible.

Paleta de comandos ⌘K con búsqueda global de lecciones, utilidades Tailwind y conceptos del glosario, navegación por teclado (↑/↓/Enter/Esc) y a11y completa (role=dialog, aria-activedescendant, role=listbox/option).

Gamificación con XP acumulada, porcentaje de avance, desbloqueo progresivo de lecciones, confetti con física de partículas, toast de celebración, página de progreso y certificado al completar todas las lecciones.

Persistencia de progreso, tema y tour completado en localStorage; dark mode sincronizado host↔iframe sin recargar; auto-height del iframe con ResizeObserver + postMessage.