Built This n8n Resume Parser That Screens 50 Candidates in 10 Minutes π₯
HR team was drowning in resumes. Manually reviewing 50 applications took 8 hours. Built automated screening workflow. Now takes 10 minutes. THE PROBLEM: Startup hiring for 3 positions. Received 150 applications in one week. Each resume needed: skills extracted, experience calculated, fit assessment written. Manual process: 10 minutes per resume Γ 150 = 25 hours of work. THE SOLUTION (N8N WORKFLOW): Manual Trigger β Start batch processing Google Drive node β Retrieves resume files from folder PDF Vector Parse node β Extracts all candidate information Function node β Calculates years of experience per skill PDF Vector AI node β Evaluates candidate fit and seniority HTTP Request node β Posts to Airtable candidate database Slack node β Notifies team with top candidates Total workflow: 6 nodes. Processes any resume format - PDF, Word, even phone photos. WHAT IT EXTRACTS: Personal info: name, email, phone, location, LinkedIn Work history: companies, dates, technologies used per role Education: degrees, institutions, graduation dates Skills: technical and soft skills with experience levels Certifications: current and relevant to role Calculated metrics: total experience, skill proficiency scores THE SCORING LOGIC: Built custom scoring in Function node: ```javascript // Calculate experience score per skill const skillScores = {}; workHistory.forEach(job => { job.technologies.forEach(tech => { if (!skillScores[tech]) skillScores[tech] = 0; skillScores[tech] += job.durationYears; }); }); // Weighted ranking const rankingScore = (totalYears * 0.3) + (skillCount * 0.2) + (certCount * 0.1) + (requirementMatch * 0.4); ``` Assigns tier: A (interview immediately), B (strong candidate), C (consider), D (pass). THE AI ASSESSMENT: PDF Vector AI node writes custom assessment for each candidate: "Evaluates technical depth, leadership experience, culture fit. Determines if candidate is junior, mid-level, senior, or lead material based on scope of past projects."