Carlos Cruz· CQ DEV
Software & AI Systems Engineer · Applied AI · Agentic Systems · Production AISoftware & AI Systems Engineer · Applied AI · Agentic Systems · Production AI

Sistemas reales. En producción. No demos.Real systems. In production. Not demos.

Diseño, construyo y opero sistemas de software con IA integrada: agentes, RAG, automatización, APIs e infraestructura productiva.I design, build and operate production software systems with integrated AI: agents, RAG, automation, APIs and production infrastructure.

Production AI · Agentic Systems · RAG · Integrations · Backend · Infrastructure

Disponible para full-time remoto y contract internacional, idealmente remoto desde Paraguay en español o portugués, o global async. Abierto a relocación a España o Europa cuando la oportunidad lo justifique.Available for international full-time remote and contract work, ideally remote from Paraguay in Spanish or Portuguese, or global async. Open to relocation to Spain or Europe when the opportunity justifies it.

9Sistemas propios en producción, en contenedoresProduction systems of my own, containerised
25Contenedores con healthcheck e imagen fijada por digestContainers with healthchecks, digest-pinned images
96,6 %96.6%Citas del modelo verificadas contra el documento fuenteModel citations verified against the source document
24/7Infraestructura Linux que opero yo mismoLinux infrastructure I operate myself
Capacidades principalesCore capabilities

Del proceso de negocio al sistema de IA en producción.From business process to production AI system.

Entiendo un proceso real, lo modelo, construyo el software, integro IA, conecto herramientas y datos, agrego permisos y reglas deterministas, despliego, observo, opero, evalúo y mejoro.I understand a real process, model it, build the software, integrate AI, connect tools and data, add permissions and deterministic rules, deploy, observe, operate, evaluate and improve.

01

Agentic AI Systems

agents · tool calling · structured outputs · persistent state · context management · human-in-the-loop

02

RAG & Hybrid Retrieval

BM25 / FTS5 + vector retrieval · RRF fusion · embeddings · structured chunking · grounding & evidence · gold-set evaluation · Recall@K · MRR

03

Document & Multimodal AI

OCR · document intelligence · vision · grounding and citations · deterministic validation gates

04

Integrations & Automation

REST APIs · webhooks · WhatsApp Cloud API · queues · workers · schedulers · event-driven flows

05

Production Infrastructure

Docker · CI/CD · immutable images · healthchecks · smoke tests · rollback · backups

Sistemas seleccionados en producciónSelected Production Systems

Evidencia de operaciones reales.Evidence from real operations.

Cada caso resuelve un proceso real y aporta componentes reutilizables para nuevas implementaciones.Each case solves a real operating problem and contributes reusable components for new implementations.

01

LICITEX — Inteligencia documental de contratación públicaPublic Procurement Document Intelligence

★ Flagship Production System
Qué haceWhat it does

Analiza licitaciones públicas y determina si una empresa puede presentarse, qué requisitos cumple, cuáles le faltan y qué riesgos necesita revisar, mostrando la evidencia del pliego.Analyses public tenders and determines whether a company can bid, which requirements it meets, which are missing and which risks need review, showing the evidence from the tender.

ProblemaProblem

Las oportunidades, pliegos, requisitos, documentos y plazos de contratación pública requieren monitoreo y análisis continuo.Public procurement opportunities, tender documents, requirements and deadlines require continuous monitoring and analysis.

Mi rol: Arquitectura · Backend · Orquestación de IA · Integraciones · Despliegue · Operación productiva · Pipeline documental · Motor determinista de reglasMy role: Architecture · Backend · AI orchestration · Integrations · Deployment · Production operations · Document pipeline · Deterministic rule engine

Un pliego de contratación pública llega como un ZIP anidado de PDFs escaneados, planillas y anexos. LICITEX lo desarma —parsing nativo con trazabilidad hoja/celda/párrafo, OCR local sólo donde vale la pena—, lo fragmenta con chunking estructurado y arma el corpus que va al modelo con presupuesto de contexto y cuota mínima garantizada por cada una de las 10 dimensiones del veredicto, para que ninguna quede muda.

A public tender arrives as a nested ZIP of scanned PDFs, spreadsheets and annexes. LICITEX takes it apart — native parsing with sheet/cell/paragraph traceability, local OCR only where it is worth it — fragments it with structured chunking and assembles the corpus sent to the model with a context budget and a guaranteed minimum quota for each of the 10 verdict dimensions, so none of them goes silent.

La recuperación es híbrida: BM25 léxico (SQLite FTS5) y búsqueda vectorial exacta con NumPy sobre embeddings locales, fusionadas con Reciprocal Rank Fusion, porque ninguna de las dos alcanza sola — un requisito se nombra con las palabras exactas de la norma en un documento y con un sinónimo en el siguiente. La capa se evalúa contra un gold set de pasajes etiquetados, con Recall@K y MRR, con holdout, y cada cambio se mide como regresión contra la corrida anterior para detectar pasajes críticos perdidos; retrieval y generación se evalúan por separado.

