/* SOLUCIONES — detailed page */ const SolHero = () => (
Inicio / Soluciones

Soluciones que se pagan solas en menos de un trimestre.

Cada servicio está pensado para resolver un problema específico de tu operación. Sin paquetes que pagas y no usas, sin dependencias eternas, sin sorpresas en la factura.

); const SolBigNums = () => (
100%
El código es tuyo
0
Licencias por usuario
5–7
Días para landing page
8
Semanas para SaaS MVP
); const SolDetailCard = ({ id, num, name, tag, desc, includes, deliverables, price, priceUnit, priceNote, cta, accent = false }) => (
{num}Solución · {name}

{name}

{tag}

{desc}

{deliverables.map((d, i) => (
{d.t}{d.d}
))}
{accent && Más solicitado}

Qué incluye

    {includes.map((i, idx) => (
  • {i}
  • ))}
{priceUnit}
{price}
{priceNote}
{cta} →
); const Compare = () => (
Comparativa

¿Software a medida vs. SaaS genérico?

A largo plazo, lo que parece "más caro" termina siendo lo más rentable.

Aspecto
SaaS genérico
martz forge
{[ ['Encaja con tu operación', false, 'Diseñado para tus reglas'], ['Costo a 3 años', '$18k+ para tu equipo', 'Pago único + soporte'], ['Modificable sin permisos', false, 'Tu equipo cambia lo que necesite'], ['Tus datos son tuyos', 'Exportables, parcialmente', 'Base de datos, código, IP'], ['Integraciones', 'Limitadas a su catálogo', 'Cualquier API existente'], ['Soporte técnico', 'Tickets en cola', 'Slack directo, <2h'], ].map((row, i) => (
{row[0]}
{row[1] === false ? <> No : row[1]}
))}
); const solutions = [ { id: 'custom', num: '01', name: 'Software a medida', tag: 'Plataformas SaaS · ERP · CRM custom', desc: 'Construimos sistemas que respiran como tu negocio: tus reglas, tu flujo, tu lenguaje. Sin licencias por usuario, sin features inútiles, sin negociar con el roadmap de un tercero.', deliverables: [ { t: 'Especificación funcional', d: 'Documento vivo con flujos y reglas.' }, { t: 'Arquitectura escalable', d: 'Cloud-native, lista para crecer 100×.' }, { t: 'Código en tu repositorio', d: 'GitHub privado, MIT-license interna.' }, { t: 'Documentación + handover', d: 'Tu equipo puede tomarlo cuando quiera.' }, ], includes: [ 'Análisis de operación (2 semanas)', 'Diseño UX/UI dedicado', 'Desarrollo full-stack (React + Node + Postgres)', 'Despliegue en cloud (AWS / GCP / propio)', 'Integraciones con sistemas existentes', 'Capacitación al equipo', '3 meses de soporte incluido', ], price: 'A consultar', priceUnit: 'Inversión típica', priceNote: '$4,500 — $45,000 USD según alcance', cta: 'Agendar consulta', accent: true, }, { id: 'web', num: '02', name: 'Desarrollo Web', tag: 'Sitios corporativos · Landing pages · Apps web', desc: 'Tu primer punto de contacto digital, hecho como debe hacerse: rápido, accesible, optimizado para convertir y fácil de mantener para tu equipo.', deliverables: [ { t: 'Diseño dedicado', d: 'No template — diseñado para tu marca.' }, { t: 'Performance >95', d: 'Lighthouse, Core Web Vitals.' }, { t: 'CMS opcional', d: 'Editas el contenido sin tocar código.' }, { t: 'Analítica configurada', d: 'GA4, Hotjar, eventos custom.' }, ], includes: [ 'Diseño 100% personalizado', 'Hasta 8 secciones / 5 páginas', 'Responsive mobile-first', 'SEO técnico + meta tags', 'Formulario de contacto + automation', 'Hosting + dominio configurado', '30 días de ajustes incluidos', ], price: '$299', priceUnit: 'Desde', priceNote: 'USD + IVA / proyecto', cta: 'Solicitar cotización', accent: false, }, { id: 'auto', num: '03', name: 'Automatización de procesos', tag: 'Workflows · Integraciones · Webhooks', desc: 'Cada hora que tu equipo dedica a copiar datos entre sistemas es dinero perdido. Automatizamos el aburrido para que se enfoquen en lo importante.', deliverables: [ { t: 'Mapa de procesos actuales', d: 'Identificamos qué automatizar primero.' }, { t: 'Workflows custom', d: 'En tu stack o con n8n / Make.' }, { t: 'Reportes automáticos', d: 'En Slack, email o dashboard.' }, { t: 'Alertas inteligentes', d: 'Solo cuando alguien debe actuar.' }, ], includes: [ 'Diagnóstico de procesos (1 semana)', 'Implementación por flujos (sprints de 2 sem)', 'Conectores: Stripe, HubSpot, Notion, etc.', 'Reportes ejecutivos automatizados', 'Documentación de cada flujo', ], price: '$2,400', priceUnit: 'Por flujo desde', priceNote: 'USD + IVA · pack de 5 con descuento', cta: 'Diagnóstico gratuito', accent: false, }, { id: 'ai', num: '04', name: 'IA aplicada', tag: 'Asistentes · Predicción · Análisis', desc: 'No vendemos IA por moda. La integramos donde mueve la aguja: agendamiento, clasificación, predicción de demanda, asistentes que entienden tu base de conocimiento.', deliverables: [ { t: 'Asistentes contextuales', d: 'Que saben de TU negocio, no de internet.' }, { t: 'Predicción de demanda', d: 'Modelos sobre tus datos históricos.' }, { t: 'Clasificación inteligente', d: 'Tickets, leads, productos, pacientes.' }, { t: 'Resúmenes diarios', d: 'IA que te cuenta lo que importa.' }, ], includes: [ 'Auditoría de datos disponibles', 'RAG sobre tu base de conocimiento', 'Integración con tu sistema actual', 'Dashboard de uso y precisión', 'Costo de API optimizado', ], priceTiers: [ { unit: 'MÓDULO BÁSICO — ADD-ON DESDE', price: '$1,200', note: 'USD / módulo · sobre proyecto base', includes: 'Incluye: asistentes contextuales, resúmenes diarios, clasificación inteligente' }, { unit: 'MÓDULO AVANZADO — ADD-ON DESDE', price: '$3,500', note: 'USD / módulo · sobre proyecto base', includes: 'Incluye: RAG sobre datos privados, predicción de demanda, agentes autónomos' } ], cta: 'Explorar IA', accent: false, }, { id: 'integ', num: '05', name: 'Integraciones', tag: 'APIs · Webhooks · ETL', desc: 'Tu CRM, tu ERP, tu pasarela, tu e-commerce: que hablen entre sí en tiempo real, sin Excel intermedio, sin información duplicada, sin errores de captura.', deliverables: [ { t: 'Mapa de sistemas actuales', d: 'Qué se conecta con qué (y cómo).' }, { t: 'API gateway unificado', d: 'Un solo punto de control.' }, { t: 'Sincronización en vivo', d: 'Cambios reflejados en segundos.' }, { t: 'Reintentos + observabilidad', d: 'Fallas detectadas antes que tú.' }, ], includes: [ 'Auditoría de sistemas', 'Conectores: Stripe, Shopify, HubSpot, SAP, Odoo', 'Sincronización bidireccional', 'Manejo de errores robusto', 'Dashboard de salud de integraciones', ], price: '$1,800', priceUnit: 'Por integración', priceNote: 'USD + IVA · descuentos por volumen', cta: 'Cotizar integración', accent: false, }, { id: 'mant', num: '06', name: 'Mantenimiento IT', tag: 'Soporte · Hardening · Evolución', desc: 'Tu sistema no se queda quieto: necesita parches, optimización, nuevas features. Te acompañamos con un acuerdo de soporte por escrito, no con un email que responde "mañana revisamos".', deliverables: [ { t: 'Soporte por escrito', d: 'Tiempos de respuesta acordados contigo.' }, { t: 'Hardening de seguridad', d: 'Auditorías y parches periódicos.' }, { t: 'Roadmap mensual', d: 'Mejoras priorizadas con tu equipo.' }, { t: 'Slack directo con devs', d: 'Sin pasar por tickets.' }, ], includes: [ 'Soporte cercano y directo', 'Tiempos de respuesta acordados', 'Parches de seguridad periódicos', 'Optimización de performance', 'Hasta 20h dev/mes incluidas', ], price: '$390', priceUnit: 'Plan mensual desde', priceNote: 'USD / mes · incluido en planes SaaS', cta: 'Ver planes', accent: false, }, ]; const SolApp = () => { const [active, setActive] = React.useState(0); // Scroll to hash on mount and hash change React.useEffect(() => { const handleHashChange = () => { const hash = window.location.hash; if (hash) { const id = hash.replace('#', ''); const index = solutions.findIndex(s => s.id === id); if (index !== -1) { setActive(index); setTimeout(() => { // Scroll to the proc-window with offset to position it better const procWindow = document.querySelector('.proc-window'); if (procWindow) { const y = procWindow.getBoundingClientRect().top + window.pageYOffset - 300; window.scrollTo({ top: y, behavior: 'smooth' }); } }, 150); } } }; // Check on mount handleHashChange(); // Listen for hash changes window.addEventListener('hashchange', handleHashChange); return () => { window.removeEventListener('hashchange', handleHashChange); }; }, []); const nextSol = () => { if (active < solutions.length - 1) setActive(active + 1); }; const prevSol = () => { if (active > 0) setActive(active - 1); }; const currentSol = solutions[active]; return ( <>
Soluciones

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

{/* Tabs */}
{solutions.map((s, i) => ( ))}
{/* Content Window */}
{currentSol.num} {currentSol.tag}

{currentSol.name}

{currentSol.desc}

{currentSol.deliverables.map((d, i) => (
{d.t}{d.d}
))}
{currentSol.accent && Más solicitado}

Qué incluye

    {currentSol.includes.map((item, idx) => (
  • {item}
  • ))}
{currentSol.priceTiers ? (
{currentSol.priceTiers.map((tier, idx) => (
{tier.unit}
{tier.price}
{tier.note}
{tier.includes}
))}
) : ( <>
{currentSol.priceUnit}
{currentSol.price}
{currentSol.priceNote}
)}
{currentSol.cta} →
{/* Navigation */}
{solutions.map((_, i) => ( ))}
); }; ReactDOM.createRoot(document.getElementById('root')).render();