Ir al contenido

Ingeniería de producto en todas las capas

Cinco años entregando productos de cara al cliente, servicios backend, sistemas de datos, migraciones en vivo y la infraestructura necesaria para operarlos.

Cronología

  1. Covent

    Ingeniero frontend sénior → Líder de equipo

    Actualidad

    Me incorporé a Covent, antes llamada Dispo Genius, como ingeniero frontend sénior y pasé a ser líder de equipo. Soy responsable de la arquitectura frontend, desarrollo sistemas backend, defino estándares de ingeniería y guío a tres ingenieros.

    • Propuse Covent MCP y lo lideré desde la idea hasta producción. El servicio en Go se lanzó con 23 herramientas de solo lectura, OAuth 2.0 y PKCE, acceso limitado por tenant, controles de crédito, registro estructurado, estado en PostgreSQL, analítica y documentación. Construí su proceso de entrega en EC2 con transferencia de imágenes Docker, comprobaciones de disponibilidad de la base de datos, copias de seguridad, migraciones, comprobaciones de estado por etapas, reversión e informes en Slack.

    • Concebí y lancé Covent Spotlight, un sistema de búsqueda inspirado en Mac Spotlight, y después lo extraje al paquete compartido @covent/spotlight, adoptado por Inbox y Prospecting. Coordina fuentes locales y del servidor, cancelación, paginación, navegación por teclado y conservación del estado; Prospecting usa Fuse.js para búsqueda aproximada. Un cliente describió la experiencia como un cambio radical.

    • Reduje el JavaScript de carga inicial en seis rutas de la aplicación al diferir proveedores pesados, interfaces respaldadas por SDK, pestañas y diálogos inactivos y código exclusivo de cada ruta. Los paquetes de producción bajaron entre un 26 % y un 40 %, incluido el de onboarding, de 482 a 295 kB, y el de campañas de listings, de 808 a 487 kB; el CEO de Covent lo calificó como una gran mejora.

    • Lidero y guío a un equipo de tres personas mientras actúo como responsable del código frontend, reviso trabajo de producto y arquitectura, defino estándares de ingeniería y sigo trabajando directamente en el código.

    • Asumí la transición de Covent desde su frontend heredado en CRA hasta una plataforma nativa en Next.js y React. Mantuve el puente de navegación y autenticación entre V1 y V2 durante la coexistencia y después eliminé el iframe y la capa de API heredada en el cambio definitivo.

    • Sustituí la generación multiagente precalculada por un flujo bajo demanda, reduciendo las llamadas a modelos un 96% en el caso documentado y el gasto mensual de unos $9.000 a unos $700.

    • Construí de principio a fin la Prospecting Insights API con Django y PostgreSQL, incluidas consultas agregadas y de ventana, histogramas de precios, clasificaciones de los principales inversores, claves canónicas de caché, pruebas e integración frontend tipada.

    • Reorganicé Investor Prospecting alrededor de APIs de propiedades en vivo, capas WebGL de Mapbox, búsquedas por ubicación, punto y polígono, estado acotado en el cliente, cancelación de solicitudes obsoletas y un acumulador FIFO de 10.000 propiedades.

    • Construí un Inbox en tiempo real con conversaciones virtualizadas, WebSockets con reconexión, envío optimista de SMS y correos electrónicos, reintentos y reversión, archivos adjuntos, traducción, plantillas, programación, rutas por URL y conservación del desplazamiento.

    • Diseñé y entregué Auth 2.0 con flujos XState, identidad duradera en Zustand, actualización serializada de tokens, OTP, SSO de Google y GHL, selección de ubicación, sincronización entre pestañas y recuperación de redirecciones.

    • Sustituí de forma independiente Vercel Flags por LaunchDarkly en superficies renderizadas en servidor y cliente, con evaluación segura ante fallos, sincronización de identidad, suscripciones reactivas, valores de respaldo y pruebas de regresión.

    • Construí procesos controlados de entrega con Vercel y GitHub Actions, informes de lanzamiento y reversión, observabilidad con Sentry y controles de calidad con E2E, Lighthouse y Unlighthouse.

    • React
    • TypeScript
    • Next.js
    • Go
    • Django
    • PostgreSQL
    • XState
    • Zustand
    • LaunchDarkly
    • WebSockets
    • AWS EC2
    • Sentry
  2. Metal

    Ingeniero frontend y backend

    Asumí de principio a fin el trabajo en operaciones de datos, comunicaciones, persistencia de borradores, formación frontend y herramientas de plataforma en una startup de captación de fondos con IA respaldada por Y Combinator y Andreessen Horowitz.

    • Entregué un DataOps Portal con control de versiones en 20 días, con renderizado de tablas arbitrarias, instantáneas, sobrescrituras a nivel de campo y datos relacionales entre fuentes por capas.

    • Construí de principio a fin, tanto en frontend como en backend, un sistema multinivel de borradores de notas con persistencia en Redis y respaldo en localStorage.

    • Trabajé en Networks and Communications Hub, entregué Communications Module dentro del plazo y lo documenté en una retrospectiva técnica.

    • Dirigí sesiones de Frontend 101 para ingenieros backend sobre el renderizado del navegador, DOM y CSSOM, el funcionamiento interno de React y la evolución de HTML, CSS y Next.js.

    • Construí un sistema global de ajustes controlado por URL con Nuqs y contribuí a las bases de Vitest, Playwright, LaunchDarkly y Mixpanel.

    • React
    • TypeScript
    • Next.js
    • Redis
    • Nuqs
    • Vitest
    • Playwright
    • LaunchDarkly
    • Mixpanel
    • NestJS
  3. Bleed AI

    Ingeniero de software

    Trabajé en un producto de IA en fase inicial, en entregas para clientes de agencia y en mis primeros servicios backend en producción.

    • Construí UpAutomate, un producto de búsqueda de empleos en Upwork con puntuación mediante LLM, filtros anidados y las API de OpenAI; alcanzó 150 usuarios de prueba.

    • Entregué aplicaciones React y Next.js para clientes de la agencia.

    • Construí servicios FastAPI y desplegué cargas de trabajo en contenedores en GCP con Docker.

    • React
    • Next.js
    • FastAPI
    • Docker
    • Google Cloud
    • OpenAI
    • Python
  4. TimeXperts / Workforce Software

    Ingeniero de software asociado → Ingeniero de software

    Trabajé integrado en Workforce Software a través de TimeXperts, entregando implementaciones empresariales de control de jornada y asistencia para Canon, Ornge y National Gypsum.

    • Refactoricé implementaciones de control horario y asistencia para Canon, Ornge y National Gypsum, y contribuí a generar más de $100.000 en ingresos entre los tres clientes empresariales.

    • Construí un Jira Comment Generator interno con Next.js que redujo en un 30% el tiempo necesario para crear comentarios.

    • Pasé de ingeniero de software asociado a ingeniero de software en aproximadamente tres meses.

    • React
    • TypeScript
    • JavaScript
    • Next.js
    • HTML
    • CSS
  5. ZUE

    Ingeniero de software júnior

    Trabajé en ZUE, una empresa de externalización de procesos empresariales con raíces en operaciones sanitarias.

    • Construí un panel de informes para clientes que facilitó la consulta de analíticas operativas y sanitarias.

    • Construí un sistema de asistencia y gestión conectado al dispositivo de control de asistencia por huella dactilar de la empresa.

    • Utilicé Python para limpiar y normalizar informes sanitarios, de entregas y de repartidores procedentes de múltiples fuentes antes de incorporarlos a Power BI, sustituyendo la preparación repetitiva de hojas de cálculo.

    • React
    • MUI
    • Bootstrap
    • HTML
    • CSS
    • Python
    • Pandas
  6. Trabajo independiente para clientes

    Ingeniero de software freelance

    Seis meses de trabajo profesional para clientes, centrado en productos de criptomonedas y entrega completa de frontend y backend.

    • Construí un monedero de criptomonedas completo, con visualizaciones de activos, precios e historial, y flujos de compra, venta, transferencia y transacciones mediante React, Ionic, Redux, Express y MongoDB.

    • Construí una plataforma educativa de pago para un cliente con Flask y SQLAlchemy, con cuentas para docentes y estudiantes, aulas, tareas, evaluaciones ponderadas, intentos repetidos, revisiones y clasificaciones.

    • React
    • Express
    • MongoDB
    • Flask
    • SQLAlchemy

