{
  "$schema": "https://raw.githubusercontent.com/jsonresume/resume-schema/master/schema.json",
  "basics": {
    "name": "Christian Elías Cruz González",
    "label": "Senior Fullstack Engineer — SaaS & Integrations",
    "email": "contacto@christianecg.com",
    "phone": "+52 772 120 2886",
    "url": "https://christianecg.com",
    "summary": "Senior Fullstack Engineer con más de 5 años entregando sistemas en producción. Ownership técnico end-to-end: construyo, opero y escalo — desde plataformas con más de 150K usuarios hasta productos propios con facturación real. Especializado en agentic workflows, LLM integrations y sistemas diseñados para operar con mínima intervención.",
    "location": {
      "address": "México · CDMX / Hidalgo"
    },
    "profiles": [
      {
        "network": "GitHub",
        "url": "https://github.com/ChristianECG"
      },
      {
        "network": "LinkedIn",
        "url": "https://linkedin.com/in/christianeliascg"
      }
    ]
  },
  "work": [
    {
      "name": "Clever Cloud · México (Remoto)",
      "position": "Software Developer",
      "startDate": "2021-07-01",
      "endDate": "2022-06-01",
      "highlights": [
        "Desarrollé e integré sitios (e-commerce, landing pages, blogs) sobre el CMS propietario de la empresa, siendo responsable del ciclo completo: toma de requerimientos con el cliente, traducción a specs técnicas para un equipo de 5 devs, implementación y entrega.",
        "Diseñé e implementé pixel-perfect una landing page a partir de mockups de diseñadora gráfica, coordinando entregas directamente con el cliente hasta aprobación final.",
        "Definí los flujos de CI/CD y el pipeline dev – staging – producción, adoptados como estándar del equipo."
      ],
      "summary": "Stack: React, Vue, PHP, MySQL, GitHub Actions, CI/CD."
    },
    {
      "name": "Ubidots · Medellín, Colombia (Remoto)",
      "position": "Mid-Level Software Engineer",
      "startDate": "2022-06-01",
      "endDate": "2024-02-01",
      "highlights": [
        "Implementé módulo de pagos con Stripe y migré el sistema de fetching a TanStack Query, eliminando estados duplicados y habilitando la conversión directa de freemium a pago.",
        "Construí y mantuve la app móvil (iOS + Android) en React Native, entregando nuevas funcionalidades de plataforma directamente a los usuarios finales.",
        "Participé en el diseño e implementación de componentes clave del sistema de dashboards IoT en tiempo real."
      ],
      "summary": "Stack: React, TypeScript, React Native, TanStack Query, Stripe, WebSockets, Node.js, Jest."
    },
    {
      "name": "Ubidots · Medellín, Colombia (Remoto)",
      "position": "Senior Software Engineer",
      "startDate": "2024-02-01",
      "endDate": "2026-05-01",
      "highlights": [
        "Lideré arquitectura y performance de una plataforma IoT SaaS con más de 150K usuarios activos y datos en tiempo real vía WebSockets.",
        "Reduje tiempos de carga de dashboards de 8s a 5s (-37%) y optimicé rendering de widgets ECharts de 30s a menos de 15s (-50%) mediante virtualización, memoization y canvas rendering.",
        "Acorté el ciclo de release de 50 a 20 min (-60%), reduciendo friction de entrega para un equipo de más de 20 desarrolladores.",
        "Establecí estándares de calidad, ESLint plugin interno y guías de code review adoptadas por todo el equipo; mentoreé a 2 ingenieros junior mediante pair programming y revisiones estructuradas."
      ],
      "summary": "Stack: React, TypeScript, ECharts, TanStack Query, WebSockets, Node.js, ESLint (plugin interno), Jest, GitHub Actions."
    },
    {
      "name": "Capital One · Ciudad de México (Híbrido)",
      "position": "Senior Software Engineer (Principal Associate)",
      "startDate": "2026-01-01",
      "endDate": "2026-08-19",
      "highlights": [
        "Incorporación al equipo fundacional de Full Stack Engineers de Capital One en México, con enfoque en Java y ramp-up activo sobre el stack de la plataforma."
      ],
      "summary": "Stack: Java, React, Node.js, AWS (en ramp-up)."
    }
  ],
  "projects": [
    {
      "name": "TuAgenda.digital",
      "description": "SaaS de automatización de citas actualmente en operación, con 5 clientes activos en los primeros 3 meses y facturación recurrente vía Stripe: booking white-label, portal de cliente sin login, recordatorios por email/SMS y agente de IA en WhatsApp con OpenAI en producción — atendiendo reservas 24/7 y reduciendo la carga operativa manual en ~80%.",
      "url": "https://tuagenda.digital",
      "keywords": [
        "Next.js 15",
        "Supabase",
        "Stripe",
        "Twilio",
        "OpenAI",
        "Vercel Edge"
      ]
    },
    {
      "name": "Squawk",
      "description": "Dashboard de aviación global en tiempo real: datos ADS-B vía OpenSky Network, worker Node.js con SQLite (WAL mode), mapa de densidad con deck.gl + MapLibre, 6 gráficas en vivo con ECharts y alertas de squawks de emergencia (7700/7600/7500) sobre streaming SSE cada 5s.",
      "url": "https://squawk.creu.cat",
      "keywords": [
        "Next.js 15",
        "TypeScript",
        "deck.gl",
        "MapLibre",
        "ECharts",
        "SQLite",
        "SSE"
      ]
    },
    {
      "name": "Avelor",
      "description": "Ecosistema de 17 herramientas CLI publicadas en npm bajo @avelor. Destacan: mesh (proxy local con HTTPS y fault injection), floo (deployment agent SSH con GitHub Action y Homebrew tap), bifrost (WebSocket tunnel autoalojado) y mira (uptime monitor con página de estado estática). Cada herramienta elimina una dependencia de tercero en producción.",
      "url": "https://pkg.avelor.es",
      "keywords": [
        "Node.js",
        "CLI",
        "npm",
        "WebSocket",
        "SSH",
        "self-hosted"
      ]
    },
    {
      "name": "Stratum",
      "description": "Herramienta de arte generativo que convierte 75 años de datos meteorológicos históricos en visualizaciones de franjas de color por ciudad. Temperatura diaria, precipitación y horas de sol se codifican como grosor, tono y superposición; exportable en SVG, PNG y PDF sin servidor.",
      "url": "https://stratum.creu.cat",
      "keywords": [
        "React",
        "TypeScript",
        "Vite",
        "ECharts",
        "Open-Meteo"
      ]
    },
    {
      "name": "Loft",
      "description": "Implementación de referencia de RFC 1149 (IP sobre portadores aviares): rastreo en tiempo real de paquetes IP transportados por palomas. Física de vuelo modelada con datos meteorológicos reales, mapa global con rutas de gran círculo, streaming SSE y soporte en tres idiomas incluyendo latín.",
      "url": "https://loft.creu.cat",
      "keywords": [
        "Next.js",
        "SQLite",
        "MapLibre",
        "SSE",
        "i18n"
      ]
    }
  ],
  "skills": [
    {
      "name": "Frontend & Mobile",
      "keywords": [
        "React",
        "Next.js",
        "TypeScript",
        "JavaScript (ES2021+)",
        "React Native",
        "HTML5",
        "CSS3",
        "design systems"
      ]
    },
    {
      "name": "Backend & Infraestructura",
      "keywords": [
        "Node.js",
        "PHP",
        "PostgreSQL",
        "MySQL",
        "Supabase (PostgreSQL + real-time)",
        "Vercel (Edge Functions",
        "serverless)",
        "Docker",
        "VPS (Linux",
        "self-hosted)",
        "GitHub Actions (CI/CD)",
        "REST APIs",
        "Stripe",
        "Twilio"
      ]
    },
    {
      "name": "AI / LLM Integration",
      "keywords": [
        "Claude API",
        "OpenAI API",
        "agentic workflows",
        "LLM agents en producción",
        "prompt engineering",
        "AI-augmented development"
      ]
    },
    {
      "name": "Calidad & Tooling",
      "keywords": [
        "ESLint (plugins custom)",
        "Jest",
        "React Testing Library",
        "Git",
        "code reviews",
        "Claude Code",
        "GitHub Copilot"
      ]
    },
    {
      "name": "Datos en Tiempo Real",
      "keywords": [
        "TanStack Query",
        "WebSockets",
        "REST APIs",
        "ECharts",
        "D3.js",
        "rendering optimization"
      ]
    },
    {
      "name": "Arquitectura & Prácticas",
      "keywords": [
        "Scalable architecture",
        "performance optimization",
        "real-time systems",
        "design systems",
        "state patterns",
        "a11y",
        "Agile methodology",
        "Scrum"
      ]
    }
  ],
  "education": [
    {
      "institution": "ITSOEH · Tecnológico Nacional de México",
      "area": "Ing. en Tecnologías de la Información y Comunicaciones",
      "startDate": "2018-01-01",
      "endDate": "2022-01-01"
    },
    {
      "institution": "Platzi · Admisión por proceso de selección",
      "area": "Platzi Master Program · Cohorte 8",
      "startDate": "2021-10-01",
      "endDate": "2022-03-01"
    }
  ],
  "languages": [
    {
      "language": "Español",
      "fluency": "Nativo / C2"
    },
    {
      "language": "Inglés",
      "fluency": "Upper-Intermediate / B2 · EF SET"
    }
  ],
  "interests": [
    {
      "name": "Actividad Técnica",
      "keywords": [
        "Publica en octa.page investigaciones de runtime, decisiones de arquitectura y notas de sistemas — un registro público del razonamiento técnico detrás de los proyectos.",
        "Autor publicado en IEEE Xplore — \"Security Issues of a Decentralized Blockchain-Based Messaging System\" (VII CONIITI, Universidad Católica de Colombia, 2021).",
        "Keynote speaker en el 5° Congreso Internacional de Software, UAEH (2025) y en el Congreso Internacional de Ingeniería, ITSOEH (2025).",
        "Google Developer Student Club Lead — lideré comunidad de más de 60 estudiantes y organicé más de 20 eventos técnicos (2020-2021).",
        "Apariciones en Radio y Televisión de Hidalgo — programas Con Ciencia y Ya es Hora."
      ]
    }
  ],
  "meta": {
    "canonical": "https://christianecg.com/es/cv.json",
    "version": "v1.0.0",
    "lastModified": "2026-08-19T03:20:41.051Z"
  }
}