Retrieval is hybrid: lexical BM25 (SQLite FTS5) and exact vector search with NumPy over local embeddings, fused with Reciprocal Rank Fusion, because neither is enough on its own — a requirement is named with the statute's exact wording in one document and with a synonym in the next. The layer is evaluated against a gold set of labelled passages, using Recall@K and MRR with a holdout, and every change is measured as a regression against the previous run to catch lost critical passages; retrieval and generation are evaluated separately.

Después viene lo que hace que sea usable: cada cita que devuelve el modelo se verifica carácter por carácter contra el fragmento de origen. Si la cita no está literalmente en el documento, se descarta. Y el veredicto final —SÍ / SÍ, PERO / NO— no lo emite el modelo: lo calcula un motor determinista de reglas financieras, fiscales, de experiencia, personal y equipos, con el artículo de la norma citado.

Then comes what makes it usable: every citation the model returns is verified character by character against its source fragment. If the quotation is not literally in the document, it is discarded. And the final verdict — YES / YES, BUT / NO — is not issued by the model: it is computed by a deterministic engine of financial, tax, experience, staffing and equipment rules, with the statutory article cited.

96,6 %96.6%de 4.266 citas propuestas resultaron válidas; 147 descartadasof 4,266 proposed citations were valid; 147 discarded
3.4503,450fragmentos de 154 documentos de expedientefragments from 154 tender documents
1 de 501 in 50veces el motor contradijo al modelo — y prevaleció el motortimes the engine contradicted the model — and the engine prevailed
Capacidades reutilizablesReusable capabilities
RAGHybrid retrieval (BM25/FTS5 + vector, RRF)EmbeddingsStructured chunkingContext budgetingGrounding & evidenceCitation verificationStructured outputsGold-set evaluationRecall@K · MRRRetrieval regression analysisDocument intelligenceSelective OCRDeterministic gatesProvider-agnostic adapter
Stack
PythonFlaskSQLiteBM25 / FTS5Vector search (NumPy)RRFEmbeddingstesseractpdftoppmpython-docxClaudeDeepSeeksystemdLinux
licitex.cqemprendimientos.com ↗ · login required
Operativo sobre expedientes reales de contratación pública, en despliegue controlado sobre perfiles internos. El análisis nunca se dispara solo: lo lanza una persona.Operating on real public-procurement files, in a controlled rollout over internal profiles. The analysis never triggers itself: a person launches it.
02

CONTROLIA — Operaciones de construcción y campoConstruction & Field Operations

En producciónIn production
Qué haceWhat it does

Digitaliza el control de obras y servicios de campo y usa un supervisor de IA para cruzar partes, fotografías, avance y documentación, detectando faltantes, inconsistencias y desvíos.Digitises the control of construction sites and field services, and uses an AI supervisor to cross-check reports, photos, progress and documentation, catching what is missing, inconsistent or off track.

Caso realReal case

Software construido desde la experiencia operativa de CQ Ingeniería para supervisar obras, personal, evidencia y costos desde campo.Software built from CQ Ingeniería's operating experience to supervise construction sites, workforce, evidence and costs from the field.

Mi rol: Arquitectura · Backend · Orquestación de IA · Integraciones · Despliegue · Operación productiva · Visión · Estado persistente · Cliente móvilMy role: Architecture · Backend · AI orchestration · Integrations · Deployment · Production operations · Vision · Persistent state · Mobile client

El sistema de partes, fotos y costos corre desde abril de 2026. Encima vive el Supervisor IA: un agente multimodal que lee por visión cada foto que carga el encargado, la cruza contra el parte del día, la planilla de precios, el certificado y los datos estructurados de la obra, sostiene el caso abierto entre jornadas y pregunta por WhatsApp lo que falta. Hay una persona en el circuito: el encargado responde con evidencia, el caso se reevalúa con esa respuesta, y lo que no se resuelve escala al dueño.

The daily-report, photo and cost system has been running since April 2026. On top of it lives the AI Supervisor: a multimodal agent that reads every foreman photo with vision, cross-checks it against the daily report, the bill of quantities, the certificate and the site’s structured data, keeps the case open across days and asks over WhatsApp for what is missing. There is a person in the loop: the foreman answers with evidence, the case is re-evaluated with that answer, and whatever is not resolved escalates to the owner.

No es un chatbot al costado: trabaja dentro del sistema operativo real de la obra. 18 reglas determinísticas detectan lo que se puede saber con SQL —y siguen funcionando con el modelo caído—; el modelo sólo entra donde hace falta interpretar.

It is not a chatbot bolted on the side: it works inside the real operating system of the site. 18 deterministic rules detect everything SQL can answer — and keep working with the model down; the model only steps in where interpretation is needed.

