Today, Alessandro Romano is here to show us how to use CrewAI and Multi-Agent systems to build a mock interviewer. The perfect way to practise and boost your confidence before your next big interview!
Without further ado, I’ll pass the mic to him.
Enjoy!
Miguel
Over the last year, I’ve been exploring how agentic frameworks can move beyond toy demos and actually do something useful.
This time, I decided to put that into practice by creating an AI Mock Interviewer — an application that simulates real technical interviews, powered entirely by Python and CrewAI.
Instead of relying on one large model to handle everything, I designed a system that orchestrates multiple specialized agents, each with a distinct role:
Company Research Specialist — gathers information about the company you want to interview for
Question Generator — creates relevant interview questions
Answer Evaluator — assesses your responses and provides feedback
Follow-up Specialist — generates new, progressively challenging questions
All this happens inside a Streamlit web app, so you can interact via text or voice (thanks to OpenAI Whisper) while the agents coordinate asynchronously in the background — making the whole experience smooth and human-like.
Inside the AI Mock Interviewer
💻 All the code for the AI Mock Interviewer is completely free and available on GitHub, so you can explore it, experiment, and even adapt it for your own projects.
Now that we know what we’re going to build, it’s time to focus on the four agents that make up our crew. In this section, we’ll go over how to create each of these four agents, along with their associated tasks. Let’s start with the Company Research Specialist.
Company Research Specialist
This agent is responsible for gathering detailed information about a target company and transforming that research into meaningful insights.
Using the SerperDevTool, it explores the company’s background, products, technologies, and market position. Based on this information, it creates relevant interview questions — complete with suggested answers — that assess both theoretical understanding and practical skills.
Essentially, this agent acts as the team’s research analyst, ensuring that all subsequent work is grounded in accurate, up-to-date company knowledge.
Now that we’ve defined our Company Research Specialist agent, we need to assign it a specific task so it knows exactly what to do. This is where the Company Research Task comes in.
This task gives the Company Research Specialist a clear objective: to research a particular company and produce a structured report on its technical interview process.
When executed, the task directs the agent to gather information about the company’s interview structure, typical questions for a given role and difficulty level, and its technical stack and requirements. The final deliverable is a detailed summary that outlines how the company assesses candidates and what technical skills are most valued.
Question Generator
With the Company Research Specialist ready to gather insights, the next step is to create an agent that can turn that information into actionable interview material. This is the Question and Answer Preparer agent.
This agent is responsible for crafting high-quality technical interview questions and detailed model answers. Acting as an experienced technical interviewer, it designs questions that are both challenging and fair, ensuring they effectively assess a candidate’s theoretical understanding and practical problem-solving skills.
The agent can adapt its questions to different skill levels and provides clear, comprehensive answers to support consistent and objective evaluation during the interview process.
Once the Question and Answer Preparer agent is defined, it needs a specific assignment that directs its efforts. This is where the Question Preparation Task comes in.
This task instructs the Question and Answer Preparer to generate a complete interview question and its corresponding model answer based on the previously gathered company research.
The agent creates a technical question tailored to a specified difficulty level, ensuring it evaluates both theoretical knowledge and practical problem-solving skills. Alongside the question and answer, the agent also identifies the key points that interviewers should look for when assessing candidate responses.
The final deliverable is a well-balanced question–answer pair that maintains fairness while still offering a meaningful challenge.
Answer Evaluator
After creating the agent responsible for generating interview questions and answers, the next step is to define an agent that can evaluate candidate responses. This is the Answer Evaluator agent.
This agent’s primary role is to assess whether a given answer correctly addresses the technical question posed. Acting as a senior technical interviewer, it compares responses against the expected solution, checking for accuracy, completeness, and technical soundness.
The Answer Evaluator ensures that answers meet the required standards and provides objective, consistent evaluations that help maintain fairness in the interview process.
Once the Answer Evaluator agent is defined, it needs a specific task that guides how it should assess responses. This is the Evaluation Task.
This task directs the Answer Evaluator to review a candidate’s response and determine whether it correctly answers the given question. The task provides the question, the user’s answer, and the correct reference answer, enabling the agent to perform a detailed comparison. It then produces an evaluation that includes:
A yes/no judgment on whether the answer is correct,
A breakdown of the key points that were accurate or missing, and
A brief explanation justifying the evaluation.
The final output is a clear, structured assessment that helps identify the quality and completeness of the candidate’s response.
Follow-up Specialist
To make the interview process more dynamic and exploratory, we need an agent that can build on previous responses and push the conversation deeper. This is the Follow-up Question Specialist agent.
This agent’s role is to generate relevant and insightful follow-up questions based on the current interview context. Acting as an expert technical interviewer, it designs questions that build upon previous answers to explore a candidate’s reasoning, depth of understanding, and ability to apply knowledge in new situations.
By probing deeper into different aspects of technical expertise, the Follow-up Question Specialist helps create a more engaging, adaptive, and thorough interview experience.
Once the Follow-up Question Specialist is defined, we can assign it a clear task that guides how to generate meaningful, context-aware questions. This is the Follow-up Question Task.
This task instructs the Follow-up Question Specialist to create a follow-up question that builds on an existing interview question while considering the company, role, and difficulty level.
The agent uses this context to design a question that probes deeper understanding of the topic, challenges the candidate appropriately, and remains relevant to the company’s technical environment. The result is a thoughtful, fair, and targeted follow-up question that helps assess a candidate’s technical depth and problem-solving ability beyond the initial response.
Now that we’ve explored each agent and its specific tasks, we have a clear understanding of how all the pieces fit together — from researching the company to generating, evaluating, and refining interview questions.
In the next section, we’ll bring everything to life and see the full workflow in action.
Watch the video walkthrough
In the video below, I walk through the entire process — from the design philosophy to the actual implementation. You’ll see how an AI interviewer comes to life, question by question, agent by agent.
A final note from Miguel! 👋
Later this week, paid subscribers will gain access to a full CrewAI workshop, where Alessandro will guide you step by step through building four complete multi-agent applications from scratch.
Stay tuned and make sure to join premium to catch it all!














Couldn't agree more. This is such a clever and practical use of multi-agent systems. What an excellent way to genuinly boost confidence for interviews. So smart!
Thanks for this! I appreciate it. Excellent example. Much love!