Saltar al contenido
weekly26 de abril de 2026·5 min

La semana que Hezu se reescribió la home (y descubrimos que el problema no era el copy)

Rediseño completo de la home de Hezu con tres tonos en paralelo, un skin 'simple' gateado por feature flag, y de paso Chordna estrena endpoints de feed para LLMs. Una semana de mover producto en serio.

Empezamos la semana convencidos de que la home de Hezu necesitaba un retoque de copy. La terminamos con un rediseño entero, tres variantes de tono rotando en producción, un modo "simple" para los padres que se asustan con tanta interfaz y 30 tests de Playwright vigilando que no rompamos nada. No estaba en el plan. Pero el plan, como suele pasar, era optimista.

La historia real es esta. Llevábamos semanas mirando la analítica de Hezu y notando que la página entraba, miraba, no tocaba nada y se iba. El instinto fácil era culpar al copy del hero. Lo cambiamos un par de veces, no movió la aguja. Así que paramos, abrimos FEAT-023 en serio y nos hicimos la pregunta incómoda: ¿y si el problema no es lo que dice la home, sino lo que propone?

Hezu: tres voces, un experimento honesto

El cambio grande de la semana es que Hezu ahora habla con tres tonos distintos dependiendo de a quién le toque la visita. Aterriza un padre primerizo, ve una voz cálida y poco técnica. Aterriza alguien que ya sabe lo que quiere, ve algo más directo. Y hay una tercera versión, más juguetona, para ver cómo responde la gente que llega de redes sociales. Reparto random 33/33/33, switcher escondido con Shift+D para poder forzar una variante en demos sin que se nos vea el truco.

La parte técnica que un dev disfruta: el tono no es solo CSS y copy. Es un parámetro que viaja desde el frontend hasta el backend, donde un objeto TONE_DIRECTIVES modifica el prompt del modelo en el momento de generar la respuesta. Es decir, la voz de la home y la voz de la IA contestando dentro de la app son la misma voz. Si la página te recibió en plan cercano, Hezu te sigue hablando así cuando le pides ayuda con la rabieta de tu hija. Coherencia de personaje, no una capa de pintura encima.

Y hubo trabajo de pico y pala que casi nadie nota pero es lo que separa una landing presentable de una creíble: 22 locales traducidos a mano (no Google Translate), tiles con iconos que cambiamos de SVG a emoji porque los SVG parecían genéricos, un sticky header que respeta el offset al hacer scroll, y una optimización de fuentes + critical CSS inline que recortó el LCP de manera nada despreciable (HOTFIX-002 en los commits, si alguien quiere fisgar la cifra exacta en Lighthouse).

Decisión discutible que asumimos: el switcher de tonos en móvil vive dentro del footer, escondido en un emoji de búho. Sí, una lechuza. Funcionó en la prueba interna pero es de esas cosas que en seis meses revisitaremos y diremos "qué estábamos pensando". De momento, se queda.

El skin "simple": cuando menos producto es más producto

La segunda jugada de la semana es FEAT-024, que llamamos cariñosamente Hezu Classic. Hay un porcentaje no despreciable de usuarios para los que la versión actual de Hezu tiene demasiado: demasiados tonos, demasiadas opciones, demasiada IA visible. Para ese perfil hicimos un modo "simple" que renderiza la misma app con la mitad de chrome. Activado por flag, gateado en Fase 0, con su feature flag para activarlo sin redeploy.

La parte técnica honesta: es un dual-render en el DOM con CSS skin-aware, no dos apps separadas. Esto nos ahorra mantener dos códigos en paralelo, pero significa que cualquier cambio nuevo en componentes hay que pensarlo en los dos modos. Hemos asumido la deuda conscientemente porque la alternativa (fork) era peor. 5 keys de i18n nuevas × 22 locales, switcher con pills duales, toast cuando cambias, auto-reset de la URL para que no se quede pegada en un modo si compartes el enlace. Lighthouse baseline grabado para no degradarlo sin querer.

Chordna: pensando ya en cómo nos lean los LLMs

En Chordna metimos FEAT-016, que son endpoints de feed pensados específicamente para que los modelos grandes (ChatGPT, Claude, Perplexity) puedan consumir la enciclopedia de manera estructurada. La apuesta es que el SEO clásico hacia Google va a importar cada vez menos para un sitio enciclopédico, y lo que va a importar es ser citable por un LLM cuando alguien pregunta por un acorde o una progresión.

De paso, refactor de scripts de auditoría a backend/scripts/audit/ con credenciales por env (antes había paths hardcodeados que daban un poco de vergüenza) y se añadieron /about y /privacy al sitemap, que técnicamente es una corrección de bug menor pero estaba pendiente desde hace semanas.

Ganga24 y Sofi: el resto del frente

En Ganga24, Conerator escupió el pack completo de fondos generados por IA para las cinco categorías principales. Esto no es glamour pero es la diferencia entre que los slideshows de ofertas parezcan hechos por un humano que sabe diseñar o por un humano que sabe Canva. Pequeña pero importante.

En Sofi, la jugada de la semana fue desacoplar el canal de WhatsApp del gateway de OpenClaw (FEAT-006). Esto es housekeeping arquitectural: ahora WhatsApp es un canal más detrás de una abstracción, no un acoplamiento directo. Importa porque OpenClaw está congelado desde finales de mes y Sofi necesitaba ser autosuficiente sin él. Misión cumplida.

Lo que nos llevamos

La lección incómoda de la semana es que cuando un funnel no convierte, lo primero que cambias casi nunca es lo que estaba mal. Cambiamos el copy del hero tres veces antes de aceptar que el problema era la estructura entera de propuesta. Si la próxima vez tardamos menos en aceptarlo, este post habrá valido para algo.