Una cara expresiva construida con geometría paramétrica: interpola entre ocho estados emocionales con animación física, parpadea de forma autónoma y sigue al usuario. Es la capa visual que humaniza a un asistente conversacional en un kiosco, una recepción o un producto digital.
"Avatar expresivo para IA conversacional" es un prototipo de cara de robot basado únicamente en ojos paramétricos animados por SVG, inspirado en el estilo de robots como Vector o EMO. No usa imágenes ni vídeo: cada fotograma se dibuja recalculando la geometría de dos ojos cian (rectángulos redondeados), sus cejas/párpados, sus brillos y la inclinación de la cabeza, sobre un fondo plano oscuro. El objetivo es dar a un asistente de IA una capa visual emocional ligera que comunique estados de ánimo y reaccione al usuario en tiempo real.
El sistema funciona como un motor de expresión: cada emoción es un conjunto de parámetros numéricos (ancho, alto, radio de esquina, posición e inclinación de ceja, factor de sonrisa, color, achatamiento, etc.) y al cambiar de una a otra se interpola con un easing de rebote (easeOutBack) para que el gesto se sienta físico y vivo. Por encima corre un comportamiento continuo autónomo: parpadeos aleatorios, micro-movimientos de mirada (micro-saccades), flotación de reposo, seguimiento del cursor y un ladeo dinámico de cabeza hacia donde mira. Incluye ocho emociones (neutral, feliz, enfadado, triste, sorpresa, sueño, suspicaz, amor) y tres acciones (parpadear, guiño, mirar alrededor).
Es un prototipo de front-end puro, sin backend ni dependencias externas: tres ficheros (HTML, CSS y JavaScript vanilla). No incluye reconocimiento de voz, síntesis ni conexión a un modelo de lenguaje; es la capa de presentación emocional que se conectaría a esos sistemas mediante su API JavaScript interna (setEmotion, blink/wink, lookAround). Pensado como demostración de cómo dar rostro y presencia a un asistente conversacional con un coste técnico mínimo.
neutral, feliz, enfadado, triste, sorpresa, sueño, suspicaz y amor. Cada uno cambia geometría de ojos, posición e inclinación de cejas, color (cian, rojo para enfado, rosa para amor) y pose de cabeza.
Las transiciones interpolan desde la pose actual a la nueva con easing de rebote (easeOutBack) durante 560 ms, evitando saltos bruscos y dando sensación de gesto natural.
Los ojos siguen el puntero en tiempo real mapeando su posición a un desplazamiento de mirada acotado, con suavizado por interpolación; el control del cursor caduca a los 2,2 s sin movimiento.
Cuando el cursor no interviene, el avatar genera movimientos de mirada aleatorios cada 1,5-3,8 s (con cierta probabilidad de volver al centro) para parecer atento y vivo, no estático.
Parpadeo automático en intervalos variables (2,6-6,2 s) con curva senoidal, probabilidad (~18%) de doble parpadeo, además de parpadeo al tocar o hacer clic en la cara.
Tres acciones invocables: un parpadeo puntual; un guiño que cierra solo el ojo derecho mientras esboza una sonrisa (pasa a 'feliz') y vuelve al estado previo; y una secuencia coreografiada de mirada que recorre el entorno en cinco posiciones.
La cabeza se inclina, desplaza y escala según la emoción, y añade un ladeo sutil (acotado) hacia el lado donde mira, rotando sobre un pivote situado bajo los ojos.
Los ojos oscilan suavemente en X e Y con funciones senoidales de distinto periodo para que el avatar nunca quede totalmente quieto.
Cada ojo lleva dos brillos blancos cuya opacidad se calcula por fotograma: se atenúan al parpadear, al sonreír y al bajar mucho las cejas, reforzando la lectura de la expresión.
Símbolos animados con CSS que aparecen solo en su estado: corazones flotantes (amor), letras Z ascendentes (sueño), chispas (sorpresa) y gota de sudor (suspicaz).
Detecta prefers-reduced-motion y desactiva el rebote, la flotación y los micro-saccades, reduce la frecuencia de parpadeo y deja los acentos estáticos. El SVG lleva role e aria-label.
Un cerebro que envuelve a un modelo de lenguaje con memoria episódica y semántica, estado emocional calculado (modelo PAD), drives de motivación y consolidación. La emoción es estado, no atrezo de prompt.
Ver prototipo →
Interfaz de voz que escucha, piensa y responde con baja latencia usando Whisper (transcripción) y voz neural Piper, ambos ejecutándose en local en el navegador.
Ver prototipo →Si algo de esto encaja con un problema real de tu negocio, lo convertimos en una solución mantenible y con control total.
Hablemos de tu proyectoÚltima actualización: 05/07/2026
Recopilamos datos personales únicamente cuando el usuario nos los facilita voluntariamente a través de:
| Dato | Obligatorio | Finalidad |
|---|---|---|
| Nombre | Sí | Identificar al remitente y personalizar la respuesta |
| Empresa | No | Contextualizar la consulta profesional |
| Sí | Responder a la consulta y enviar confirmación de recepción | |
| Servicio de interés | No | Derivar la consulta al área adecuada |
| Mensaje | No | Comprender la necesidad del usuario |
Correo de confirmación: al enviar el formulario de contacto, se envía automáticamente un email de confirmación a la dirección indicada por el usuario, como acuse de recibo de la solicitud.
| Dato | Obligatorio | Finalidad |
|---|---|---|
| Nombre | Sí | Mostrar la autoría del comentario publicado |
| Sí | Verificación interna y notificaciones (no se publica) | |
| Contenido del comentario | Sí | Publicación en la sección de comentarios del artículo |
Los comentarios pueden requerir aprobación del moderador antes de su publicación.
| Tipo de dato | Plazo | Criterio |
|---|---|---|
| Formulario de contacto | 12 meses | Desde la última comunicación |
| Comentarios del blog | Indefinido | Mientras permanezca publicado |
| Datos de clientes | 5-6 años | Obligaciones fiscales |
| Cookies | Variable | Según tipo de cookie |
Transcurridos los plazos, los datos serán eliminados o anonimizados.
De acuerdo con el RGPD y la LOPDGDD, tienes derecho a:
Para ejercer estos derechos: info@joanmedina.es
Puedes reclamar ante la AEPD en www.aepd.es.
En 30 minutos analizo tu empresa y te digo con claridad dónde estás perdiendo tiempo, qué automatizaría primero y qué evitaría. Sin compromiso, sin letra pequeña.
+10 años de experiencia · +200 procesos automatizados
Diagnóstico gratuito — Detecta dónde se pierden horas y qué automatización tiene más retorno
Pedir diagnóstico