Hero animado por scroll
240 fotogramas pintados en canvas que avanzan con el scroll, con barra de progreso mientras precargan.
Sitio web para un taller eléctrico y automotriz, con una animación de scroll construida sobre canvas: 240 fotogramas pintados cuadro a cuadro, sin un solo elemento de video.

01
Taller Tony es un taller eléctrico, automotriz y de torno en La Unión. Su presencia digital se reducía a redes sociales, así que quien buscaba el taller no encontraba qué servicios ofrecía, dónde estaba ni cómo contactarlo.
El encargo fue un sitio que se viera a la altura de un taller serio y que llevara al visitante a un solo lugar: escribir por WhatsApp. Es un proyecto de frontend puro, sin backend ni panel administrativo.
02
Un taller se elige por confianza, y la confianza entra por los ojos antes que por el texto. Una página genérica con una lista de servicios transmite exactamente lo mismo que la competencia.
Al mismo tiempo, el visitante típico llega desde el teléfono y con datos móviles: cualquier cosa que tarde en cargar se pierde antes de mostrarse.
03
04
Construí el sitio con Astro, que envía HTML estático y solo el JavaScript estrictamente necesario, y escribí todo el CSS a mano en lugar de usar un framework de estilos.
Para el hero desarrollé un componente de animación por scroll al estilo de las páginas de producto de Apple: 240 fotogramas en WebP extraídos de un video de 10 segundos, precargados y pintados en un elemento canvas que avanza según la posición del scroll. No hay ningún elemento de video en la página.
Los servicios se recorren en horizontal en lugar de apilarse, y las marcas atendidas pasan en un marquee continuo de logos vectoriales. El resto —quiénes son, por qué elegirlos, preguntas frecuentes, ubicación y horarios— baja en secciones cortas hasta el contacto.
05
06
| Tecnología | Función |
|---|---|
| Astro | Framework del sitio: HTML estático y JavaScript mínimo |
| TypeScript | Tipado de las props de los componentes, como el de la animación |
| CSS | Todo el diseño escrito a mano, sin framework de estilos |
| Canvas API | Pintado de los fotogramas del hero sincronizado con el scroll |
| WebP | Formato de los 240 fotogramas, mucho más liviano que PNG o JPEG |
| Bebas Neue + Inter | Titulares condensados y texto legible |
| Google Maps | Ubicación del taller embebida en la página |
07
240 fotogramas pintados en canvas que avanzan con el scroll, con barra de progreso mientras precargan.
Seis servicios —diagnóstico, aceite y filtros, frenos, sistema eléctrico, aire acondicionado y alineación— recorribles en horizontal.
Doce logos vectoriales de marcas atendidas en un desplazamiento continuo e infinito.
Acordeón que resuelve las dudas habituales antes de que el cliente tenga que preguntarlas.
Mapa de Google embebido, horarios de atención y canales de contacto en el pie de página.
Cada llamada a la acción abre WhatsApp con un mensaje ya escrito para agendar una cita.
08
Understanding — Definí qué necesita saber alguien antes de llevar su carro a un taller que no conoce.
Structure — Ordené la página como una conversación: qué hacemos, quiénes somos, por qué confiar, dudas, dónde estamos.
UI Design — Titulares condensados en mayúsculas sobre fondo oscuro, para que el sitio se sienta cercano al mundo automotriz.
Development — Un componente por sección en Astro, con CSS propio y sin dependencias de interfaz.
Hero animation — Extracción de los fotogramas del video, conversión a WebP y desarrollo del componente de canvas.
Responsive — Ajuste del recorte del canvas y de las secciones horizontales para pantallas de teléfono.
Testing — Revisión de la carga de fotogramas, la navegación y el comportamiento del scroll en distintos tamaños.
09
Un video incrustado no se puede recorrer con el scroll de forma fiable: los navegadores móviles bloquean la reproducción automática, el buscado por posición va a saltos y el archivo se descarga entero aunque nadie baje. Con fotogramas en WebP dibujados en canvas, la animación responde exactamente al scroll, se puede mostrar el progreso de carga y el hero se comporta igual en todos los dispositivos. El costo es el peso de los fotogramas, que asumí a cambio de control total.
La página no tiene estado, ni sesión, ni datos que cambien: es contenido. Astro entrega HTML estático y solo envía JavaScript donde de verdad hace falta, que aquí es el hero, el acordeón y el marquee. Traer un framework completo habría multiplicado el peso sin añadir nada.
El sitio tiene una identidad visual muy marcada —tipografía condensada, fondo negro, acento rojo— que no viene de ningún sistema de diseño existente. Escribir el CSS a mano resultó más corto y más claro que pelear contra los valores por defecto de un framework.
Seis tarjetas apiladas obligan a un scroll largo en el que todo se ve igual. En horizontal, cada servicio ocupa el foco por turno y el recorrido invita a seguir. En pantallas pequeñas se convierte en un carrusel táctil.
El componente del hero recibe el número de fotogramas, las dimensiones del video original y la altura del recorrido de scroll. Cambiar la animación es cambiar los archivos y un parámetro, no reescribir el componente.
10
11
La forma de presentar la información pesa tanto como la información misma: los mismos seis servicios comunican distinto apilados que recorridos en horizontal.
Recrear un efecto que normalmente se resuelve con una librería obliga a entender cómo funciona por dentro. Sincronizar canvas y scroll me enseñó más que cualquier plugin de animación.
Elegir la herramienta por el problema y no por costumbre: para una página de contenido, un framework de aplicación habría sido peso muerto.
Siguiente proyecto
SGTT — Sistema de Gestión para TallerContacto
Estoy abierto a oportunidades profesionales, colaboraciones y proyectos donde la tecnología resuelva una necesidad concreta.