ResumeScorer — Ingeniería inversa del filtro de currículums
Si un bot va a puntuar tu currículum, puntúalo tú primero. ResumeScorer corre mis currículums por un pipeline open-source de hiring-agent en tres backends LLM — y convierte los números en planes de edición.
Resumen
ResumeScorer es un laboratorio local de puntuación de currículums construido alrededor del pipeline open-source interviewstreet/hiring-agent de HackerRank (PDF → extracción de secciones LLM → verificación GitHub → rúbrica de 120 puntos). Wrappers delgados en PowerShell (219 líneas total) impulsan el pipeline en tres backends LLM — GPT-4o-mini vía OpenRouter como scorer canónico, DeepSeek, y un fallback local Ollama gemma3 para privacidad — más un job-finder Python pequeño que extrae vacantes de HN, READMEs de GitHub y boards ATS. Una skill companion de Claude Code y un subagent convierten reportes de puntaje en planes de edición priorizados y estrictamente honestos: proponen cambios de redacción y estructura, nunca contenido inventado.
El problema
Los filtros automatizados gatean cada vez más la primera ronda de contratación, y su lógica de puntuación es opaca para candidatos. En lugar de adivinar, el movimiento es empírico: correr el mismo screener open-source que reclutadores podrían correr, descomponer su rúbrica (35 puntos open source, 30 self projects, 25 production signals, 10 technical skills, más bonus), benchmark currículums reales contra ella, y dejar que los números dirijan las ediciones.
Preguntas abordadas
- 01
¿Qué recompensa realmente un screener LLM, en puntos, sección por sección?
- 02
¿Qué tan estables son los puntajes entre backends LLM distintos — ¿la rúbrica o el modelo hace el trabajo?
- 03
¿Dónde pierden puntos verificablemente mis propios currículums, y qué ediciones los recuperan honestamente?
Metodología
Envolver, no reconstruir
El pipeline de puntuación es código OSS de HackerRank, en su propio clone; este repo añade orquestación deliberadamente delgada — cuatro scripts PowerShell totalizando 219 líneas — más configuración para tres backends: OpenRouter GPT-4o-mini (canónico), DeepSeek chat, y gemma3 local forzado a CPU vía Ollama para puntuar offline cualquier cosa sensible.
Benchmark y descomponer la rúbrica
Un benchmark de 18 currículums (17 puntuados, un fallo determinístico del parser — documentado, no oculto) estableció el baseline: mis propios currículums puntaron 44–59/100, con Open Source en 0/35 en todos — la brecha verificada más grande, y la motivación directa del trabajo open-source ahora en este portfolio. La rúbrica de 120 puntos está completamente descompuesta en los docs del repo.
Puntaje → plan de edición honesto
Una skill score-resume de Claude Code más un subagent resume-optimizer leen el reporte de puntaje y producen un plan de edición rankeado y consciente de pesos bajo restricción dura de honestidad: solo reformular y reestructurar, nunca fabricar experiencia. Una auto-auditoría de 18 ítems ordenados por severidad documenta exactamente dónde el lab mismo es débil.
Resultados clave
Hallazgos clave
Las rúbricas de screener son legibles una vez las corres: las contribuciones open-source cargaron el mayor peso individual (35/120) — más que habilidades técnicas — lo que pocos candidatos adivinarían.
El fallback de modelo local importa: puntuar currículums de otras personas por APIs cloud es una decisión de privacidad, no solo de costo.
El loop solo funciona con restricción de honestidad — un optimizador que inventa contenido maximizaría el puntaje y destruiría el propósito del artefacto.
Conclusión
ResumeScorer es un lab, no un producto — sin UI, wrappers delgados por diseño alrededor de OSS externo acreditado, resultados privados. Su valor es el loop de feedback que creó: un puntaje open-source medido de 0/35 es por qué Voidscape, Peru Grid y el trabajo de skills abajo existen en público. A veces lo más útil que te dice una herramienta es qué construir después.