Ingeniero full-stack que construye sistemas de IA medibles.

Llevo a producción backends en Node.js y NestJS desde 2020. Ahora construyo agentes de IA, RAG y evals en TypeScript y Python, y llevo cada uno por todo el flujo: pruebas, evals, CI, despliegue, monitoreo, logging y trazabilidad.

  • Ingeniero Full-Stack y de IA
  • Manta, Ecuador
  • UTC-5, horario laboral de EE. UU.
Retrato de Ariel Bailón
Ariel BailónAbierto a roles remotos

Cómo trabajo

Construyo con agentes de código de IA todos los días, sobre AI Blueprint. El plan, las specs y el historial viven como archivos en el repo, y nada se entrega sin pasar su spec.

  1. 1

    Spec

    /feature

    El agente redacta la spec. Yo defino el alcance, las reglas y qué significa "terminado", y la apruebo.

  2. 2

    Construir

    /implement

    El agente implementa la spec aprobada paso a paso. Yo reviso cada diff.

  3. 3

    Probar

    /check

    Pruebas, chequeo de tipos y lint se ejecutan contra la spec. Nada avanza en rojo.

  4. 4

    Cerrar

    /complete

    La spec se archiva junto al código. Cada bug tiene un registro de arreglo con su causa.

31 specs de features y 15 registros de arreglos archivados en tres repos públicos.

Busca blueprint/history/ en cualquiera de ellos.

Proyectos seleccionados

Sistemas de IA que diseñé y construí de punta a punta, y los backends de producción que vinieron antes.

En producción en AWSTypeScript, oct 2026

OrderOps Agent

Agente de soporte de una tienda: responde sobre políticas, consulta pedidos y propone reembolsos que aprueba un operador.

  • Un grafo de agente con 4 rutas (políticas, pedidos, reembolsos, fuera de alcance). Las reglas de reembolso viven en código, no en el prompt, y un operador aprueba cada reembolso.
  • En AWS con CI/CD en GitHub Actions: cada merge se despliega solo, con smoke test y rollback automático.
  • Cada solicitud queda trazada en un dashboard en vivo y en Langfuse: cerca de $0.012 por conversación, con latencia p50/p95 y tasa de failover.
  • 41/41 casos de eval aprobados, 13 de ellos adversariales, como control de regresión en cada pull request. 457 pruebas automatizadas.
  • NestJS
  • LangGraph.js
  • LangChain.js
  • PostgreSQL + pgvector
  • Prisma
  • Zod
  • GitHub Actions
  • AWS
  • Langfuse
  • Next.js
Cómo está hecho

Por qué las reglas viven en código

El modelo convierte el mensaje en una solicitud estructurada; 4 funciones simples deciden si está permitida. A un prompt se le puede convencer de saltarse una regla. A una función no.

Por qué el agente solo ve tus pedidos

El token de sesión del cliente viaja con cada tool call, así que la autorización se queda donde ya vivía.

Modelos y memoria

Anthropic, OpenAI y AWS Bedrock detrás de una sola interfaz, con failover automático y prompt caching. El agente recuerda cada conversación y datos útiles de cada cliente, en PostgreSQL.

Despliegue

Una instancia EC2 de AWS detrás de Caddy con TLS automático y un rol IAM de instancia, sin access keys en el servidor. Cada pull request corre lint, typecheck, pruebas unitarias y e2e, un chequeo de migraciones y evals sin claves. Cada merge se despliega con OIDC, imágenes en ECR etiquetadas por commit, SSM, un smoke test y rollback automático.

Por qué una sola instancia EC2

Es una demo. ECS Fargate con RDS y un balanceador de carga cuesta varias veces más; es el siguiente paso documentado para escalar.

Observabilidad

Cada solicitud guarda su ruta, herramientas, proveedor, failover, tokens, costo y latencia en PostgreSQL, más spans de Langfuse por nodo del grafo. La demo muestra cada decisión con su costo y latencia, y un dashboard con latencia p50/p95, costo por conversación y tasa de failover. La cifra de $0.012 viene de una carga de demo de 40 solicitudes.

Evals

41 casos: 20 normales, 8 fuera de alcance y 13 adversariales, todos aprobados en la última corrida. Cada pull request corre los chequeos sin claves y falla si la tasa de aprobación baja más de 10%.

Protecciones de la demo pública

Límites de solicitudes por IP y por cliente (30 mensajes de chat por minuto por cliente), un tope de $1 al día en gasto de modelos con una respuesta fija al superarlo, y un reinicio nocturno de los datos.

Proyecto personalPython, sep 2026

EDGAR Analyst

