Zero Trust AI Gateway
A prompt-scanning service for LLM traffic. A two-stage LangGraph pipeline scores incoming prompts for PII and risk, redacts what it has to, and writes every decision to a Postgres audit trail.
Three systems built end to end: LLM security, storage durability and web performance.
Crash safety verified with fault injection and property-based tests against a reference implementation.
Available for freelance projects. Based in Cali, Colombia.
I work across the whole stack. On the front end, that means fast, clear websites for real businesses and professionals, designed to work on any device. On the back end, it means APIs and services that keep working when something goes wrong.
Lately I've also been working with data and machine learning. Whatever the layer, I keep the same habits: keep it simple, test what matters, and measure before changing anything.
A prompt-scanning service for LLM traffic. A two-stage LangGraph pipeline scores incoming prompts for PII and risk, redacts what it has to, and writes every decision to a Postgres audit trail.
An embedded key-value engine in Go, standard library only. B+tree storage over a write-ahead log, with one guarantee: if Put returns nil, that record survives any later crash. Checked by a 500-point crash sweep and property tests against a reference implementation.
A six-page site for Montajes y Mantenimientos Vásquez, an industrial assembly and metalworking company in Cali. Static output, no framework JavaScript, built to stay fast on low-end phones. Swapping a React carousel for ~250 lines of vanilla JS cut shipped JavaScript from 226K to 7K.
A professional site for Paola Vásquez, an HSEQ lead auditor in Cali. A Next.js front end on Vercel talks to a small Express API on Render that delivers the contact form through Resend, behind rate limiting, a whitelist of valid services and HTML escaping.
Classifies Git commits as fix, feat, refactor or docs, and compares classical ML, transfer learning and a network trained from scratch on the same splits and metrics. The classifier is not the point; the evidence is: random, per-repository and temporal splits, and leakage tests that must pass before any number is reported. In progress: a reproducible 10,000-commit dataset and the experiment harness are done, baselines are next.
React, Next.js, TypeScript, Tailwind
Python, FastAPI, Node.js, PostgreSQL
pandas, scikit-learn, LLM applications
Go, Docker, Git, Vercel