JORDAN TRUONG/ AI ENGINEER
SECCIÓN01 / ÍNDICE

GOODYEAR, AZ · REMOTO (EE.UU.)
HÍBRIDO PHOENIX

BUILDS AGENTS THAT SHIP.

Jordan Truong, ingeniero de IA en Goodyear, AZ. Disponible en remoto (EE. UU.) o híbrido en Phoenix.

Ingeniería agéntica: especificaciones escritas, CI/CD y evaluaciones antes de cada despliegue.

IA agéntica en producción: sistemas multi-agente, pipelines RAG e infraestructura. Construido y operado en producción real, desde cero, desde una terminal en Arizona.

El arco: doce años como dueño de negocio. Luego cuatro en IT empresarial. Ahora ingeniería de IA, enviando software que se ejecuta solo. El mismo instinto: hacer lo difícil confiable.

El Currículum

SECCIÓN02 / CURRÍCULUMLECTURA EN 20 SEGUNDOS · CADA LÍNEA COMPROBABLE

Núcleo

Orquestación multi-agenteIngeniería de contextoMCPRAG / GraphRAGEvaluaciones LLMGuardarraíles

Stack

PythonTypeScript / JavaScriptReactNext.jsNode.jsSQLPostgreSQLDocker

Dominio

HIPAAPCI DSSNIST 800-53 / CSFLangfuseAWS BedrockGCP Vertex AI
ABR 2026 → PRESENTEFundadorBlu Print Solutions, LLCdemos en vivo
AGO 2024 → AGO 2026Representante de Servicio al Cliente, Multi-CampañaValor Globalrecorrido
FEB 2023 → ABR 2024Analista de Mesa de ServicioMassage Envy (Corporate)detalle
MAY 2022 → ENE 2023Especialista en Soporte ITAlorica (campañas HMH + Dell)detalle
OCT 2010 → MAR 2022Dueño de Negocio IndependienteCuenta Propiael recorrido

También en vivo y comprobable: /opspanel de costes trazado con Langfuse y precio por solicitud · Anthropic Academy ×16, Claude Partner — Claude Code y Google AI Professional Certificate.

Cada puesto enlaza a una demo en vivo o a su recorrido completo.El mismo contenido en un PDF de 2 páginas ↓

Experiencia

SECCIÓN03 / HISTORIAL
2026 → HOY
Fundador & Ingeniero de IABlu Print Solutions

VPS multi-agente, SoloInvoice SaaS, asistente de conocimiento RCM. Todo en producción.

MCPRAGGraphRAGMulti-agenteSaaS
2024 → AGO 2026
Representante de Servicio al Cliente — Multi-CampañaValor Global

Construyó herramientas de IA en producción en dos campañas empresariales: copiloto RCM HIPAA (escenarios auditados en verde, 72 scripts, 27 playbooks, 41 códigos de notas) y ACES Aid (162 flujos, adopción en toda la planta, 1,500+ palabras clave indexadas). Ambas en uso diario.

HIPAAFlujos agénticosEvaluacionesRCM
2023 → 2024
Analista de Mesa de ServicioMassage Envy (Corporate)

Gestión de aprovisionamiento en 1,000+ franquicias. Auditorías de red y seguridad con actualizaciones de firmware secuenciadas por zona horaria.

ITServiceNowInfraestructura
2022 → 2023
Especialista en Soporte IT — Multi-CampañaAlorica

Dos campañas empresariales: HMH (software educativo, soporte de cuentas y apps) y Dell Technologies (diagnóstico de hardware vía Zendesk, colaboración en Teams con técnicos senior, logística de garantías).

Soporte ITZendeskSLA
2010 → 2022
Dueño-OperadorCuenta Propia

Doce años operando un negocio de servicio: contratación, nómina, programación, P&G.

OperacionesP&GGestión de personas

El Trabajo

SECCIÓN04 / PROYECTOS
01EMBLEMA · PYPI · MIT · OSS

all41n14lla

