/* global React */ /* ---------- inline icons (rounded, friendly) ---------- */ const Ico = { Globe: () => , Heart: () => , Sun: () => , Spark: () => , Shield: () => , Users: () => , Smile: () => , Coin: () => }; /* ============================================================ HomeHero — joyful, with floating shapes + avatar cluster ============================================================ */ function HomeHero() { return (
{/* background blobs */}
🌴 EOR boutique · LatAm y el Caribe

Contrata personas
felices ,
no una plantilla.

Midorick es un Employer of Record boutique que ayuda a empresas en crecimiento a construir equipos dedicados y felices en LatAm y el Caribe — sin los dolores de cabeza del cumplimiento legal.

{/* visual cluster — playful globe with role chips */}
); } /* ============================================================ HomeRoles — softer card grid with colored icon swatches ============================================================ */ function HomeRoles() { const roles = [ { ico: "Users", tone: "mint", t: "Desarrolladores de software", n: "Full-stack · móvil · QA" }, { ico: "Smile", tone: "peach", t: "Agentes de servicio al cliente", n: "Bilingüe · cobertura 24/5" }, { ico: "Spark", tone: "butter", t: "Analistas de datos", n: "SQL · BI · reportes de operaciones" }, { ico: "Heart", tone: "sky", t: "Diseñadores gráficos", n: "Marca · web · producción" }, { ico: "Coin", tone: "lilac", t: "Contadores", n: "US GAAP · contabilidad" }, { ico: "Sun", tone: "mint", t: "Especialistas en marketing", n: "Pauta · contenido · ciclo de vida" }, { ico: "Globe", tone: "peach", t: "Reclutadores", n: "Búsqueda · selección" }, { ico: "Shield", tone: "sky", t: "Operaciones y back-office", n: "Admin · finanzas · asistentes virtuales" }]; return (
Ocho roles, un solo pipeline de confianza

Personas reales. Cuidadosamente seleccionadas.

Profesionales con dominio del inglés, evaluados en habilidad técnica, comunicación y encaje cultural — listos para integrarse a tu equipo en dos a cuatro semanas.

{roles.map((r, i) => { const Icon = Ico[r.ico]; return (
{r.t}

{r.n}

); })}
); } /* ============================================================ HomeWhyNearshore — soft mint section with playful cards ============================================================ */ function HomeWhyNearshore() { const cards = [ { ico: "Users", tone: "mint", t: "Talentosos y preparados", d: "Alegres, hospitalarios y capacitados — listos para innovar junto a tu equipo desde el primer día." }, { ico: "Sun", tone: "butter", t: "Colaboración en tiempo real", d: "AST todo el año. Las 9am hora del Este realmente significan las 9am — para todos en la llamada." }, { ico: "Coin", tone: "peach", t: "Flujo libre de aranceles", d: "Sin aranceles de importación/exportación entre RD y otros países en bienes o servicios." }, { ico: "Spark", tone: "sky", t: "Estable y de rápido crecimiento", d: "La economía de mayor crecimiento en la región, con un gobierno estable y una fuerza laboral joven." }, { ico: "Globe", tone: "lilac", t: "Dominio del inglés", d: "El inglés se enseña como segundo idioma en todo el país. Tus clientes no notarán la diferencia." }, { ico: "Heart", tone: "mint", t: "Boutique por diseño", d: "Dejamos de crecer en el punto donde cada cliente sigue teniendo un nombre, no un ticket." }]; return (
🌎 Por qué nearshore

La República del Talento.

Seis razones por las que las empresas eligen LatAm y el Caribe — y una razón por la que eligen Midorick.

{cards.map((c, i) => { const Icon = Ico[c.ico]; return (

{c.t}

{c.d}

); })}
); } /* ============================================================ HomeHowWeWork — friendly stepped cards with connectors ============================================================ */ function HomeHowWeWork() { const steps = [ { n: "01", emoji: "👂", t: "Escuchamos", d: "Dos llamadas, sin presentaciones. Conocemos el rol, el equipo, la zona horaria y los puntos innegociables." }, { n: "02", emoji: "🔎", t: "Buscamos", d: "Búsqueda activa de candidatos en nuestras redes de LatAm y el Caribe — no un simple filtro de base de datos." }, { n: "03", emoji: "🧪", t: "Evaluamos", d: "Evaluación técnica, cultural y de idioma antes de que un solo CV llegue a tu bandeja." }, { n: "04", emoji: "🤝", t: "Tú eliges", d: "De tres a cinco candidatos preseleccionados. Tú entrevistas. Tú decides. Avanzamos a tu ritmo." }, { n: "05", emoji: "🎉", t: "Contratamos e Incorporamos", d: "Configuración completa de Employer of Record: contrato, beneficios, nómina y equipo, listo desde el día uno." }, { n: "06", emoji: "💚", t: "Damos Soporte", d: "RR.HH. continuo, engagement y cumplimiento. Revisiones trimestrales. Aumentos anuales. Retención real." }]; return (
🌟 Cómo trabajamos

Del brief al primer pago
en veintiún días.

{steps.map((s) =>
{s.emoji}
PASO / {s.n}
{s.t}

{s.d}

)}
); } /* ============================================================ HomeChallengesSolved — soft peach panel ============================================================ */ function HomeChallengesSolved() { const items = [ "Acceso limitado a un amplio grupo de talento.", "Escasez de candidatos calificados.", "Altos costos laborales.", "Diferencia de zona horaria.", "Barrera de idioma y cultura.", "Procesos de reclutamiento y administración ineficientes.", "Riesgo de contratar contratistas permanentes.", "Malabares entre nómina, onboarding y encaje cultural."]; return (
💪 Tus retos, resueltos

Las ocho cosas que te impiden
contratar en el extranjero.

Cada uno es una tarde de martes cualquiera para nosotros. Ya los resolvimos, los documentamos y ahora aplicamos ese mismo manual con cada cliente.

    {items.map((x, i) =>
  • {x}
  • )}
); } /* ============================================================ HomeClients — animated marquee ============================================================ */ function HomeClients() { const list = ["ELLSWORTH", "NGAGE TALENT", "EWI RECRUITMENT", "+ 40 MÁS"]; const doubled = [...list, ...list, ...list, ...list]; return (
🤍 Con confianza desde 2020

Scale-ups y empresas medianas que nos eligen — y se quedan.

{doubled.map((c, i) =>
{c}
)}
); } /* ============================================================ HomeTestimonials — client feedback carousel ============================================================ */ function HomeTestimonials() { const testimonials = [ { quote: "El equipo de Midorick es un placer con quien trabajar. Muestran sentido de urgencia y hacen un gran trabajo encontrando a los mejores candidatos para entrevistar. Pudimos incorporar 6 recursos en RD en mes y medio con la ayuda del equipo de Midorick.", client: "Cliente Verificado", sector: "Sector Tecnológico", source: "Encuesta Anual de Satisfacción del Cliente, abril 2026" }, { quote: "El equipo de Midorick es muy profesional y amable, y nos ha ayudado mucho con nuestras solicitudes. ¡Su evento en Dave and Busters también fue un éxito con mi equipo!", client: "Cliente Verificado", sector: "Sector Tecnológico", source: "Encuesta Anual de Satisfacción del Cliente, abril 2026" }, { quote: "Jean ha sido excelente para trabajar y encontró 2 grandes candidatos muy temprano en el proceso. ¡Quedé muy impresionado!", client: "Cliente Verificado", sector: "Sector Tecnológico", source: "Encuesta Anual de Satisfacción del Cliente, abril 2026" } ]; const [current, setCurrent] = React.useState(0); const [paused, setPaused] = React.useState(false); const count = testimonials.length; React.useEffect(() => { if (paused) return; const timer = setInterval(() => { setCurrent(c => (c + 1) % count); }, 6000); return () => clearInterval(timer); }, [paused, count]); const go = (dir) => { setCurrent(c => (c + dir + count) % count); }; return (
setPaused(true)} onMouseLeave={() => setPaused(false)}>
💬 Lo que dicen nuestros clientes

No solo confíes en nuestra palabra.

{/* slides */}
{testimonials.map((t, i) => (
"

{t.quote}

{t.client}
{t.sector}
Fuente: {t.source}
))}
{/* controls */}
{/* dots */}
{testimonials.map((_, i) => (
{/* arrows */}
); } /* ============================================================ HomeQuote — soft butter card ============================================================ */ function HomeQuote() { return (
💬 De un cliente de cinco años

"Contratamos a cuatro ingenieros y un diseñador a través de Midorick durante dos años. Las mismas cinco personas siguen aquí. Eso nunca había sido nuestra experiencia con un partner de staffing antes — y es la única razón por la que recomendaríamos uno."

VP
VP de Ingeniería
SaaS mediano · cliente desde 2021
); } /* ============================================================ HomeCTA — friendly mint band with floating shapes ============================================================ */ function HomeCTA() { return (
🎯 Listos cuando tú lo estés

Ahorra 38% en costos de contratación.
Conserva al equipo que amas.

Una consulta de 30 minutos, sin presentaciones. Trae un rol, un plan de contratación o solo una pregunta — y te daremos nuestra opinión honesta.

); } /* ============================================================ HeroGlobe — playful spinning globe with role chips orbiting ============================================================ */ function HeroGlobe() { // Role chips placed around the globe at fixed angles + radii. // Each has a small dot color and a hint of where the talent role lives. const roles = [ { t: "Ingeniero de Automatización", n: "RPA · flujos", a: -90, r: 0.85, tone: "amber", trending: true }, { t: "Asociado Jr. de IA", n: "Prompts · operaciones", a: -45, r: 0.95, tone: "deep", trending: true }, { t: "Contadores", n: "US GAAP · contabilidad", a: 90, r: 0.85, tone: "amber" }, { t: "Finanzas", n: "FP&A · controles", a: 45, r: 0.95, tone: "deep" }, { t: "RR.HH.", n: "Gestión de personas", a: 0, r: 0.85, tone: "amber" }, { t: "Servicio al Cliente", n: "Bilingüe · 24/5", a: 135, r: 0.95, tone: "deep" }, { t: "Administración", n: "EA · back-office", a: 180, r: 0.85, tone: "amber" }, { t: "Marketing", n: "Contenido · ciclo de vida", a: 225, r: 0.95, tone: "deep" }]; return (
{/* role chips, absolutely placed around the globe */} {roles.map((r, i) => { const rad = r.a * Math.PI / 180; const x = 50 + Math.cos(rad) * 50 * r.r; const y = 50 + Math.sin(rad) * 50 * r.r; return (
{r.trending && Tendencia }
{r.t}
{r.n}
); })} {/* the globe itself */}
{/* meridians + parallels */} {/* equator + parallels */} {/* meridians */} {/* outer ring */} {/* Continents — dotted-map style for a globe */} {/* dotted texture */} {/* Americas-centered land masses, filled with the dot pattern */} {/* North America */} {/* Central America narrow strip → Panama */} {/* South America */} {/* Greenland */} {/* Africa (peeking in on the right) */} {/* Western Europe (small, peeking) */}
{/* orbit rings around the globe */}
{/* sparkles */}
); } Object.assign(window, { HomeHero, HomeRoles, HomeWhyNearshore, HomeHowWeWork, HomeChallengesSolved, HomeClients, HomeTestimonials, HomeQuote, HomeCTA, HeroGlobe });