← Volver al portfolio

Caso de estudio

JobAgent

Automatización local para una búsqueda de empleo más intencional.

01

Problema

Buscar empleo implica revisar muchas ofertas y repetir trabajo manual antes de poder decidir si una candidatura merece la pena.

02

Solución

JobAgent centraliza el proceso: extrae ofertas, las clasifica con IA local y prepara respuestas revisables. La persona mantiene siempre la aprobación final.

03 · Arquitectura

n8n -> Playwright -> FastAPI -> SQLite -> Ollama -> Dashboard

04

Mi contribución

Diseñé e implementé la API, el flujo de extracción y análisis, la persistencia de datos y la integración de IA local para obtener resultados estructurados.

05 · Stack

PythonFastAPIPlaywrightSQLiteOllaman8n

06

Decisiones técnicas

Se prioriza una arquitectura local y revisable: no se envían solicitudes automáticamente, y los resultados se filtran antes de llegar al dashboard.

07

Cómo funciona

Una oferta se extrae con Playwright, se deduplica y se guarda. Ollama clasifica idioma, perfil y encaje; después se extraen las preguntas de Easy Apply y se revisan las respuestas propuestas antes de que la persona envíe la candidatura.

08

Retos técnicos

  • Sesiones persistentes de LinkedIn sin versionar datos sensibles.
  • Una máquina de estados que bloquea candidaturas incompletas.
  • Resultados estructurados de un LLM local que siguen siendo revisables.

09

Qué mejoraría

  • Autenticación y tests automatizados.
  • Reintentos y observabilidad para proveedores externos.
  • PostgreSQL y compatibilidad con más plataformas de empleo.

Dashboard

Explora el dashboard de JobAgent.

Revisa ofertas extraídas, filtros, métricas, estado de candidaturas y respuestas generadas.

Ver repositorio del dashboard ↗