Servidor de memoria MCP de código abierto. Un comando: pip install all41n14lla. Suite de 90 tests en CI verde en Python 3.11–3.14.

markdownon your diskSQLite + FTS5local indexMCP serverstdioevery clientClaude · Codexmemory you can read, grep, git, and prove you deleted
  • MCP server
  • 90 tests · CI verde
  • Py 3.11–3.14
  • MIT license
Python · MCP · PyPIVer repo
02● 10 · PRODUCCIÓN

Los Proyectos

Diez sistemas agénticos en producción diaria: copilotos salud + telecom (escenarios auditados en verde, 162 flujos), cinco demos en navegador (RAG, SQL, triaje de email, orquestación de agentes, capa semántica), SaaS con licencia offline, un motor de outreach de 7 agentes, y la plataforma que lo une. Toca para explorar.

copilots2 verticals5 demosin-browserSaaSoffline keysoutreach7 agentsplatformthe wiringten systems, one operator, all in daily production
  • IA salud + telecom · 2
  • Agentes en navegador · 5
  • SaaS + ed25519
  • Agency Engine
Python · Claude · Next.js · GroqVer todos
03HARNESS / INFRAESTRUCTURA

El 90% — Arquitectura del Harness

Más de cincuenta habilidades cargadas bajo demanda, quince servidores MCP, memoria automática entre sesiones y guardarraíles en capas. El modelo es el 10% del sistema. El harness es el otro 90%.

guardrailslayeredMCP servers15skills50+, on demandmemoryacross sessionsinstructionsspecs · voice · lawsthe model10%the model is the small box; everything above it is the system
  • 50+ habilidades bajo demanda
  • 15 servidores MCP
  • Guardarraíles en capas
  • Memoria entre sesiones
Instrucciones · Memoria · GuardarraílesLeer
04WIP · SALON NICHE

THE AGENCY ENGINE

Scout finds the lead, Diagnoser maps the gap, Builder ships the fix, Filmer records the walkthrough, Checker validates it, and Pitcher sends the note. No staff and no retainer, at about $0.10 a lead.

ScoutfindsDiagnosermapsBuildershipsFilmerrecordsCheckervalidatesPitchersendsone human step: payment
PROBLEM
Salons have no web presence and no time to fix it. Manual agencies charge $5K+ per client for work that's 80% repetitive.
SOLUTION
7 agents chain: Scout → Diagnose → Build → Film → Check → Pitch. The only human step is payment.
WHY BEST
Hundreds of targeted, compliant campaigns for under a dollar a lead, which only works when the agents are chained together.
  • Scout → Film → Pitch
  • $0.10/lead · zero staff
  • CAN-SPAM compliant
  • ~$10/mo ops cost
Python · 7 Agents · LLM router · VercelBUILDING

Pruébalo en Vivo

SECCIÓN05 / DEMOS
01NL → SQL

Lenguaje natural a SQL

Escribe una pregunta en español. Se convierte en una consulta segura y parametrizada.

your questionplain Englishmetric catalogfixed, publishedcompilerdeterministicsafe SQLparameterisedthe model chooses a metric; it never writes the query
Abrir demo
02TRIAGE DE EMAIL

Agente de bandeja

Pega un email. El agente clasifica, prioriza y redacta una respuesta en un pase.

raw emailclassifyprioritisedraft replyone pass
Abrir demo
03RAG + GRAPHRAG

Agente RAG + GraphRAG

Citas inline y abstención por umbral de confianza: si no está seguro, declina. Dominio: ciclo de ingresos en salud.

questionretrieve+ graphconfidencegateanswerwith citationsbelow the gate it declines instead of guessing
Abrir demo
04ORQUESTACIÓN DE AGENTES

Investigador → Redactor → Crítico

Pipeline de tres roles sobre hechos reales recuperados. El Crítico revisa el borrador contra los hechos y fuerza una revisión cuando encuentra una afirmación sin respaldo, con un máximo de dos rondas para que siempre termine.

