/* ESCENARIOS DE IMPLEMENTACIÓN — software personalizado B2B */ const { useState: useStateC, useEffect: useEffectC, useRef: useRefC } = React; const ICONS = { health: <>, restaurant: <>, company: <>, retail: <>, alert: <>, analyze: <>, blocks: <>, impact: <>, calendar: <>, database: <>, zap: <>, dashboard: <>, workflow: <>, report: <>, check: <>, arrow: <>, }; const Icon = ({ name, size = 20, className = '' }) => ( ); const implementationScenarios = [ { id:'clinicas', industry:'Salud', title:'Clínica con múltiples sucursales', icon:'health', accent:'#16a36a', soft:'#edf9f4', situation:'Una clínica con varias sucursales necesita centralizar la gestión de citas, expedientes médicos y comunicación con los pacientes. El uso de herramientas separadas genera trabajo manual, información duplicada y poca visibilidad para la administración.', challenges:['Información fragmentada','Procesos manuales en recepción','Coordinación entre sucursales','Visibilidad administrativa limitada'], solutionComponents:[['Plataforma web personalizada','blocks','Base central de la operación'],['Agenda centralizada','calendar','Citas compartidas entre sedes'],['Recordatorios automatizados','zap','Comunicación sin tareas repetitivas'],['Expediente digital compartido','database','Historial disponible con permisos'],['Dashboard administrativo','dashboard','Visibilidad clara para dirección'],['Integraciones mediante APIs','workflow','Conexión con herramientas existentes'],['Reportes operativos','report','Información útil para decidir']], expectedImpact:[['Información centralizada','Los equipos acceden a una única fuente de información.'],['Menor trabajo manual','Las tareas repetitivas pueden automatizarse.'],['Mejor coordinación','Las sucursales trabajan sobre procesos conectados.'],['Mejor experiencia','Pacientes y médicos reciben una atención más fluida.'],['Mayor control operativo','La dirección obtiene más visibilidad sobre la operación.'],['Escalabilidad','La solución puede crecer junto con la clínica.']] }, { id:'restaurantes', industry:'Restaurantes', title:'Cadena de restaurantes', icon:'restaurant', accent:'#c98213', soft:'#fff8e8', situation:'Una cadena de restaurantes necesita coordinar ventas, inventario, compras y operación entre sucursales. Los registros manuales y archivos separados dificultan conocer existencias, costos y necesidades de abastecimiento.', challenges:['Inventarios separados','Falta de trazabilidad','Compras reactivas','Reportes operativos tardíos'], solutionComponents:[['Sistema operativo personalizado','blocks','Procesos diseñados para la cadena'],['Inventario por sucursal','database','Existencias centralizadas'],['Integración con puntos de venta','workflow','Ventas conectadas con inventario'],['Automatización de compras','zap','Reglas para abastecimiento'],['Panel de indicadores','dashboard','Lectura clara de la operación'],['Gestión de insumos y recetas','report','Control de componentes y consumo'],['Análisis de demanda','analyze','Apoyo para planificar compras']], expectedImpact:[['Control de inventario','Mayor visibilidad sobre insumos y existencias.'],['Menos tareas repetitivas','Los registros manuales pueden reducirse.'],['Mejor coordinación','Compras, cocina y administración trabajan conectadas.'],['Compras organizadas','El abastecimiento sigue reglas y datos comunes.'],['Información oportuna','La operación puede consultarse en tiempo real.'],['Mejores decisiones','Los responsables cuentan con información más clara.']] }, { id:'empresas', industry:'Empresas', title:'Empresa con sistemas desconectados', icon:'company', accent:'#2878c8', soft:'#eef6ff', situation:'Una empresa utiliza distintas plataformas para ventas, contabilidad, logística y soporte. La información debe copiarse entre sistemas, los reportes requieren consolidación manual y cada área trabaja con versiones diferentes de los datos.', challenges:['Sistemas aislados','Duplicación de información','Reportes manuales','Baja trazabilidad entre áreas'], solutionComponents:[['Hub de integración','workflow','Punto central para conectar sistemas'],['Sincronización mediante APIs','blocks','Datos consistentes entre plataformas'],['Automatización de flujos','zap','Acciones coordinadas entre áreas'],['Dashboard ejecutivo','dashboard','Indicadores en una sola vista'],['Alertas de inconsistencias','alert','Detección de datos que requieren revisión'],['Reportes automáticos','report','Consolidación sin copiado manual'],['Seguimiento de operaciones','database','Historial y trazabilidad']], expectedImpact:[['Datos consistentes','Las áreas consultan información centralizada.'],['Menos duplicación','Se reduce el copiado de datos entre herramientas.'],['Mejor coordinación','Los departamentos trabajan sobre flujos conectados.'],['Procesos más ágiles','Las tareas administrativas pueden automatizarse.'],['Visibilidad directiva','La dirección obtiene una lectura integral.'],['Base preparada para crecer','La arquitectura admite nuevas áreas e integraciones.']] }, { id:'retail', industry:'Retail', title:'Comercio omnicanal', icon:'retail', accent:'#7957c5', soft:'#f5f1ff', situation:'Un comercio vende mediante tiendas físicas y canales digitales, pero cada canal administra inventario, precios y pedidos por separado. Esto limita la visibilidad del stock y complica devoluciones, promociones y atención al cliente.', challenges:['Inventario separado por canal','Precios inconsistentes','Devoluciones complejas','Información comercial fragmentada'], solutionComponents:[['Plataforma omnicanal','blocks','Operación común para todos los canales'],['Sincronización de inventario','database','Stock compartido y actualizado'],['Integración e-commerce y POS','workflow','Canales físicos y digitales conectados'],['Gestión central de precios','dashboard','Reglas comerciales desde un solo lugar'],['Flujo de devoluciones','report','Proceso consistente entre canales'],['Automatizaciones comerciales','zap','Acciones repetitivas coordinadas'],['IA cuando sea aplicable','analyze','Asistencia basada en datos disponibles']], expectedImpact:[['Inventario consistente','Los canales trabajan sobre existencias compartidas.'],['Ventas más ágiles','Los procesos comerciales tienen menos fricción.'],['Mejor experiencia','El cliente recibe atención coherente en cada canal.'],['Control comercial','Precios y promociones se administran centralmente.'],['Atención coordinada','Los equipos consultan el mismo contexto.'],['Nuevos canales','La solución puede extenderse con el crecimiento.']] }, ]; const ProcessRail = () =>
Así lo llevaríamos a cabo
  1. 01Discovery
  2. 02Diseño
  3. 03Desarrollo
  4. 04Lanzamiento
  5. 05Evolución
