/* INDUSTRIAS — positioning page showing we understand each sector */ const { useState: useStateI, useEffect: useEffectI } = React; const IndHero = () => (
Inicio/Industrias

Conocemos tu industria. Ya resolvimos sus problemas.

No llegamos a aprender cómo funciona tu negocio. Llegamos con soluciones probadas en tu sector.

); const IndustrySection = ({ ind }) => (
{ind.badge}

{ind.headline.split(/(Cada|El|El|Vender)/).map((part, i) => ['Cada', 'El', 'Vender'].includes(part) ? {part} : part )}

{ind.intro}

Lo que está pasando en tu negocio

{ind.pains.map((pain, i) => (
{pain}
))}

Lo que construimos para ti

{ind.solutions.map((solution, i) => (
{solution}
))}
{ind.stats.map((stat, i) => (
{stat.v}
{stat.l}
))}

Resultado medido

Este caso es real. Los números son medidos y verificables.

Cliente
{ind.caseName}
{ind.icon}
Ver caso completo →
); const industries = [ { id: 'clinicas', badge: 'Clínicas y salud', headline: 'Cada cita perdida es dinero que no vuelve', intro: 'Las clínicas modernas no fallan por falta de pacientes. Fallan por sistemas desconectados que generan no-shows, expedientes duplicados y recepcionistas que pasan más tiempo coordinando que atendiendo.', pains: [ 'No-show promedio del 18% — cada cita vacía destruye margen', 'Citas repartidas en papel, Excel y Calendly sin sincronización', 'Médicos sin acceso al historial completo entre sucursales', 'Recepcionistas haciendo trabajo manual que debería ser automático', ], solutions: [ 'Agenda unificada con recordatorios automáticos por WhatsApp 24h y 2h antes', 'Expediente médico compartido en tiempo real entre todas las sucursales', 'Dashboard ejecutivo con KPIs del día — desde el celular', 'Confirmación y reagendamiento automático sin intervención humana', ], stats: [{ v: '−66%', l: 'No-show' }, { v: '+32%', l: 'Citas agendadas' }, { v: '8h/sem', l: 'Liberadas en recepción' }], caseLink: 'casos.html#clinicas', caseName: 'Clínica Noria — 3 sucursales, CDMX', icon: 'M19 14H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v7a2 2 0 0 1-2 2zM12 7v4M10 9h4', }, { id: 'restaurantes', badge: 'Restaurantes', headline: 'El 9% de merma no es mala suerte — es falta de datos', intro: 'Cuando el inventario vive en Excel y los reportes llegan con 5 días de retraso, las decisiones se toman a ciegas. La diferencia entre un restaurante rentable y uno que sobrevive está en la velocidad de la información.', pains: [ 'Mermas del 9% cuando la industria promedia 4% — diferencia pura de proceso', 'Inventario en Excel por sucursal, sin visión consolidada', 'Reportes de ventas que llegan el miércoles para la semana anterior', 'Órdenes a proveedores basadas en intuición, no en datos', ], solutions: [ 'Inventario en tiempo real conectado al POS de cada sucursal', 'Predicción de demanda con IA: clima + eventos locales + histórico propio', 'Órdenes automáticas a proveedores cuando el stock baja del umbral', 'Cierre semanal que se genera solo en 25 minutos', ], stats: [{ v: '−41%', l: 'Mermas' }, { v: '2.3×', l: 'Rotación de stock' }, { v: '6h → 25m', l: 'Cierre semanal' }], caseLink: 'casos.html#restaurantes', caseName: 'Sabor del Sur — 4 sucursales, Yucatán', icon: 'M2 22V12a10 10 0 0 1 20 0v10', }, { id: 'empresas', badge: 'Empresas & operaciones', headline: 'Cuatro sistemas que no se hablan cuestan más que uno que sí lo hace', intro: 'HubSpot, SAP, Contpaqi, Zendesk — cada área vive en su silo. El cierre mensual se convierte en 8 días de cuadrar planillas a mano, y las decisiones llegan tarde porque los datos llegan tarde.', pains: [ 'Cierre mensual de 8 días cruzando datos entre sistemas manualmente', 'Ventas, contabilidad, logística y soporte en silos sin comunicación', 'Cobros sin facturar perdidos entre sistemas — dinero invisible', 'El CFO toma decisiones con información de la semana pasada', ], solutions: [ 'Hub de integración central con sincronización bidireccional en tiempo real', 'Dashboard ejecutivo unificado con KPIs de todas las áreas en una pantalla', 'Reportes contables que se generan solos el día 1 de cada mes', 'Alertas automáticas cuando los números entre sistemas no cuadran', ], stats: [{ v: '8 → 2 días', l: 'Cierre mensual' }, { v: '−68%', l: 'Tiempo en reportes' }, { v: '$180K', l: 'Cobros recuperados' }], caseLink: 'casos.html#empresas', caseName: 'Logística Andina — 120 empleados, LATAM', icon: 'M3 3v18h18M7 11h3v7H7zM12 7h3v11h-3z', }, { id: 'retail', badge: 'Retail & E-commerce', headline: 'Vender algo que ya no tienes destruye más que no venderlo', intro: 'Cuando el inventario físico y el online no están sincronizados, cada sobre-venta es una queja, una devolución y un cliente que no vuelve. Con 12,000 SKUs, el pricing manual es simplemente imposible de sostener.', pains: [ 'Shopify y el POS físico con inventarios distintos — sobre-ventas constantes', 'Pricing manual en miles de SKUs consume horas cada semana', 'Cada devolución toma 30 minutos y frustra al equipo y al cliente', 'Sin recomendaciones en checkout — ticket promedio estancado', ], solutions: [ 'Sincronización en vivo Shopify ↔ POS — un solo inventario, cero sobre-ventas', 'Motor de pricing dinámico con reglas por canal, categoría y temporada', 'Módulo de devoluciones en 1 minuto que convierte quejas en fidelización', 'Recomendaciones IA en checkout basadas en historial del cliente', ], stats: [{ v: '0', l: 'Sobre-ventas' }, { v: '+14%', l: 'Ticket promedio' }, { v: '+22%', l: 'Conversión web' }], caseLink: 'casos.html#retail', caseName: 'Verde Retail — 2 tiendas + Shopify, 12K SKUs', icon: 'M6 2L3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4zM3 6h18M16 10a4 4 0 0 1-8 0', }, ]; const IndApp = () => { const [active, setActive] = useStateI(0); const currentInd = industries[active]; useEffectI(() => { const handleHash = () => { const hash = window.location.hash.replace('#', ''); const index = industries.findIndex(ind => ind.id === hash); if (index !== -1) { setActive(index); setTimeout(() => { const section = document.querySelector('.section'); if (section) section.scrollIntoView({ behavior: 'smooth', block: 'start' }); }, 100); } }; handleHash(); window.addEventListener('hashchange', handleHash); return () => window.removeEventListener('hashchange', handleHash); }, []); return ( <>
Industrias

Servicios que se ajustan al tamaño de tu reto.

{/* Tabs */}
{industries.map((ind, i) => ( ))}
{/* Content Window */}

¿Tu industria no está aquí?

Trabajamos con más de 11 sectores. Si no ves el tuyo, igual podemos ayudarte — el problema de fondo suele ser el mismo.

Agendar demo →
); }; ReactDOM.createRoot(document.getElementById('root')).render();