6obras en operación continuasites in continuous operation
1.3661,366partes en 143 días de cargafield reports over 143 active days
1.6591,659fotos, el 100 % analizadas por visiónphotos, 100% analysed by vision
USD 14,68USD 14.68de cómputo para 2.643 llamadas de modeloof compute for 2,643 model calls
Capacidades reutilizablesReusable capabilities
Multimodal agentVisionDocument evidenceStructured data & SQLPersistent stateContext managementFollow-up questionsHuman-in-the-loopDeterministic gatesGuardrailsEscalationScheduled agent cyclesCost controlMulti-provider AI
Stack
Node.jsExpressSQLiteVision LLMWhatsApp APIReact NativeExpoDockerLinux
CQ Ingeniería SRL · operación realreal operations
03

NUVIA — CRM y operaciones para agencias de viajesTravel CRM & Service Operations

Cliente realLive client
Qué haceWhat it does

Centraliza la operación de una agencia de viajes y eventos: pasajeros, bodas y viajes, conversaciones por WhatsApp, seguimiento y automatización de tareas repetitivas.Runs a travel and events agency in one place: passengers, weddings and trips, WhatsApp conversations, follow-up and automation of repetitive work.

Caso realReal case

Una agencia que gestiona bodas y viajes grupales necesita unificar CRM, pasajeros, pagos, documentos y comunicación.A travel agency managing weddings and group travel needs to unify CRM, passengers, payments, documents and communication.

Mi rol: Arquitectura · Backend · Orquestación de IA · Integraciones · Despliegue · Operación productiva · API de Meta · Motor de envíos · CRMMy role: Architecture · Backend · AI orchestration · Integrations · Deployment · Production operations · Meta API · Sending engine · CRM

SaaS multi-inquilino en producción continua que centraliza eventos, invitados, pasajeros, pagos y la operación del equipo, sobre la API oficial de WhatsApp Business Cloud de Meta — no una librería no oficial.

Multi-tenant SaaS in continuous production centralizing events, guests, passengers, payments and team operations, on Meta's official WhatsApp Business Cloud API — not an unofficial library.

La parte difícil no es mandar un mensaje, es mandar miles sin quemar la línea: mensaje canario antes de cada tanda, ritmo adaptativo que se frena solo ante rechazos, cupo de cuenta en ventana móvil de 24 h que falla cerrado, deduplicación por índice único y recuperación idempotente si el proceso se cae a mitad de una tanda.

The hard part is not sending one message, it is sending thousands without burning the line: a canary message before every batch, adaptive pacing that slows itself on rejections, a 24-hour rolling account quota that fails closed, deduplication by unique index and idempotent recovery if the process dies mid-batch.

12.66712,667mensajes de WhatsApp en 2.289 conversacionesWhatsApp messages across 2,289 conversations
95,4 %95.4%entregados · 53 % leídos, por acuse real de Metadelivered · 53% read, by real Meta receipts
1.8641,864pasajeros · 7.635 invitados · 55 bodaspassengers · 7,635 guests · 55 weddings
USD 2,33MUSD 2.33Men reservas gestionadas por el sistemain bookings managed through the system
Capacidades reutilizablesReusable capabilities
WhatsApp Business Cloud APIWebhooks & eventsDelivery receiptsRate limiting & quotasOutbox & approvalIdempotent recoveryCRM integrationMulti-tenantData lineage
Stack
Node.jsExpressSQLite (WAL)Meta Graph APIKommo CRMClaude APIWebhooksDocker
SaaS en producción · cliente real · acceso privadoProduction SaaS · live client · private access
04

TRAMIA — Sistema de Producción Audiovisual con IAAI Media Production System

Sistema interno en operaciónInternal system in active production
Qué haceWhat it does

Orquesta la producción audiovisual con IA desde recursos, guion y escenas hasta voz, imagen, video, render, QA y control de costos.Orchestrates AI video production from resources, script and scenes to voice, image, video, render, QA and cost control.

Multimodal AI production pipeline

Investigación, guion, escenas, imágenes, video, voz, versiones, proveedores, costos y renders son difíciles de controlar cuando quedan dispersos entre herramientas.Research, scripts, scenes, images, video, voice, versions, providers, costs and renders become difficult to control when scattered across separate tools.

Mi rol: Arquitectura · Backend · Orquestación de IA · Integraciones · Despliegue · Operación productiva · Colas y workers · Multi-proveedor · Control de costosMy role: Architecture · Backend · AI orchestration · Integrations · Deployment · Production operations · Queues and workers · Multi-provider · Cost control

TRAMIA organiza el pipeline completo desde investigación y guion por bloques hasta escenas, generación de imágenes y video, voz, revisión humana, versiones, trabajos, proveedores, costos y render final.

