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
- Entrada sin importar el formato – Sube texto plano, Markdown, LaTeX, HTML o incluso un PDF sin procesar.
- 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.
- Optimización impulsada por LLM – Un LLM adapta el contenido a una oferta de trabajo específica, conservando el contenido original y evitando alucinaciones.
- Filtros de validación integrados –
- Chequeos de longitud y estructura de contenido
- Coincidencia de palabras clave con TF‑IDF
- Simulación de ATS mediante un modelo ligero
- Detección de alucinaciones y de textos con estilo IA
- Chequeo de similitud semántica con el currículum original
- Interfaz Web + CLI – Ejecuta la herramienta como un panel Streamlit local o desde la línea de comandos para la automatización.
- 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
- Carga / Proporciona entrada – Un currículum en texto plano o una URL/texto de la oferta de empleo.
- Extracción – El agente analiza el currículum, elimina la formateo y construye un modelo JSON estructurado.
- Bucle de optimización – El LLM genera un currículum HTML, iterando hasta que todos los filtros pasen.
- Renderizado – WeasyPrint toma el HTML final y lo convierte en un PDF con estilo profesional.
- Salida – El PDF se guarda en
output/mientras las iteraciones de depuración van aoutput/debug_*y se mantiene un registro enoutput/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
- Fork el repositorio.
- Crea una rama de características (
git checkout -b improve-filter). - Escribe pruebas en
tests/. - Ejecuta
uv run pytest. - 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!