Por qué reconstruimos koaistudios.com en seis semanas
Después de seis semanas de trabajo enfocado el nuevo koaistudios.com está en vivo: Next.js 16, bilingüe completo, infraestructura real de commerce, base de SEO. Esto es lo que lanzamos y por qué reconstruir tuvo más sentido que iterar.

Qué lanzamos
Después de seis semanas de trabajo enfocado, koaistudios.com v2 está en vivo. Es una reconstrucción completa del SPA de Lovable anterior a un stack Next.js 16 + React 19 + Tailwind 4 corriendo en nuestro propio VPS detrás de un Cloudflare Tunnel, con:
- Bilingüe EN / ES end-to-end — no son traducciones pegadas al
final, cada componente lee de messages/en.json y messages/es.json.
- Infraestructura real de commerce — Stripe live keys conectadas,
calculadoras custom de stickers con picker CMYK, subida de diseño
post-cart, flujos de carrito y checkout. Dejamos commerce en modo
coming-soon mientras terminamos la primera prueba en producción.
- Base de SEO — 36 rutas con title / description bilingüe,
hreflang alternates, un sitemap.xml hecho a mano, un robots.txt
real y JSON-LD para los schemas Organization y LocalBusiness.
- Páginas legales y de política — privacidad, términos, envíos,
devoluciones. No placeholders coming-soon, contenido real que puedes
llevar a tu abogado.
- Catálogo completo — seis tipos de stickers con calculadoras
únicas, más rutas stub para tarjetas, flyers, apparel, letreros,
acrílico, wallpapers.
Por qué reconstruir en vez de iterar
El SPA anterior era cero-SEO por arquitectura: los crawlers recibían un HTML vacío, los LLMs no podían leer el contenido y la única forma de compartir una página de producto era pegar la URL y esperar que la preview card renderizara. Arreglar eso en una app React client-only significa reconstruir el framework de todas formas. Escogimos Next.js 16 porque el SSR no es opcional cuando vendes impresión custom y dependes del tráfico orgánico.
El stack, para los curiosos
- Framework: Next.js 16 App Router + React 19
- Estilos: Tailwind 4 con
@tailwindcss/vite, tokens de diseño propios - i18n: next-intl con
localePrefix: "always" - Auth + DB: Supabase (auth-helpers, RLS, service-role para ops admin)
- Pagos: Stripe Elements (PaymentIntent API + webhook)
- Storage: Cloudflare R2 bucket
koai-mediavíacdn.koai360.com - Infra: VPS Hostinger,
next startvía systemd, Cloudflare Tunnel
Qué sigue
El lanzamiento real de commerce. Traducción profunda al español de las sub-páginas de servicios de publicidad. Primer lote de casos de estudio. Y una eventual migración del contenido inline a un pipeline MDX real para este blog.
Si quieres hablar de cualquiera de estos temas — o estás planeando una reconstrucción similar para tu marca — escríbenos.