Habilidades técnicas
Frontend y móvil: React, Next.js (Pages y App Router), React Native, Expo, TypeScript, JavaScript, HTML5, CSS3 / Sass, Tailwind CSS, MUI, shadcn/ui, Redux Toolkit, i18n, PWA, Astro, GSAP, Motion
Backend y datos: Node.js, Express, Python, FastAPI, REST APIs, SSE, NextAuth, SQLite (FTS5, WAL), PostgreSQL, Prisma, Drizzle, Supabase, Firebase, Electron
IA aplicada: RAG, Búsqueda híbrida (BM25 + embeddings), Evaluación de LLMs, Ollama, Groq, Gemini, OpenAI API, DeepSeek, sqlite-vec, GitHub Copilot, Claude Code, Agentes de IA
DevOps, calidad y herramientas: Git, GitHub Actions, GitLab, Docker, Linux (Arch), systemd, Cloudflare Tunnel, Tailscale, KVM / libvirt, pytest, Vitest, Vercel, Bruno, Figma
Proyectos
AdvAI — Proyecto de grado · UDABOL (2026)
Auditoría legal de contratos con IA y citas verificables. Búsqueda híbrida BM25 (SQLite FTS5) + embeddings bge-m3 fusionados por RRF sobre 3.267 artículos y 971 autos supremos: el acierto de recuperación (acierto@8) subió de 42,9 % a 80 %. El modelo solo elige claves de las fuentes mostradas y el texto citado lo inserta el sistema: 82,9 % de citas correctas y 94,6 % de cláusulas sin error grave en la evaluación interna.
Tecnologías: Next.js 16, React 19, TypeScript, Python, FastAPI, SQLite FTS5, Ollama, RAG, SSE, pytest
Homelab — Proyecto personal · Infraestructura (2026)
Servidor casero 24/7 con diez servicios públicos y un agente de IA (OpenClaw) que lo opera. Exposición segura con Cloudflare Tunnel (sin puertos abiertos), acceso privado por Tailscale, UFW y fail2ban. Servicios en Docker y systemd: media server, lector de mangas, Notebook (mis apuntes con IA, open source) y más; backups con timers.
Tecnologías: Arch Linux, Docker, systemd, Cloudflare Tunnel, Tailscale, OpenClaw, KVM
Notebook — Proyecto personal · En mi servidor (2026)
Apuntes como un chat contigo mismo, con memoria: les preguntas, los buscas y estudias con flashcards. Open source. Búsqueda híbrida dentro de SQLite: significado (sqlite-vec) + palabras exactas (FTS5) fusionadas con RRF, sin base vectorial aparte. Recall@6 del 93 % medido con datos reales. Respuestas en vivo con citas: cada fuente lleva al mensaje exacto y resalta la frase que usó la IA; las conversaciones recuerdan el contexto.
Tecnologías: Node.js, Express, SQLite, sqlite-vec, FTS5, RAG, Groq, Gemini, SSE, PWA, JavaScript
Rubik — Proyecto personal · En mi servidor (2026)
Para practicar cubo de Rubik y otros puzzles, con mezclas oficiales y visor 3D. Mezclas oficiales y visor 3D con cubing.js, la librería de la comunidad cubera, incluido su generador de mezclas en WebAssembly. Sin depender de CDNs: la librería va incluida en el propio sitio, así que funciona aunque un servicio externo falle.
Tecnologías: JavaScript, cubing.js, WebAssembly, HTML, CSS
rOS — Proyecto personal · Linux (2026)
Mi propio flavor de Arch, en uso diario y en camino a ser una distro. Escritorio Wayland con niri y DankMaterialShell (Quickshell/QML); greeter sobre greetd; arranque con Limine y branding propio. ros-update: snapshot de Timeshift antes de actualizar pacman, AUR y flatpak; gestión de modos de GPU (PRIME) y perfiles de energía automáticos.
Tecnologías: Arch Linux, niri, DankMaterialShell, Limine, Shell, systemd