ResearcherfactsWriterdraftCriticchecks claimsshipmax 2 roundsan unsupported claim forces a revision; the cap keeps it finite
Abrir demo
05LLMOPS / CAPA SEMÁNTICA

Métricas gobernadas, no SQL libre

Haz una pregunta de negocio. El modelo solo puede elegir una métrica de un catálogo fijo y publicado y nunca escribe su propio SQL. Las preguntas fuera del catálogo se rechazan.

questioncatalog lookupmetric or refuseanswergovernedoff-catalog questions are refused, never guessed
Abrir demo

O abre el chat (abajo a la derecha) para preguntarme lo que quieras.

Cada demo pasa por gates de typecheck, evals y regresión de prompts en cada commit. Los guardarraíles se ven funcionar: RAG declina en vez de adivinar, el Crítico rechaza afirmaciones sin respaldo, la capa semántica rechaza métricas fuera de catálogo.

FINE-TUNE LORA · $0 · LOCAL

Un experimento que no superó al prompting. Publicado igual.

Fine-tune local de Qwen2.5-0.5B con 8 ejemplos del contenido propio del sitio, probando si podía prescindir del system prompt de ~190 líneas que usa el chatbot en vivo. No pudo. Transcripción real del eval:

P: "¿Qué es all41n14lla?"

Modelo base + system prompt (correcto): "Un servidor de memoria MCP open source para agentes de IA, mantenido por Jordan Truong, publicado en PyPI y GitHub."

Fine-tuned, sin prompt (alucinado): "...una aplicación web para gestionar los 41 millones de usuarios de la app de Netflix..."

ANÁLISIS EN AUDIO · 20 MIN

Presentadores de IA analizan mi trabajo con el enfoque del nuevo SDLC de Google.

LOADING...

El Arco

SECCIÓN06 / HISTORIA
2014EL INICIO

Doce años en el negocio.

Dueño y operador de un negocio de salón y belleza. Programación, nómina, inventario, contrataciones, experiencia del cliente — todo. El trabajo enseñó pensamiento sistémico antes de tener nombre: cada restricción es un problema de diseño, cada cuello de botella es una falla de proceso que espera solución.

2022EL GIRO

Pivot a IT empresarial.

Me incorporé al stack tecnológico de gestión de la fuerza laboral a escala. Procesamiento de reclamaciones, RCM de salud, coordinación de operaciones multi-equipo. Aprendí qué significa la fiabilidad de sistemas grandes cuando una regla mal configurada le cuesta a alguien un reembolso. Luego los LLMs se volvieron suficientemente capaces.

2026● AHORA · LA CONSTRUCCIÓN

Construyendo IA que se ejecuta sola.

Envié un servidor MCP en PyPI, un asistente de conocimiento RAG+GraphRAG en vivo, un cerebro VPS multi-agente y un producto SaaS con licencia — todo en solitario, todo en producción. El plan es seguir enviando hasta que los sistemas ganen mientras duermo.

Stack

SECCIÓN07 / HERRAMIENTAS

IA & Agentes

  • Multi-agent orchestration
  • RAG / GraphRAG
  • MCP (Model Context Protocol)
  • Prompt engineering
  • Eval frameworks
  • Guardrails & abstention
  • Prompt-injection defense
  • Cost routing

Modelos & Nube

  • Claude (Anthropic)
  • Gemini (Google)
  • GPT-4o (OpenAI)
  • Groq (Llama 3)
  • Perplexity (search)
  • Google Cloud / Vertex
  • Vercel Edge
  • VPS (Debian + systemd)

Desarrollo

  • Python 3.11–3.14
  • TypeScript / Node.js
  • React 19 + Vite
  • Next.js 15
  • FastAPI
  • PostgreSQL / Supabase
  • HelixDB (graph)
  • Stripe / webhooks

