hr‑breaker: Optimizador de currículums de IA para el éxito en ATS

HR‑Breaker: Optimizador de currículums de IA para el éxito en ATS

¿Qué es HR‑Breaker?

HR‑Breaker es un proyecto Python totalmente de código abierto que utiliza modelos de lenguaje de gran escala (LLMs) para optimizar automáticamente cualquier currículum en un PDF preparado para ATS y de una sola página. El código se publica bajo la licencia MIT y está alojado en GitHub en https://github.com/btseytlin/hr-breaker.

El proceso se basa en varias bibliotecas populares:

Librería Función
Pydantic Modelos de datos con seguridad de tipo y validación
Click Interfaz de línea de comandos simple
Streamlit Interfaz web para usuarios no técnicos
WeasyPrint Renderiza el HTML final en PDF
uv Resolución de dependencias y envoltorio de ejecución

El núcleo de HR‑Breaker es un flujo que extrae, enriquece, comprueba y renderiza un currículum.

Características clave

  1. Entrada sin importar el formato – Sube texto plano, Markdown, LaTeX, HTML o incluso un PDF sin procesar.
  2. PDF de una sola página compatible con ATS – Produce una salida bien formateada de una sola página que sigue las pautas comprobadas para currículums.
  3. Optimización impulsada por LLM – Un LLM adapta el contenido a una oferta de trabajo específica, conservando el contenido original y evitando alucinaciones.
  4. Filtros de validación integrados
  5. Chequeos de longitud y estructura de contenido
  6. Coincidencia de palabras clave con TF‑IDF
  7. Simulación de ATS mediante un modelo ligero
  8. Detección de alucinaciones y de textos con estilo IA
  9. Chequeo de similitud semántica con el currículum original
  10. Interfaz Web + CLI – Ejecuta la herramienta como un panel Streamlit local o desde la línea de comandos para la automatización.
  11. Modos de depuración y permisivos – Guarda cada iteración de optimización para depuración y una bandera --no‑shame que relaja las restricciones sin generar nuevas experiencias falsas.

Cómo funciona

  1. Carga / Proporciona entrada – Un currículum en texto plano o una URL/texto de la oferta de empleo.
  2. Extracción – El agente analiza el currículum, elimina la formateo y construye un modelo JSON estructurado.
  3. Bucle de optimización – El LLM genera un currículum HTML, iterando hasta que todos los filtros pasen.
  4. Renderizado – WeasyPrint toma el HTML final y lo convierte en un PDF con estilo profesional.
  5. Salida – El PDF se guarda en output/ mientras las iteraciones de depuración van a output/debug_* y se mantiene un registro en output/index.json.

Guía rápida

# 1. Instala las dependencias
uv sync

# 2. Configura tu entorno
cp .env.example .env
# edita .env y añade tu GOOGLE_API_KEY

# 3. Ejecuta la interfaz web
uv run streamlit run src/hr_breaker/main.py

Uso por línea de comandos

# Desde archivo de currículum bruto y URL de trabajo
uv run hr-breaker optimize resume.txt https://example.com/job

# Desde archivo de descripción de trabajo
uv run hr-breaker optimize resume.txt job.txt

# Modo depuración (guarda iteraciones)
uv run hr-breaker optimize resume.txt job.txt -d

# Modo permisivo – relaja restricciones pero evita la fabricación
uv run hr-breaker optimize resume.txt job.txt --no-shame

# Listar PDFs generados
uv run hr-breaker list

Casos de uso

Usuario Escenario Cómo ayuda HR‑Breaker
Solicitante de empleo Conseguir un puesto en una startup tecnológica Ajusta automáticamente el currículum a la oferta, asegurando que pase el ATS y que las habilidades clave aparezcan primero
Reclutador Evaluar candidatos Procesa por lotes un CSV de URLs de currículums, estandariza formato y extrae puntuaciones de palabras clave
Desarrollador Construir un pipeline de contratación Integra HR‑Breaker como microservicio, generando PDFs listos para ATS a demanda

¿Por qué código abierto?

  • Transparencia – Cada filtro y transformación es visible, lo que permite auditorías.
  • Contribuciones de la comunidad – Cualquiera puede añadir filtros, mejorar los prompts del LLM o agregar una nueva interfaz.
  • Sin bloqueo del proveedor – Ejecútalo localmente o contenedorizado para la nube.

Contribuir

  1. Fork el repositorio.
  2. Crea una rama de características (git checkout -b improve-filter).
  3. Escribe pruebas en tests/.
  4. Ejecuta uv run pytest.
  5. Abre una solicitud de extracción y proporciona una breve descripción del cambio.

Consulta el archivo [CLAUDE.md] para las directrices de contribución.

Hoja de ruta futura

  • Apoyo para más back‑ends de LLM (OpenAI, Anthropic, Azure OpenAI).
  • Integración con APIs de ATS populares para retroalimentación en tiempo real.
  • Temas de estilo personalizados.
  • Una extensión de VS Code que auto‑optimiza el archivo de currículum.

Conclusión

HR‑Breaker es una solución potente y de bajo sobrecarga para quien desea una canalización de currículums impulsada por IA sin la complejidad de herramientas comerciales. Su mezcla de validaciones robustas, trazas de auditoría claras y ética de código abierto lo hace ideal para solicitantes de empleo, reclutadores y desarrolladores por igual. Pruébalo — el código está en GitHub, la instalación solo requiere unas cuantas líneas de comando, y el primer PDF regresa en segundos.

¡Feliz optimización!

Artículo original: Ver original

Compartir este artículo