TRAMIA manages the complete pipeline from research and block-based scripting to scenes, image and video generation, voice, human review, versioning, jobs, providers, cost tracking and final rendering.

Cada escena mantiene contexto, recursos asociados, intentos y estado de aprobación. Los proveedores de IA son componentes reemplazables: un ruteo por reglas elige proveedor según la operación, y agregar uno nuevo no toca el pipeline. Hay un proveedor más en evaluación hoy, todavía no integrado.

Each scene keeps its context, related assets, generation attempts and approval state. AI providers are replaceable components: a rule-based router picks the provider per operation, and adding a new one does not touch the pipeline. One further provider is under evaluation today, not yet integrated.

El control de calidad no lo decide un modelo solo: en los hechos técnicos —duración, códec, canales, silencio— manda ffprobe, y la comparación contra la referencia se hace a ciegas, sin decirle al juez cuál es el candidato.

Quality control is not left to a model alone: on technical facts — duration, codec, channels, silence — ffprobe wins, and comparison against the reference is done blind, without telling the judge which one is the candidate.

985trabajos en cola, con reintento y recuperaciónqueued jobs, with retry and recovery
1.1971,197recursos generados en 223 escenasassets generated across 223 scenes
1.8781,878llamadas de IA con costo contabilizadoAI calls with accounted cost
Capacidades verificadasVerified capabilities
Multi-provider AIRule-based provider routingPersistent queueConcurrency controlRetry & crash recoveryCost tracking & spend capsDeterministic media QABlind reference comparisonHuman reviewAsset lifecycleRendering pipeline
Stack
Node.jsExpressPythonPostgreSQLWorkersffmpeg / ffprobeClaudeGeminiOpenAIVeoRunwayElevenLabsShotstackDockerCoolify
Sistema interno en operación · volumen de piloto · acceso privadoInternal system in operation · pilot-scale volume · private access
05

MAIL VIGÍA AI — Monitoreo y clasificación operativaOperational Monitoring & Classification

En producciónIn production
Qué haceWhat it does

Vigila las entradas operativas, las clasifica con IA y deriva o alerta lo importante para que nada se pierda entre el volumen.Watches operational inputs, classifies them with AI and routes or alerts on what matters so nothing gets lost in the volume.

ProblemaProblem

Entradas operativas importantes pueden perderse entre volumen, ruido y criterios inconsistentes.Important operational inputs can be lost among volume, noise and inconsistent criteria.

Mi rol: Arquitectura · Backend · Orquestación de IA · Integraciones · Despliegue · Operación productiva · Clasificación con IA · Reglas de respaldoMy role: Architecture · Backend · AI orchestration · Integrations · Deployment · Production operations · AI classification · Fallback rules

Sistema de monitoreo que clasifica entradas con IA, aplica reglas de fallback, permite revisión humana, enruta casos, dispara alertas y conserva trazabilidad para auditoría.Monitoring system that classifies inputs with AI, applies fallback rules, supports human review, routes cases, triggers alerts and preserves an auditable trail.

Capacidades reutilizablesReusable capabilities
Input monitoringAI classificationFallback rulesHuman-in-the-loopRoutingAlertsAuditability
Stack
PythonLLM integrationRules engineWhatsApp alertsWorkers
06

CQ DEV / DEP — Sistema de inteligencia, scoring y seguimiento de oportunidadesOpportunity Intelligence & Automated Scoring System

Sistema internoInternal system
Qué haceWhat it does

Automatiza la búsqueda, evaluación, preparación y seguimiento de oportunidades laborales y freelance, manteniendo gates deterministas antes de cualquier acción.Automates finding, evaluating, preparing and following up job and freelance opportunities, keeping deterministic gates before any action.

Arquitectura públicaPublic architecture

Las oportunidades provenientes de múltiples fuentes necesitan normalización, deduplicación, priorización y seguimiento consistente.Opportunities from multiple sources require normalization, deduplication, prioritization and consistent follow-up.

Mi rol: Arquitectura · Backend · Orquestación de IA · Integraciones · Despliegue · Operación productiva · Agente de descubrimiento · Automatización de navegador · Gates de aprobaciónMy role: Architecture · Backend · AI orchestration · Integrations · Deployment · Production operations · Discovery agent · Browser automation · Approval gates

Pipeline interno de ingesta multi-fuente, procesamiento, clasificación y scoring, con deduplicación, workflows de oportunidad, automatización y seguimiento. No expone reglas privadas ni información de terceros.Internal pipeline for multi-source ingestion, processing, classification and scoring, with deduplication, opportunity workflows, automation and follow-up. Private rules and third-party information remain protected.

Capacidades reutilizablesReusable capabilities
Multi-source ingestionScoringClassificationDeduplicationOpportunity workflowsFollow-upData processingAutomation
Stack
Node.jsPythonSQLiteWorkersREST APIsLinux
Interno · sin enlaces administrativos públicosInternal · no public administrative links
Agentes de IA en mis sistemasAI Agents inside my systems

