Nocturna Tech ConsultingNocturna Tech
Back to Portfolio

Workflow Automation

AI-Powered Job Tracker & Resume Generator — n8n Automation

Built a fully automated job search system using n8n — scraping LinkedIn for matching roles, generating a tailored resume and cover letter per application using AI, and tracking every stage of the job hunt in a live spreadsheet. Clients landed interviews faster and with far less manual effort.

Client

3+ Individual Clients (Active Subscriptions)

Key result

Clients averaging 3× more interview callbacks

Reading time

5 min read

AI-Powered Job Tracker & Resume Generator — n8n Automation
n8nAI AutomationLinkedInClaude AIGoogle SheetsJob Search

The Challenge

Job searching is exhausting — not because finding relevant roles is hard, but because the process of applying is. For each job, candidates need to:

  1. Find the role (scrolling LinkedIn, job boards, company sites)
  2. Assess how well it matches their background
  3. Tailor their resume to the specific job description
  4. Write a custom cover letter that doesn't read like a template
  5. Track where they've applied, what stage they're at, and when to follow up

Most people do all of this manually. The result is inconsistent applications, missed follow-ups, and a process that burns hours every week.

Three clients came to us with this exact problem. They wanted to spend time preparing for interviews — not formatting documents.

What We Built

vs. manual applicationsMore interview callbacks
~8 minWas 45–90 minPer tailored application
3+Paying clients on active subscription
100%Zero manual loggingApplications tracked automatically

How the Workflow Works

The system runs on n8n and triggers on a schedule (daily) or on-demand via a webhook. Here's the full flow:

1. LinkedIn Job Discovery The workflow scrapes LinkedIn job search results for roles matching the client's configured criteria — job title, location, experience level, and keywords. Each listing is parsed for role title, company, job description, posting date, and application URL.

2. Fit Scoring with AI Each job description is passed to an AI model alongside the client's master resume and a scoring rubric. The model returns a fit score (0–100) and a brief summary of why the role does or doesn't match — flagging gaps and highlighting strong alignment points. Only roles above a configurable threshold (default: 65) proceed to application generation.

3. Tailored Resume Generation For roles above the threshold, the workflow sends the job description and master resume to the AI with a specific prompt: reorder experience bullet points to prioritise the most relevant achievements, adjust the skills section to mirror the job description's language, and flag any keywords the job description emphasises that are missing from the current version.

The output is a job-specific resume — same factual content, intelligently repositioned.

4. Custom Cover Letter Generation A second AI call generates a cover letter for each role. The prompt instructs the model to:

  • Reference specific responsibilities from the job description by name
  • Connect the client's most relevant achievements to those responsibilities
  • Open with a hook specific to the company or role — not a generic "I am writing to apply…"
  • Keep it under 300 words and end with a clear call to action

The cover letter is saved as a Google Doc named by company and role for easy access.

5. Job Tracker Update Every role processed — whether it passed the fit threshold or not — is logged to a Google Sheet with:

  • Company name, role title, posting date, application URL
  • Fit score and AI summary
  • Status (Identified / Applied / Interview Scheduled / Offer / Rejected)
  • Date applied, follow-up date (auto-set to 7 days after application)
  • Resume and cover letter doc links

6. Follow-Up Reminders A separate n8n sub-workflow checks the tracker daily and sends an email or Slack message when a follow-up date is reached with no status update — keeping the client on top of their pipeline without manual calendar entries.

Key Technical Decisions

n8n over Zapier or Make: The job involves complex conditional logic (fit scoring, branching per role, sub-workflows) and API calls that benefit from n8n's node-based visual editor and self-hostable architecture. Zapier's per-task pricing would make this prohibitively expensive at volume.

Master resume as source of truth: Clients maintain one master resume document. The workflow derives all tailored versions from it — never editing the master. This keeps the source clean and ensures any updates propagate to future applications automatically.

AI model for generation, not replacement: The AI doesn't invent experience. Every bullet point in the tailored resume must exist in the master. The prompt explicitly prohibits fabrication. The value is in ordering, emphasis, and language matching — not hallucination.

Google Sheets as the tracker: Clients wanted visibility without a new tool. A Google Sheet they already understand, automatically populated and linked, was more adopted than any bespoke dashboard would have been.

Client Outcomes

All three active clients reported a meaningful improvement in interview callback rate compared to their previous manual approach. The primary value wasn't just the documents — it was the reduction in friction. With the system handling discovery, tailoring, and tracking, clients could focus entirely on interview preparation rather than application admin.

One client went from 2 interviews in 6 weeks of manual searching to 7 interviews in the first 3 weeks using the system. Another landed a role within 5 weeks of going live.

Stack

  • n8n (self-hosted, workflow orchestration)
  • LinkedIn (job discovery via scraping)
  • Claude AI / GPT-4o (fit scoring, resume tailoring, cover letter generation)
  • Google Sheets API (job tracker)
  • Google Docs API (resume and cover letter output)
  • Gmail / Slack (follow-up notifications)
  • Webhook trigger (on-demand run) + Cron (daily scheduled run)

Want results like this?

Let's talk about your project

Every engagement starts with a free 20-minute discovery call. No pitch, no pressure — just an honest conversation about what would actually help.