Certs & Seguridad

  • Anthropic Academy (16 certs)
  • Google AI Professional Cert
  • CompTIA Security+ (active)
  • CompTIA A+ (active)
  • HIPAA compliance
  • NIST 800-53 controls
  • ed25519 offline licensing
  • Zero-PHI architecture

Qué Corre Realmente Este Sitio

SECCIÓN08 / MAPA DEL SISTEMA

Un diagrama, extraído del código el mismo día que se escribió. Dos puntos de entrada, un límite de confianza compartido y tres niveles de honestidad en cada respuesta de demo.

VISITANTEjordantruong.comWIDGET DE CHATapi/chat.jsSu propia defensa de 6 capas1. filtro de palabras2. token canario3. detección de huella4. anti-extracción5. puntuación online6. etiquetado adversarialUn sistema propio, separado de abuseGuard, para la única ruta siempre activaGroqLlama 3.3 70B/demos.html5 demosapi/demos/{rag,sql,email,agents,semantic}.jsabuseGuard en las 5live · precomputed · client-retrievalLÍMITE DE CONFIANZA COMPARTIDOSupabasevectores RAG + límites de tasa de demosLangfusetraza cada llamada a modelo, ambas rutas
VERIFICADO EN CÓDIGO, MISMA SESIÓN

Lo que este sistema NO es: sin PHI, sin cuentas de usuario reales, sin datos de pago. Una herramienta HIPAA-safe construida en Valor es un sistema separado y no aparece aquí.

Las Decisiones

SECCIÓN09 / COMPROMISOS

Cinco decisiones de los sistemas de arriba, con su coste incluido. Cualquiera puede enumerar lo que lanzó. Estas son las elecciones que tuvieron un precio, incluidas las que me costaron algo.

01

El modelo elige la métrica. Nunca escribe la consulta.

RESTRICCIÓN
Preguntas en lenguaje natural sobre datos reales de negocio. Un número equivocado con confianza es peor que ninguna respuesta, y toda respuesta debe poder explicarse después.
OPCIONES
Dejar que el modelo escriba SQL y validarlo · dejar que lo escriba contra una vista restringida · publicar un catálogo fijo de métricas y que el modelo solo elija de él.
ELEGÍ
El catálogo. Un validador solo rechaza el SQL que anticipó; un generador que no puede producir SQL arbitrario no tiene salida imprevista que rechazar. El modelo queda reducido a una clasificación y un compilador determinista emite la consulta.
COSTE
Las preguntas abiertas desaparecen de verdad. Lo que no esté en el catálogo no se puede preguntar. Acepté una limitación real de producto antes que equivocarme con confianza. El catálogo también es superficie de mantenimiento: cada pregunta nueva es una entrada, no un ajuste de prompt.
REVISAR CUANDO
Cuando la cobertura del catálogo sea la queja principal. El siguiente paso honesto es la vista restringida tras seguridad a nivel de fila, y convive con esta regla en vez de relajarla.
EN CÓDIGO
src/demos/lib/semantic-layer.ts · api/demos/semantic.js
02

Hice un fine-tune, perdió contra el prompting, y lo publiqué.

RESTRICCIÓN
El chatbot necesitaba más fidelidad de persona. Si eso era un problema de entrenamiento o de prompting era genuinamente desconocido, justo cuando la gente adivina.
OPCIONES
Fine-tune LoRA de un modelo local · mejor prompting más recuperación · pasar a un modelo alojado más grande y pagarlo.
ELEGÍ
Medir primero. Construí el dataset, entrené y evalué antes y después contra la línea base de prompting. Ganó el prompting, así que el fine-tune no se lanzó.
COSTE
Tiempo real gastado en un modelo que nunca se lanzó. Lo cambié por un número medido en vez de una opinión. Lanzarlo porque ya lo había pagado habría sido el error más caro.
REVISAR CUANDO
Cuando el volumen haga que el coste por token domine sobre la calidad. Un modelo pequeño compitiendo en economía es otra pregunta, y yo solo respondí la de calidad.
EN CÓDIGO
fine-tune/train_lora.py · eval_before_after.py · eval_results.json
03