El modelo razona. El software gobierna.The model reasons. Software governs.

La IA interpreta la realidad, razona sobre la información y propone acciones. El software mantiene la autoridad: valida, aplica reglas, controla permisos, protege estados críticos y decide qué puede ejecutarse. No son chatbots — son agentes que trabajan dentro de sistemas que ya existían.AI interprets reality, reasons over the information and proposes actions. The software keeps the authority: it validates, applies rules, controls permissions, protects critical state and decides what is allowed to run. These are not chatbots — they are agents working inside systems that already existed.

LICITEX · Agente de LicitaciónTender Analysis Agent

Lee el pliego, cruza cada requisito contra el perfil de la empresa y devuelve SÍ / SÍ,PERO / NO. El veredicto no lo emite el modelo: lo fija una función determinista sobre la tabla de requisitos.Reads the tender documents, cross-checks every requirement against the company profile and returns YES / YES,BUT / NO. The verdict is not issued by the model: a deterministic function over the requirements table sets it.

4.266 citas verificadas contra la fuente · nunca se dispara solo4,266 citations verified against the source · it never self-triggers

Ver el caso técnicoSee the technical case

CONTROLIA · Supervisor IAAI Site Supervisor

Inspecciona dos veces por jornada: mira por visión las fotos del encargado, las cruza con el parte y la planilla, pregunta lo que falta y espera la respuesta. Preguntar tiene costo: un portón determinista de cinco salidas decide si vale la pena molestar a alguien.Inspects twice a day: reads the foreman photos with vision, cross-checks them against the daily report and the bill of quantities, asks what is missing and waits for the answer. Asking has a cost: a deterministic gate with five outcomes decides whether it is worth bothering anyone.

2.643 llamadas de modelo en 15 días por USD 14,68 · 99 decisiones del portón, 36 frenadas2,643 model calls in 15 days for USD 14.68 · 99 gate decisions, 36 held back

Ver el caso técnicoSee the technical case

TradingOps 3 · Autoridad separadaSeparated authority

El modelo propone y nada de lo que sigue depende de él: un validador determinista firma, riesgo tiene veto y sólo el ejecutor tiene la clave. El proceso que llama al modelo no puede alcanzar el exchange — no está prohibido, está impedido por permisos.The model proposes and nothing downstream depends on it: a deterministic validator signs, risk holds veto power and only the executor has the key. The process that calls the model cannot reach the exchange — it is not forbidden, it is made impossible by permissions.

7 usuarios de sistema · 10 roles PostgreSQL · 591 pruebas7 system users · 10 PostgreSQL roles · 591 tests

Ver el caso técnicoSee the technical case

CQ DEV · Descubrimiento autónomoAutonomous discovery

Corre solo, disparado por el scheduler. Consulta 104 fuentes públicas de ATS por corrida y descarta la enorme mayoría con filtros deterministas antes de invocar al modelo. El envío nunca es automático: exige una aprobación humana de un solo uso, atada al hash del CV y del formulario.Runs on its own, triggered by the scheduler. Queries 104 public ATS sources per run and discards the vast majority with deterministic filters before invoking the model. Submission is never automatic: it requires a single-use human approval bound to the CV and form hash.

2.043 decisiones de modelo registradas · 1.583 intervenciones humanas · 13 timers activos2,043 recorded model decisions · 1,583 human interventions · 13 active timers

GESTIA · La autoridad, en la baseAuthority, in the database

Cuatro agentes acotados a su módulo trabajan sobre expedientes, órdenes y plazos. Lo interesante no es lo que pueden hacer, sino lo que no: cinco tablas llevan un trigger de PostgreSQL que lanza una excepción si quien registra la decisión es un agente. No es una convención de código que alguien pueda olvidar; es el motor de la base diciendo que no.Four agents scoped to their own module work over case files, orders and deadlines. What matters is not what they can do, but what they cannot: five tables carry a PostgreSQL trigger that raises an exception if the one recording the decision is an agent. It is not a code convention someone can forget; it is the database engine saying no.

28.684 filas de auditoría · entorno de demostración, sin institución en producción28,684 audit rows · demonstration environment, no institution in production

Ver el sistemaSee the system

Código públicoPublic code

Un agente LLM en Node.js sin una sola dependencia, escrito para mostrar el patrón completo: herramientas acotadas, esquema cerrado, evidencia en tres estados —MET / FAILED / UNKNOWN, y un UNKNOWN no autoriza nada—, portón determinista, escalamiento humano, reintentos con backoff e idempotencia por argumentos.An LLM agent in Node.js with zero dependencies, written to show the whole pattern: scoped tools, closed schema, evidence in three states — MET / FAILED / UNKNOWN, and an UNKNOWN authorises nothing — a deterministic gate, human escalation, retries with backoff and idempotency by caller arguments.

