JobTrack AI: cómo monté un SaaS de búsqueda de empleo con IA y n8n
Automatizar la búsqueda de empleo no es solo scrapear portales. Es conectar TypeScript, Supabase, n8n y modelos de IA para que el sistema entienda qué ofertas encajan y por qué. Aquí te cuento cómo lo estoy montando.
01 El problema: buscar trabajo es un trabajo
Cuando empecé a buscar empleo activamente, me di cuenta de que el proceso era ineficiente. Cada mañana tocaba revisar LinkedIn, InfoJobs, Indeed y Tecnoempleo. Copiar enlaces, pegar en una hoja de cálculo, comparar salarios, filtrar por tecnología. Dos horas al día solo para saber qué ofertas merecían una candidatura.
Así nació JobTrack AI. La idea era simple: un dashboard donde ver todas las ofertas de una pasada, con un score de matching generado por IA que me dijera cuáles encajaban con mi perfil.
02 Arquitectura: TypeScript, Supabase y n8n
El frontend es Next.js con TypeScript. La autenticación va por Supabase Auth con JWT. Los datos de ofertas y CVs se guardan en PostgreSQL (también vía Supabase). Hasta ahí, un stack bastante estándar.
La parte interesante es la integración con n8n. Tengo un webhook en n8n que recibe una keyword de búsqueda, dispara flujos de scraping contra varios portales, y devuelve los resultados formateados. Next.js llama al webhook desde un API route, y n8n hace el trabajo pesado.
// API route en Next.js que dispara la búsqueda
export async function POST(req: Request) {
const { keyword, portals } = await req.json()
const res = await fetch(process.env.N8N_WEBHOOK_URL!, {
method: 'POST',
headers: { 'x-secret': process.env.N8N_WEBHOOK_SECRET! },
body: JSON.stringify({ keyword, portals })
})
return NextResponse.json(await res.json())
}
03 IA que razona, no solo que filtra
El matching no es un simple filtro por keywords. Uso GPT-5.5-pro para analizar cada oferta contra el CV del usuario. El modelo devuelve un score del 1 al 10 y, lo más importante, un razonamiento en español explicando por qué esa oferta encaja. Eso me permite decidir rápido si merece la pena aplicar.
Tener el razonamiento es clave. No es lo mismo ver «match 7/10» que leer «Encaja porque piden TypeScript y React, pero la oferta es presencial en Madrid y tu perfil indica remoto». Eso te ahorra leer la oferta entera.
04 Alertas automáticas y lo que viene
Ya tengo funcionando un sistema de alertas: cada X horas, n8n ejecuta las búsquedas guardadas y si hay ofertas nuevas, envía un email con los resultados. También notificaciones push vía Pushover para ofertas con score alto.
Lo próximo que quiero añadir es un agente que redacte automáticamente la carta de presentación basándose en la oferta y el CV. N8n + GPT-5.5-pro lo hacen trivial: recibe la oferta, recibe el CV, y genera un texto personalizado. Lo difícil no es la IA, es integrarlo todo sin que el código se vuelva un espagueti.
¿Estás usando n8n o IA para automatizar búsquedas de empleo? Cuéntame tu enfoque en los comentarios.