; const ScenarioPanel = ({ scenario }) => { const contactUrl = `contacto.html?servicio=${encodeURIComponent('Software personalizado')}&industria=${encodeURIComponent(scenario.industry)}&escenario=${encodeURIComponent(scenario.title)}`; return
Ejemplo ilustrativo · {scenario.industry}

{scenario.title}

Situación actual

{scenario.situation}

Desafíos detectados

{scenario.challenges.map(x=>{x})}

Solución propuesta

{scenario.solutionComponents.map(([title,icon,desc])=>
{title}{desc}
)}
; }; const CasApp = () => { const [active,setActive]=useStateC(0); const tabsRef=useRefC([]); const scenario=implementationScenarios[active]; const selectTab=(index,focus=false)=>{ const next=(index+implementationScenarios.length)%implementationScenarios.length; setActive(next); history.replaceState(null,'',`#${implementationScenarios[next].id}`); if(focus) tabsRef.current[next]?.focus(); }; const onKey=(e,i)=>{ if(e.key==='ArrowRight'||e.key==='ArrowDown'){e.preventDefault();selectTab(i+1,true)} if(e.key==='ArrowLeft'||e.key==='ArrowUp'){e.preventDefault();selectTab(i-1,true)} if(e.key==='Home'){e.preventDefault();selectTab(0,true)} if(e.key==='End'){e.preventDefault();selectTab(implementationScenarios.length-1,true)} }; useEffectC(()=>{ const id=location.hash.slice(1); const i=implementationScenarios.findIndex(x=>x.id===id); if(i>=0)setActive(i); },[]); return <>
Inicio/Escenarios
Software personalizado

Escenarios de implementación

Conoce cómo Martz Forge puede analizar procesos específicos y diseñar soluciones tecnológicas adaptadas a diferentes industrias.

Los siguientes son ejemplos ilustrativos y no representan proyectos ejecutados para clientes específicos.

{implementationScenarios.map((s,i)=>)}
; }; ReactDOM.createRoot(document.getElementById('root')).render();