1.594 líneas · 56 pruebas · CI en Node 18/20/22 y la suite en Docker sin red1,594 lines · 56 tests · CI on Node 18/20/22 and the suite in Docker with no network

Ver en GitHub ↗View on GitHub ↗
Otros sistemas y casos técnicosAdditional Systems

Más evidencia, con el peso correcto.Additional evidence, at the right level.

GESTIA

Estado: desplegada con 12 instituciones en entorno de demostración. Ninguna institución la usa todavía en producción real.Status: deployed with 12 institutions in a demonstration environment. No institution is using it in real production yet.

Plataforma GovTech multi-institucional: motor de trámites con estados y plazos, expedientes, órdenes, evidencia documental, roles y 4 agentes internos acotados a su módulo. Aislamiento por inquilino forzado en la base con RLS sobre 56 tablas, 97 reglas de autorización y 28.684 filas de auditoría.Multi-institutional GovTech platform: a workflow engine with states and deadlines, case files, orders, documentary evidence, roles and 4 internal agents scoped to their own module. Tenant isolation enforced in the database with RLS across 56 tables, 97 authorization rules and 28,684 audit rows.

La autoridad es humana y la base lo hace cumplir. Cinco tablas llevan un trigger de PostgreSQL que lanza una excepción si quien registra la decisión es un agente. No es una convención de código: es el motor de la base diciendo que no.Authority is human and the database enforces it. Five tables carry a PostgreSQL trigger that raises an exception if the one recording the decision is an agent. It is not a code convention: it is the database engine saying no.

GovTechWorkflow engineDeterministic authorityRow-level securityAudit trailPostgreSQL

TradingOps 3

10 procesos systemd separados por responsabilidad y por identidad: 7 usuarios de sistema y 10 roles PostgreSQL con permisos por esquema. El proceso que llama al modelo no tiene credenciales de ejecución.10 systemd processes separated by responsibility and identity: 7 system users and 10 PostgreSQL roles with per-schema grants. The process that calls the model holds no execution credentials.

591 pruebas sobre 24.155 líneas · despliegue controlado.591 tests over 24,155 lines · controlled deployment.

Separated authorityFail-closedPythonPostgreSQL

LOTEX 360

Motor financiero en producción con datos reales: 514 lotes, 397 contratos, 17.418 cuotas con vencimientos de 2014 a 2039, mora, intereses, reajustes, refinanciación y reversión de pagos auditada.Production financial engine on real data: 514 lots, 397 contracts, 17,418 instalments with due dates from 2014 to 2039, arrears, interest, repricing, refinancing and audited payment reversal.

Financial engineContractsAmortization schedulesAudit trailReporting
Alertas administrativas de CQ

Administración CQCQ Administration

Cheques, préstamos, vencimientos y alertas para la operación administrativa real.Checks, loans, due dates and alerts for real administrative operations.

AlertsFinancial workflows
Mapa de calor agregado de Field CRM

High-volume Field CRM

Padrón de 11.848 personas cargado y geolocalizado por compañía, barrio y sector, con pipeline de tickets, mapas de calor y tablero en vivo para coordinar equipos en campo.A register of 11,848 people loaded and geolocated by district, neighbourhood and sector, with a ticket pipeline, heat maps and a live dashboard to coordinate field teams.

Estado: construido y desplegado; sin actividad de campo desde junio de 2026.Status: built and deployed; no field activity since June 2026.

PostgreSQLGeodataReal-time dashboard
Dashboard técnico de TradingOps

TradingOps

Caso técnico 24/7 de APIs, workers, trazabilidad, controles de riesgo y monitoreo.24/7 technical case involving APIs, workers, traceability, risk controls and monitoring.

WorkersRisk controlsMonitoring
Panel comparador de TradingOps 1.0

TradingOps 1.0

Sistemas MQL5/MT5, backtesting y comparación de estrategias con datos propios.MQL5/MT5 systems, backtesting and strategy comparison using first-party data.

MQL5BacktestingAnalytics
Building Blocks

Componentes probados que aceleran nuevos sistemas.Production-tested components that accelerate new systems.

AI / LLM Automation Engineclassification · agents · human review
Workflow orchestrationschedulers · webhooks · queues · code
WhatsApp Business Engineofficial API · templates · events
Document / OCR EnginePDF · extraction · classification
CRM / Lead Pipelinestages · follow-up · activity
Scraping / Data Ingestionretry · dedupe · normalization
Scoring / Classification Enginerules · models · prioritization
Dashboard / Reporting EngineKPIs · PDF · operations
Google / SaaS IntegrationDrive · external APIs · sync
Financial Engineinstallments · interest · arrears

Infraestructura especializada adicional: motores de riesgo, ejecución por API, backtesting y automatización financiera.Additional specialized infrastructure: risk engines, API execution, backtesting and financial automation.

