Una sola plataforma para una empresa de semiconductores: web, ServiceDesk y panel de administración en el mismo código
Polargate sustituyó la web WordPress de KD.tech y un despliegue previsto de Odoo por una sola plataforma en React y Supabase con la web bilingüe, un ServiceDesk de clientes y un panel de administración, y ahora la mantiene con horas senior al mes.

- 100 / 100 / 100
- Lighthouse móvil: accesibilidad, buenas prácticas, SEO (el SEO era 69)
- 327
- páginas bilingües en el sitemap aceptado por Search Console
- 22
- tickets de clientes resueltos en el ServiceDesk, de abril a julio de 2026
- 20 h
- horas senior de mantenimiento al mes por contrato
- 238 KB
- bundle público en gzip, frente a los 321 KB anteriores
- 155
- tests automáticos en cada cambio, más un healthcheck cada 6 horas
El problema
KD.tech diseña semiconductores y transceptores ópticos para Ethernet de automoción y vende a fabricantes de automóviles y proveedores Tier 1 y Tier 2 de Europa, Estados Unidos y Asia. Toda esa ingeniería se presentaba en una web WordPress que marketing no podía editar en dos idiomas, con la documentación técnica repartida en enlaces a PDF y un formulario de empleo que guardaba las candidaturas sin el currículum. Para atender a clientes no había nada: el plan era desplegar Odoo Community. Y como la web se renderizaba en el navegador, los buscadores con IA recibían un armazón vacío de 3.559 bytes.
Qué construimos
Polargate descartó Odoo y construyó una sola aplicación Vite, React y TypeScript sobre Supabase y Vercel, con tres superficies en el mismo código: la web bilingüe con CMS y un Design Center curado, un ServiceDesk de clientes con entrada y salida por correo y asignación automática por región, y un panel de administración con analítica. Después migramos la plataforma al proyecto de Supabase de Polargate con paridad verificada, añadimos datos estructurados, hreflang y un prerender que entrega a los rastreadores de IA el mismo texto que lee una persona, y pusimos cada cambio detrás de controles de CI y un healthcheck externo.
El resultado
La web puntúa ahora 100 en móvil en accesibilidad, buenas prácticas y SEO, frente al 69 anterior en SEO, y el bundle público bajó de 321 a 238 KB gzip. Search Console acepta un sitemap de 327 páginas bilingües y los rastreadores de IA leen artículos completos en lugar de un armazón vacío. Se resolvieron 22 tickets de clientes entre abril y julio de 2026. Bajo el mantenimiento se detectaron y corrigieron seis fallos en producción, entre ellos un formulario de empleo que guardaba las candidaturas sin el currículum.
Stack
- React
- Vite
- TypeScript
- Tailwind CSS
- shadcn/ui
- Supabase
- PostgreSQL
- Deno
- Vercel
- Resend
- OpenAI
- GitHub
- GitHub Actions
- GA4
- Search Console
- Vitest
La empresa y el punto de partida
KD.tech diseña semiconductores y transceptores ópticos para Ethernet de automoción sobre fibra óptica de plástico y de vidrio, y vende a fabricantes de automóviles y a proveedores Tier 1 y Tier 2 de Europa, Estados Unidos y Asia. Toda esa ingeniería se presentaba en una web WordPress que el equipo de marketing no podía editar en dos idiomas, con la documentación técnica repartida en enlaces a PDF y un formulario de empleo que guardaba las candidaturas sin el currículum. La atención a clientes no tenía sitio propio: el plan era desplegar Odoo Community.
Lo que encontramos
- La web era una SPA, así que los rastreadores de IA (GPTBot, ClaudeBot, PerplexityBot, OAI-SearchBot) recibían un armazón vacío de 3.559 bytes.
- Lighthouse móvil daba 69 en SEO y el texto del hero medía 1,13:1 de contraste en modo oscuro, por debajo de WCAG.
- La sección de documentación y las seis páginas de implementaciones devolvían un 404 real desde mayo.
- Las descargas de documentos seguían contándose en un backend que debía retirarse.
Lo que construimos
Una sola aplicación Vite, React y TypeScript sobre Supabase y Vercel, con tres superficies en el mismo código:
- kd.tech: la web bilingüe EN/ES con CMS de noticias, productos y ofertas de empleo, y un Design Center de normas, white papers y guías de usuario con seguimiento de descargas.
- kd.tech/help: un ServiceDesk de clientes con entrada y salida por correo a través de Resend en su propio subdominio, un trigger de Postgres que asigna cada ticket a un responsable comercial y a un ingeniero de aplicaciones según la región (Europa y Oriente Medio, Asia, EE. UU. y resto del mundo), visibilidad por región impuesta en la base de datos, niveles de SLA y valoración al cerrar.
- kd.tech/portal: el panel de administración, con analítica propia sin cookies guardada en la base de datos de KD, además de GA4 y Search Console en una sola vista.
Después migramos la plataforma al proyecto de Supabase de Polargate con paridad verificada: 55 tablas, 148 políticas RLS, 37 edge functions y 371 de 371 objetos de almacenamiento, sin pérdida de datos.
Cómo funciona ahora
Los datos estructurados (JobPosting, NewsArticle, Organization), el hreflang y un sitemap dinámico de 327 páginas mantienen la web legible para los buscadores. Un prerender en servidor entrega a los rastreadores de IA el mismo texto que lee una persona, construido con las mismas claves de traducción que renderiza la página, con un test que falla si ambos se separan. Cada cambio pasa por GitHub Actions: typecheck, 155 tests, build y lint, que bajó de 137 errores a cero. Un healthcheck externo revisa cada seis horas las páginas públicas, las respuestas a rastreadores, el sitemap, la recuperación de contraseña y la ruta de descargas. El mantenimiento son 20 horas senior al mes, y el soporte a clientes se opera desde el ServiceDesk multiinquilino de Polargate, donde KD fue el primer inquilino: 22 tickets resueltos entre abril y julio de 2026.
Preguntas sobre este proyecto
¿Cuánto se tarda en sustituir una web WordPress por una plataforma a medida?
¿ChatGPT y Perplexity pueden leer una single-page app en React?
¿Se puede integrar un servicio de soporte en nuestra propia web en lugar de comprar una herramienta de helpdesk?
¿Qué cubre realmente el mantenimiento mensual?
Proyectos relacionados
Arranca el motor
Cuéntanos qué estás construyendo en unas pocas preguntas cortas. Un ingeniero senior responde por escrito en 48 horas laborables con una primera lectura de alcance, plazos y precio.