Fallar abierto en la estructura. Nunca en el contenido.

RESTRICCIÓN
Un pipeline Investigador → Redactor → Crítico donde el Crítico verifica el borrador. Siempre debe terminar, y no debe dejar pasar una afirmación sin respaldo. Ambas tiran en direcciones opuestas.
OPCIONES
Reintentar hasta que la respuesta parsee · fallar en duro ante cualquier respuesta malformada · separarlas y tratarlas distinto.
ELEGÍ
Separarlas. Un envoltorio malformado se acepta y el pipeline sigue; una afirmación sin respaldo fuerza una ronda de revisión, con tope de dos. Ser estricto con la forma del JSON no compra nada; serlo con las afirmaciones lo compra todo.
COSTE
El tope es un agujero real: una afirmación que sobrevive dos rondas se publica. Acepté una tasa de error acotada y conocida antes que un bucle sin límite, porque "a veces no termina" es el peor fallo en algo que un desconocido abre una vez.
REVISAR CUANDO
Cuando las rondas empiecen a tocar el tope con frecuencia. Eso indica que el Crítico pelea con el prompt del Redactor, y el arreglo está aguas arriba, en ese prompt. Subir el tope solo lo escondería.
EN CÓDIGO
src/demos/lib/orchestrator.ts
04

Cada demo degrada con honestidad, y dice qué nivel respondió.

RESTRICCIÓN
Una demo se abre una vez, por un desconocido, en un móvil, sin API key, y tiene una sola oportunidad. Nunca debe mostrar un error, y nunca debe fingir en silencio un resultado en vivo.
OPCIONES
Exigir claves y que casi nadie vea nada · servir respuestas enlatadas con aspecto de vivo · ejecutar tres niveles reales y etiquetar cuál respondió.
ELEGÍ
Tres niveles reales con una insignia de origen en cada respuesta: live, precomputed, client-retrieval. La demo SQL ejecuta SQLite real en WebAssembly; la recuperación busca de verdad en el cliente sobre un corpus incluido.
COSTE
Tres rutas de código y tres juegos de pruebas en vez de una, y le digo al visitante cuándo ve el nivel barato. Es peor marketing y mejor ingeniería, y acepto ese trato.
REVISAR CUANDO
Nunca, para un portafolio. En un producto de pago los niveles siguen y la insignia pasa a ser señal interna en vez de adorno visible.
EN CÓDIGO
src/demos/lib/types.ts · retriever.ts · sqljs-loader.ts
05

Un endpoint de modelo público es superficie no confiable. El mío incluido.

RESTRICCIÓN
Un chatbot en un dominio personal, abierto a cualquiera, conectado a una API de pago. Eso lo convierte a la vez en objetivo de inyección de prompts, de agotamiento de coste y de extracción de datos.
OPCIONES
Limitar tasa en el borde y confiar en el prompt · defensa por capas en el límite de la aplicación con un guardia de abuso en cada ruta que llega a un modelo.
ELEGÍ
La defensa por capas. Lo interesante es el fallo. Una revisión encontró el guardia conectado en unas rutas y no en otras tres, incluida la de recuperación ya en producción. El diseño era correcto; el cableado estaba incompleto.
COSTE
Latencia en cada petición y falsos positivos en preguntas legítimamente raras. Más honesto aún: el diseño por capas creó una falsa sensación de cobertura, porque "tenemos defensa" no es lo mismo que "está conectada en todas las rutas".
REVISAR CUANDO
Cada vez que una ruta nueva llega a un modelo. Las rutas nuevas son el disparador. Un recordatorio en el calendario no serviría. Ahora el guardia es un requisito de ruta, no un componente que recuerdas llamar.
EN CÓDIGO
api/chat.js · api/rag-search.js · api/demos/*.js
SECCIÓN10 / CONTACTO

CONSTRUYAMOS ALGO QUE ENVÍE.