PAUL GUERRERO software engineer

Selección

Proyectos

01.

ai-news

Estar al día de la IA se había vuelto un trabajo de varias horas diarias. Construí un pipeline que reduce esa lectura a diez minutos: filtra una decena de fuentes con reglas clásicas y deja al modelo solo para el tramo final. Lo leen personas, y lo consultan otros agentes.

  • fastapi
  • react
  • pgvector
  • mcp
Interfaz de ai-news
02.

a11y-crawler

Auditar la accesibilidad de un sitio entero sin revisar página por página. Agrupo las que comparten plantilla, audito una y propago. El trabajo pesado es determinista; el modelo solo entra al final para resolver dudas. Luego descubrí que había reinventado un paper de Princeton.

  • typescript
  • playwright
  • axe-core
  • postgres
03.

recon

La mayoría de los «deep research» generan prosa convincente sin decirte de qué te puedes fiar. Recon separa investigar de verificar: varios agentes buscan, un fact-checker etiqueta cada afirmación —verificada, contradicha, sin fuente— y solo entonces redacta el informe.

  • python
  • crewai
  • sqlite
  • embeddings
04.

viz-components

Una librería de gráficos que funciona igual en Next.js, Angular o HTML a pelo, sin adaptadores. La clave fue no casarse con ningún framework: Web Components estándar. Publicada en npm; el mismo <viz-chart> en cualquier sitio.

  • lit
  • web-components
  • highcharts
  • npm
05.

vlm-dni-ocr

Extraer los campos de un DNI cuando la foto viene torcida o con manchas, donde el OCR clásico se rinde. Aquí el modelo de visión sí gana: lee la imagen. Pero con red: si un dato no pasa la validación, va a nulo. Un dato inventado en un documento es peor que ninguno.

  • python
  • doctr
  • qwen-vl
  • fastapi
06.

workflow-lint

Los workflows de agentes de Claude Code orquestan, pero no avisan si el script tiene un fallo tonto: uno mío murió en 15 ms tras el arranque. Esto lo caza antes de lanzar —en milisegundos y sin gastar un token— porque era detectable sin IA. Hacía falta un linter, no un modelo.

  • javascript
  • static-analysis
  • claude-code
07.

lighthouses-bot

Bot en Rust para un concurso, ocho generaciones. Probé MCTS, aprendizaje por refuerzo, Thompson Sampling… y ganó la heurística explícita. La versión más lista perdía contra la más simple: la complejidad añade fallos más rápido que valor. Cero IA.

  • rust
  • heuristics
  • game-bot