Infraestructura y entregaInfrastructure & Delivery

Lo que construyo, lo despliego y lo opero yo.What I build, I deploy and operate myself.

No entrego un repositorio y me voy. Estos sistemas corren 24/7 sobre infraestructura que administro, con la misma cadena de entrega para todos.I do not hand over a repository and leave. These systems run 24/7 on infrastructure I administer, with the same delivery chain for all of them.

push→pruebastests→escaneo de secretossecret scan→build de imagenimage build→GHCR + digest→deploy→healthcheck→smoke→rollback
ContenedoresContainersNueve sistemas en producción corren en contenedores con healthchecks: 25 contenedores propios, sanos al momento de la medición.Nine production systems run in containers with healthchecks: 25 containers of my own, all healthy at the time of measurement.
CI/CDIntegración continua en GitHub Actions en 12 repositorios, con despliegue a producción en 8. La CI corre pruebas, escanea secretos con una herramienta verificada por checksum, construye la imagen y la publica.Continuous integration on GitHub Actions across 12 repositories, with production deployment in 8. CI runs the tests, scans for secrets with a checksum-verified tool, builds the image and publishes it.
Imágenes inmutablesImmutable imagesLas imágenes se publican en GHCR etiquetadas con el SHA del commit y producción corre siempre una imagen fijada por digest — nunca un tag móvil.Images are published to GHCR tagged with the commit SHA and production always runs an image pinned by digest — never a moving tag.
Plano de controlControl planeLos despliegues pasaron de scripts sueltos a un plano de control autoalojado con entrega continua desde main: 8 de 9 sistemas se despliegan solos al integrar, con historial y vuelta atrás.Deployments moved from loose scripts to a self-hosted control plane with continuous delivery from main: 8 of 9 systems deploy themselves on merge, with history and a way back.
Gates de despliegueDeployment gatesLos sistemas críticos exigen una aprobación humana explícita, atada al commit y al digest exactos, de un solo uso y con vencimiento.Critical systems require an explicit human approval tied to the exact commit and image digest, single-use and time-limited.
Blue/green y rollbackBlue/green & rollbackCortes blue/green con verificación de salud y smoke, y vuelta automática a la imagen anterior. Probado con su propia batería de pruebas, y ejercido de verdad: un smoke fallido revirtió un corte solo.Blue/green cutovers with health and smoke checks and automatic rollback to the previous image. Covered by its own test suite, and actually exercised: a failed smoke check rolled a cutover back on its own.
Respaldo y recuperaciónBackup & recoveryDump consistente por base con verificación de integridad, cifrado GPG AES-256, subida remota con comprobación en destino, retención de 8 copias y aviso del resultado — incluido el aviso de que hoy no corrió. La restauración está escrita como runbook.Consistent per-database dump with integrity check, GPG AES-256 encryption, remote upload verified at destination, 8-copy retention and a result alert — including the alert that it did not run today. Restore is written up as a runbook.
Escala operativaOperational scaleDos VPS Linux (Ubuntu 24.04 LTS). En el principal: 25 contenedores de 9 sistemas, 12 servicios systemd, 34 timers programados, 13 certificados TLS con renovación automática detrás de nginx y 11 bases PostgreSQL, además de SQLite.Two Linux VPS (Ubuntu 24.04 LTS). On the main one: 25 containers across 9 systems, 12 systemd services, 34 scheduled timers, 13 auto-renewed TLS certificates behind nginx and 11 PostgreSQL databases, plus SQLite.
Aislamiento y gobierno de recursosIsolation & resource governanceTrabajos con dueño único —lock exclusivo por nombre de job—, cuotas de CPU y memoria por unidad para que el CI nunca le gane a producción, y separación por identidad: el proceso que llama al modelo no tiene las credenciales para ejecutar. No está prohibido: está impedido por permisos.Jobs with a single owner — an exclusive lock per job name —, per-unit CPU and memory quotas so CI never wins against production, and separation by identity: the process that calls the model holds no execution credentials. It is not forbidden; it is made impossible by permissions.
Desborde a AzureAzure overflowEl render pesado de TRAMIA desborda desde una única cola central hacia workers efímeros de Azure Container Instances (2 vCPU / 6 GB), creados bajo demanda y apagados al terminar, con el mismo digest de imagen que el worker local, bajado de Azure Container Registry. Entrada y salida por HTTPS con URLs firmadas, un service principal acotado a un resource group, token de registro de sólo lectura, reconciliación de leases y fallback local.TRAMIA's heavy render jobs overflow from a single central queue into ephemeral Azure Container Instances workers (2 vCPU / 6 GB), created on demand and torn down afterwards, running the same image digest as the local worker, pulled from Azure Container Registry. HTTPS with signed URLs, a service principal scoped to one resource group, a read-only registry token, lease reconciliation and local fallback.

