Interview candidates based on their resume
I wanted to build something more useful than a basic AI chatbot that simply asks the same predefined interview questions to everyone. Task: I wanted to build something more useful than a basic AI chatbot that simply asks the same predefined interview questions to everyone. So I built an end-to-end AI Interview Agent that can take a candidate’s information and resume, dynamically analyze their background, and conduct a personalized interview. The workflow starts when an HR/recruiter enters the candidate’s information and uploads their resume. The system then: → Stores the candidate information and resume data → Generates a unique interview session/link → Passes the candidate information to the AI interview agent → Dynamically reads and analyzes the candidate’s resume → Identifies their experience, skills, technologies, and background → Generates interview questions based on the candidate’s actual experience → Conducts the interview through an AI voice agent → Evaluates the candidate’s responses → Generates AI remarks and an overall assessment → Determines how well the candidate matches the requirements → Stores the interview results in the database → Automatically sends the relevant results/notifications through email The agent isn't limited to: and then a fixed list of questions. It can actually use the candidate's resume dynamically. For example, if a candidate's resume says they worked with Python, FastAPI, PostgreSQL, and AWS, the agent can ask questions around those technologies and their stated experience. It can also go deeper based on what the candidate says during the interview. So the interview can become more candidate-specific and contextual, rather than giving every applicant the exact same conversation. The project combines: AI voice agent LLM-based interview logic Dynamic candidate/resume data n8n workflow automation Supabase database Webhooks/API integrations Automated evaluation AI-generated remarks and scoring Automated email notifications Dynamic interview links/pages The candidate doesn't need to manually provide all their information again. Their interview session is connected to the candidate record and the AI receives the relevant context dynamically. Recruiters can spend a huge amount of time doing repetitive work: Reading resumes → shortlisting → contacting candidates → conducting initial interviews → evaluating responses → writing notes → updating records → notifying people. The idea was to automate as much of that repetitive workflow as possible while keeping the hiring decision under human review. The AI handles the repetitive screening/interview work and produces structured information that a recruiter can review. The candidate's interview data and AI-generated evaluation are stored in the database. The system can then provide information such as: Candidate details Job role Resume information Interview responses AI remarks Evaluation/score Candidate-job compatibility Overall analysis And the workflow can automatically trigger email notifications based on the result. n8n — workflow orchestration AI/LLMs — resume analysis, questioning & evaluation ElevenLabs / Voice AI — conversational interview Supabase — candidate and interview database Webhooks & APIs — connecting the entire system HTML/CSS/JavaScript — candidate/interview interfaces This was built as a real end-to-end automation, not just a prompt demonstrating an AI interview. There are still plenty of things I want to improve — especially deeper follow-up questioning, better evaluation consistency, stronger interview rubrics, and more recruiter controls. I'd love to hear from people working in HR, recruiting, AI automation, or hiring tech: Would you trust an AI agent to conduct the first-round interview if the final hiring decision always remained with a human? And for developers: what would you add to this system?; tools: n8n. Human role: The original post does not say how a person stayed involved.; limitations: Prerequisites include access to n8n, Supabase, AI/LLM APIs, and voice AI services. Integration complexity is high due to multiple API connections and webhook handling. The source does not specify costs, error handling protocols, or data privacy compliance measures. Human approval is required for final hiring decisions, and the system's reliability depends on the quality of resume parsing and AI evaluation consistency..
Tools
Published on Agent Work Atlas:
Overview
I wanted to build something more useful than a basic AI chatbot that simply asks the same predefined interview questions to everyone.
Workflow
I wanted to build something more useful than a basic AI chatbot that simply asks the same predefined interview questions to everyone. So I built an end-to-end AI Interview Agent that can take a candidate’s information and resume, dynamically analyze their background, and conduct a personalized interview. The workflow starts when an HR/recruiter enters the candidate’s information and uploads their resume. The system then: → Stores the candidate information and resume data → Generates a unique interview session/link → Passes the candidate information to the AI interview agent → Dynamically reads and analyzes the candidate’s resume → Identifies their experience, skills, technologies, and background → Generates interview questions based on the candidate’s actual experience → Conducts the interview through an AI voice agent → Evaluates the candidate’s responses → Generates AI remarks and an overall assessment → Determines how well the candidate matches the requirements → Stores the interview results in the database → Automatically sends the relevant results/notifications through email The agent isn't limited to: and then a fixed list of questions. It can actually use the candidate's resume dynamically. For example, if a candidate's resume says they worked with Python, FastAPI, PostgreSQL, and AWS, the agent can ask questions around those technologies and their stated experience. It can also go deeper based on what the candidate says during the interview. So the interview can become more candidate-specific and contextual, rather than giving every applicant the exact same conversation. The project combines: AI voice agent LLM-based interview logic Dynamic candidate/resume data n8n workflow automation Supabase database Webhooks/API integrations Automated evaluation AI-generated remarks and scoring Automated email notifications Dynamic interview links/pages The candidate doesn't need to manually provide all their information again. Their interview session is connected to the candidate record and the AI receives the relevant context dynamically. Recruiters can spend a huge amount of time doing repetitive work: Reading resumes → shortlisting → contacting candidates → conducting initial interviews → evaluating responses → writing notes → updating records → notifying people. The idea was to automate as much of that repetitive workflow as possible while keeping the hiring decision under human review. The AI handles the repetitive screening/interview work and produces structured information that a recruiter can review. The candidate's interview data and AI-generated evaluation are stored in the database. The system can then provide information such as: Candidate details Job role Resume information Interview responses AI remarks Evaluation/score Candidate-job compatibility Overall analysis And the workflow can automatically trigger email notifications based on the result. n8n — workflow orchestration AI/LLMs — resume analysis, questioning & evaluation ElevenLabs / Voice AI — conversational interview Supabase — candidate and interview database Webhooks & APIs — connecting the entire system HTML/CSS/JavaScript — candidate/interview interfaces This was built as a real end-to-end automation, not just a prompt demonstrating an AI interview. There are still plenty of things I want to improve — especially deeper follow-up questioning, better evaluation consistency, stronger interview rubrics, and more recruiter controls. I'd love to hear from people working in HR, recruiting, AI automation, or hiring tech: Would you trust an AI agent to conduct the first-round interview if the final hiring decision always remained with a human? And for developers: what would you add to this system?
Reported result
No measured outcomes or success metrics are reported in the source. The author describes the system as a functional end-to-end automation but does not provide data on efficiency gains, candidate satisfaction, or hiring accuracy. A measurable acceptance check would be to track the reduction in manual screening time per candidate and the consistency of AI-generated evaluation scores against human benchmarks.
Human role
The original post does not say how a person stayed involved.
Limitations
Prerequisites include access to n8n, Supabase, AI/LLM APIs, and voice AI services. Integration complexity is high due to multiple API connections and webhook handling. The source does not specify costs, error handling protocols, or data privacy compliance measures. Human approval is required for final hiring decisions, and the system's reliability depends on the quality of resume parsing and AI evaluation consistency.
Try it
I want to build an AI interview agent using n8n. Here is my context: [replaceable inputs: company name, job role, resume file path, candidate email]. Please set up a workflow that: 1. Accepts candidate info and resume upload. 2. Stores data in Supabase. 3. Generates a unique interview link. 4. Uses an LLM to analyze the resume and generate personalized questions. 5. Conducts a voice interview via ElevenLabs. 6. Evaluates responses and stores results. 7. Sends an email notification. Before running the full workflow, perform a dry run with one sample candidate. Show me the generated questions, evaluation logic, and email draft for my approval. Do not send any emails or create live sessions until I confirm the dry run results. If any API keys are missing, ask me for them. Ensure the final hiring decision remains with a human recruiter.
Source reports are not independently verified. Publication date is the catalog publication date, not the original article date.