Proyectos independientes

Sistemas que inicié y construí de principio a fin, incluidos productos de Covent que ya se usan en producción y proyectos privados en Go.

De la idea a producción en Covent

Covent MCP

Un sistema de Covent que propuse y dirigí desde la idea hasta producción. Su servicio en Go se lanzó con 23 herramientas de solo lectura, OAuth 2.0 y PKCE, acceso limitado por tenant, controles de crédito, registro estructurado, estado en PostgreSQL, analítica y un proceso de entrega en EC2 documentado.

  • Go
  • MCP
  • OAuth 2.0
  • PostgreSQL
  • AWS EC2
De la idea a producción en Covent

Covent Spotlight

Un paquete de búsqueda reutilizable inspirado en Mac Spotlight que concebí y llevé de la idea a producción en Covent. El paquete privado combina fuentes locales y del servidor, admite paginación cancelable y navegación por teclado, y usa Fuse.js en Prospecting para búsqueda aproximada. Hoy se usa internamente y está previsto publicarlo en npm.

  • React
  • TypeScript
  • Fuse.js
  • Async APIs
  • AbortSignal
De la idea a producción en Covent

Covent Codex

Una CLI en Go que se actualiza automáticamente y distribuye instrucciones, habilidades y flujos de trabajo versionados de Codex entre repositorios sin incorporarlos al código del producto. Conserva el contenido personal de AGENTS.md mediante bloques administrados, detecta cambios locales con sumas de comprobación SHA-256, muestra diferencias de líneas coloreadas antes de sincronizar, gestiona varios repositorios de destino y publica versiones de macOS verificadas mediante sumas de comprobación.

  • Go
  • CLI
  • SHA-256
  • GitHub Actions
