← Volver al trabajo

Caso de estudio

Marca de bienestar DTC (+1M USD/mes)

De un tema heredado ahogado en apps a un Online Store 2.0 con Vite y Alpine.js, sin jQuery y sin perder una sola página de producto en producción.

2026Online Store 2.0ViteAlpine.jsLiquid

Contexto

Una marca de bienestar que creció a más de un millón de dólares al mes en Shopify en menos de cinco años. Su tema, de la era Vintage, había acumulado una deuda técnica que frenaba cada test de CRO y cada integración nueva.

Problema

El tema arrastraba más de 40 apps instaladas y desinstaladas a medias, jQuery repartido por las plantillas y JavaScript propio sin build system. La carga en móvil pasaba de 5 segundos, la página de producto cargaba 280KB de JavaScript heredado y el cart drawer tenía tres caminos de código distintos, de tres desarrolladores.

Restricción

Cero downtime, cero pérdida de SKUs y cero regresiones de CRO visibles para el cliente durante la transición.

Lo que construí

Ataqué la deuda con tres decisiones de arquitectura, no con parches.

Primero, Vite como build system: reemplacé el bundling manual por module resolution, tree-shaking y code splitting por template, para que cada página pague solo por el código que usa.

Segundo, Alpine.js en lugar de jQuery: saqué el framework de 90KB y reescribí las interacciones en sintaxis declarativa. El cart drawer, que tenía tres caminos de código de tres desarrolladores, pasó de unas 600 líneas a unas 50 de estado declarativo.

Tercero, una section architecture propia sobre Online Store 2.0, con block schemas estrictos y extension points, para dejar de parchar el tema a mano cada vez que entraba una app nueva.

Nada de esto se hizo a puerta cerrada. La migración fue por fases: publiqué un tema paralelo y lo fui sacando sección por sección contra el tráfico real de producción, antes de que pasara a ser el tema en vivo. Así el equipo validó cada pieza sin arriesgar ventas.

La lección de fondo: modernizar un tema es trabajo de base, no una intervención de CRO. El objetivo era quitar el impuesto técnico que venía bloqueando cada test y cada integración que el equipo quería lanzar.

Resultado

LCP 1.8 s más rápido, 280KB de JavaScript fuera de la página de producto y 62% menos de JS en su primera carga.

Stack

Online Store 2.0ViteAlpine.jsLiquid