Lo que no afirmo: no tengo experiencia productiva con Kubernetes, Terraform, Prometheus, Grafana, OpenTelemetry ni con AWS o GCP; de Azure, sólo Container Instances y Container Registry (no AKS, Functions, Container Apps ni Azure ML). Los problemas que esas herramientas resuelven —orquestación, estado declarativo, observabilidad, recuperación— los resolví con otra arquitectura, y eso prefiero decirlo antes de una entrevista y no durante.What I do not claim: I have no production experience with Kubernetes, Terraform, Prometheus, Grafana, OpenTelemetry or with AWS or GCP; on Azure, only Container Instances and Container Registry (no AKS, Functions, Container Apps or Azure ML). The problems those tools solve — orchestration, declarative state, observability, recovery — I solved with a different architecture, and I would rather say so before an interview than during one.

Stack técnicoTechnical stack

Tecnología organizada por función.Technology organized by purpose.

AI & Agentic

LLM APIsClaudeOpenAIAgentsTool callingStructured outputsContext managementPersistent stateHuman-in-the-loopDeterministic gatesMulti-provider AIEvaluationsCost controls

RAG & Document AI

RAGHybrid retrievalBM25 / FTS5Vector searchReciprocal Rank FusionEmbeddingsStructured chunkingContext budgetingGrounding & evidenceCitation verificationGold-set evaluationRecall@KMRRRetrieval regression analysisDocument intelligenceOCR (tesseract)PDF / DOCX / XLSX parsingVisionMultimodal AI

Backend & Systems

PythonNode.jsExpressFlaskPostgreSQLSQLiteSQLREST APIsWebhooksWorkersQueues & jobsSchedulersRetries & backoffIdempotencyLocksState machinesTesting

Automation & Integrations

WhatsApp Business Cloud APICRM integrationsGoogle Drive APIExternal APIsMessagingPlaywrightChrome / CDPPersistent sessions

Interfaces

React NativeExpoOffline queueWeb interfacesDashboardsAdmin panels

Production & Delivery

LinuxnginxDockerDocker ComposeGit / GitHubGitHub ActionsCI/CDGHCRAzure Container InstancesAzure Container RegistryCoolifyImmutable imagesHealthchecksSmoke testsRollbackBackups & restoreDeployment gatesResource governanceWorkload isolationSecretsLeast privilege

Orquesto los flujos con lo que el proceso necesita: schedulers y timers para lo que corre solo, colas con workers para lo que no puede perderse, y webhooks para lo que llega de afuera. Todo con APIs, Python o Node.js y su base de datos.I orchestrate workflows with whatever the process needs: schedulers and timers for what runs on its own, queues with workers for what cannot be lost, and webhooks for what arrives from outside. All of it with APIs, Python or Node.js and its database.

Esta lista es lo que usé en producción, no lo que leí. Si tu stack nombra una herramienta equivalente que no está acá —otro orquestador, otro registro, otra base vectorial—, conozco el patrón de fondo y resolví el mismo problema de producción con otra arquitectura.This list is what I have run in production, not what I have read about. If your stack names an equivalent tool that is not here — another orchestrator, another registry, another vector store — I understand the underlying pattern and have solved the equivalent production problem with a different architecture.

Cómo trabajoHow I work

Un proceso claro, de principio a operación.A clear path from discovery to operations.

EntenderUnderstand→DiseñarDesign→ConstruirBuild→IntegrarIntegrate→ProbarTest→DesplegarDeploy→ObservarObserve→OperarOperate→EvaluarEvaluate→MejorarImprove

Empiezo por el proceso de negocio, no por la herramienta.I start with the business process, not the tool.

Llevar la IA del prototipo al sistema que aguanta producción.Taking AI from prototype to a system that survives production.

Busco trabajar con equipos que estén haciendo exactamente eso. Si ya tenés un prototipo que funciona en una demo y no en la realidad, ese es el problema que sé resolver.I am looking to work with teams doing exactly that. If you already have a prototype that works in a demo and not in reality, that is the problem I know how to solve.

BuscoLooking forApplied AI · Agentic AI · AI Systems · Forward Deployed AI · Production AI · AI Automation & Integrations
ModalidadEngagementFull-time internacional o contractor. Remoto desde Paraguay —en español o portugués, LATAM o global async—. Abierto a relocación a España o Europa cuando la oportunidad lo justifique.International full-time or contractor. Remote from Paraguay — Spanish or Portuguese, LATAM or global async. Open to relocation to Spain or Europe when the opportunity justifies it.
IdiomasLanguagesEspañol nativo · portugués avanzado · inglés A2–B1: lectura técnica funcional y comunicación escrita y asíncrona funcional; inglés hablado limitado.Native Spanish · advanced Portuguese · English A2–B1: functional technical reading and functional written, asynchronous communication; spoken English is limited.