Proyecto privado

Daftar

Un asistente profesional privado en Go que organiza proyectos, hitos y registros profesionales como datos tipados y paneles renderizados en el servidor.

  • Go
  • net/http
  • html/template
  • Typed JSON
En desarrollo

Khana

Un registro nutricional privado que controla las calorías semanales, estima la pérdida media de grasa a partir del TDEE y presenta gráficas ordenadas, informes renderizados en el servidor y registros. En desarrollo.

  • Go
  • net/http
  • html/template
  • JSON
  • go-chart
En desarrollo

Nethergate

Un inicializador de servidores de Minecraft en desarrollo que determina las versiones de Mojang, descarga en streaming los archivos del servidor, calcula su SHA-1 y rechaza los archivos cuya suma de comprobación no coincide.

  • Go
  • HTTP streaming
  • SHA-1
  • Mojang API

Sistemas anteriores y proyectos colaborativos

Los sistemas de producción, académicos y colaborativos que sentaron las bases de mi experiencia en ingeniería backend, algoritmos, software de escritorio y aprendizaje automático aplicado.

Empecé a programar a los 11 años con Turbo C y C. En 2017 usaba Visual Basic para crear una calculadora de costos de construcción que estimaba las cantidades de materiales y el costo total a partir de las dimensiones de la vivienda y los precios locales de los materiales. Ese trabajo inicial evolucionó hasta convertirse en los sistemas que aparecen a continuación.

Proyecto en producción

Truck Fleet Management

Construí un sistema de seguimiento de flotas con gestión de empresas y camiones basada en roles, últimas ubicaciones sobre un mapa e historial de ubicaciones. El artículo relacionado explica cómo trasladé las llamadas repetidas a la API de seguimiento a un microservicio programado en NestJS.

  • React
  • TypeScript
  • NestJS
  • MongoDB
  • Google Maps
Proyecto colaborativo

Dynamic Programmer

Codesarrollé una aplicación de escritorio con Electron que muestra diez problemas de programación dinámica mediante entradas interactivas y soluciones calculadas.

  • Electron
  • JavaScript
  • HTML
  • CSS
Proyecto académico

Visualized Pathfinding GUI

Construí un visualizador interactivo de A* con Python y Pygame, barreras definidas por el usuario, heurística Manhattan y reconstrucción animada de rutas.

  • Python
  • Pygame
  • Tkinter
  • A*
Proyecto colaborativo

Sentiment Analysis

Codesarrollé un clasificador Bi-LSTM de emociones en texto para seis clases, con una precisión reportada del 88,9 % sobre aproximadamente 22.000 comentarios etiquetados.

  • Python
  • TensorFlow
  • Keras
  • Bi-LSTM
  • GloVe