Responde preguntas sobre empresas públicas a partir de sus reportes a la SEC y sus earnings calls, citando el reporte y la sección exactos. Construido en una semana.

  • Chunking por secciones sobre reportes 10-K y 10-Q y transcripciones de earnings calls, cerca de 2,400 chunks citables.
  • Rechaza antes de llamar al modelo cuando la evidencia es débil, así que las preguntas fuera de tema no cuestan nada.
  • 22 pares de eval etiquetados a mano, evaluados por precisión de citas y relevancia de la respuesta.
  • Cerca de 2 segundos y $0.002 por respuesta, registrados por consulta. 122 pruebas automatizadas.
  • Python
  • Anthropic API
  • ChromaDB
  • sentence-transformers
  • Pydantic
  • pytest
Lo que mostró el eval

La precisión de citas es 27%. El modelo no está inventando: el pasaje que el eval espera muchas veces no está entre los cinco recuperados, así que es un problema de retrieval, no de generación. Lo siguiente es probar un top-k mayor, un modelo de embeddings más fuerte y títulos de sección dentro del texto embebido.

En progresoPython, 2026

CodeSage fase 2 de 4

Responde preguntas sobre un repositorio de código, citando archivo y línea.

  • Un servicio FastAPI que transmite explicaciones de código estructuradas por SSE.
  • Reintentos con backoff, costo registrado por solicitud y tres prompts versionados con changelog.
  • Código dividido por función y clase con el árbol de sintaxis de Python, documentos divididos por sección, guardados en pgvector.
  • Siguiente: búsqueda híbrida, re-ranking y citas con archivo y línea.
  • Python
  • FastAPI
  • Pydantic
  • PostgreSQL + pgvector
Producción, en UltahostEstados Unidos, 2025

APIs de plataforma de hosting

APIs de backend para una empresa de hosting web, construidas con NestJS y TypeScript.

  • Reduje los tiempos de respuesta de la API cerca de 35% con optimización de consultas y caché.
  • Construí y mantuve servicios REST y GraphQL integrados con sistemas internos y de terceros.
  • Trabajé en una arquitectura de microservicios sobre MySQL para sistemas de alta disponibilidad.
  • NestJS
  • TypeScript
  • GraphQL
  • MySQL
Producción, en Mushroomsoft-ITQuito, 2023 a 2024

Backend de plataforma micro-frontend

Servicios de backend para una plataforma micro-frontend construida con NestJS y Angular.

  • Reduje los tiempos de carga cerca de 25% con índices en PostgreSQL y optimización de consultas.
  • Diseñé modelos de datos en PostgreSQL y MongoDB para un sistema con más de 50,000 registros activos.
  • Contenericé las apps con Docker, eliminando los incidentes de configuración del equipo.
  • Lideré revisiones de código semanales y definí estándares de calidad para un equipo de cinco.
  • NestJS
  • Angular
  • PostgreSQL
  • MongoDB
  • Docker

Experiencia

  • Ingeniero Full-Stack y de IA Independientejul 2026 – presente

    Construyo sistemas de IA de punta a punta: OrderOps Agent, EDGAR Analyst y CodeSage.

  • Desarrollador Backend Ultahost, Estados Unidosago 2025 – oct 2025

    APIs en NestJS y GraphQL; tiempos de respuesta reducidos cerca de 35%.

  • Desarrollador Full Stack Mushroomsoft-IT, Quitojun 2023 – ene 2024

    Backend micro-frontend; tiempos de carga reducidos cerca de 25%; lideré revisiones de código.

  • Desarrollador Full Stack Zgameslatam, Mantajun 2022 – jun 2023

    APIs REST para un ERP interno con cerca de 200 transacciones al día; latencia promedio reducida cerca de 20% con ajustes de NGINX; despliegues en AWS y DigitalOcean.

  • Desarrollador Full Stack Junior Consulti, Guayaquilsep 2020 – jun 2022

    APIs en Node.js y Spring Boot para una plataforma de e-commerce con más de 5,000 productos; tiempo de despliegue reducido cerca de 40% con Docker y NGINX.

Stack

IA y LLMsClaude, OpenAI, AWS Bedrock, salidas estructuradas, prompt caching
Agentes y RAGLangGraph, LangChain, pgvector, ChromaDB, sentence-transformers
CalidadEvals, LLM-as-judge, pytest, Vitest, Langfuse, GitHub Actions CI/CD
BackendPython, FastAPI, Node.js, NestJS, TypeScript, REST, GraphQL
DatosPostgreSQL, Prisma, MongoDB, MySQL, Redis
FrontendReact, Next.js, Angular
InfraestructuraDocker, AWS (EC2, ECR, SSM, IAM, CloudWatch, S3), Caddy, DigitalOcean, NGINX
IdiomasEspañol (nativo), inglés (C1)

Abierto a roles remotos de ingeniería full-stack y de IA

¿Necesitas un ingeniero que lleve la IA del prototipo a producción?

Construyo el agente, el retrieval, la API que lo rodea y los evals que prueban que funciona. Cuéntame qué estás lanzando y te respondo cómo lo abordaría.

Escríbeme