InterviewMe.ai: A Mock Interview Practice Assistant
As someone who has gone through the grueling process of technical interviews for software engineering internship roles, I understand the importance of preparation and practice. The idea for an AI-powered mock interview assistant stemmed from my own struggles with finding suitable practice partners and receiving constructive feedback on my interview performance.
Inspiration
During my internship search journey, I found it challenging to secure practice interviews with experienced professionals who could provide valuable feedback. While online coding platforms offered a plethora of coding questions, they lacked the human element of an actual interview, including behavioral and technical discussions. This gap inspired me to create an AI agent that could simulate a realistic interview experience and provide tailored feedback to help candidates improve.
What it does
InterviewMe.AI is an AI-powered application designed to assist candidates in preparing for software engineering interviews. It offers the following features:
Resume Checking: The agent analyzes the candidate's resume and provides feedback on its structure and content ensuring it is tailored for the desired role.
Project Discussion: The agent engages in a discussion about the candidate's previous projects, asking relevant questions to assess their understanding and problem-solving abilities.
Data Structures and Algorithms (DSA) Questions: Based on the candidate's level of preparation, the agent presents DSA questions of varying difficulty levels, mimicking the coding rounds of technical interviews.
Feedback and Insights: After each round, the agent provides detailed feedback on the candidate's performance, including areas for improvement, coding best practices, and overall interview techniques.
How we built it
Building InterviewMe.AI involved several key components and technologies. The core of the system was the Gemini 1.0 model. We leveraged this state-of-the-art model and tuned it with custom instructions, resume data and API's to understand and generate relevant responses.
We built different agents for different tasks distributing the work for efficiency
For the resume checking component, we used an optical character recognition method that could extract key information from the candidate's resume, such as work experience, skills, and educational background. This data was then used to tailor the interview questions and provide targeted feedback.
The project discussion draws the skills and technologies involved in a specific project. It uses these to ask relevant questions to gauge the candidates understanding of the topic. To generate coding questions we used the codeforce's API. The user can select specific topics which he/she has prepared for and questions are served based on that. The user can respond with pseudo code or another coding language supported by the code interpreter tool.
The feedback generation uses the model's context window to remember how the user responded to specific questions and answers. It analyses the strengths and weaknesses of the candidate.
Challenges we ran into
While developing the Interview Taking Agent, I encountered several challenges:
- Understanding and Analyzing Resume's: Accurately interpreting and creating questions based on the user's resume was a challenging task as it has to produce questions which actually analyze the candidates understanding of a topic.
- Personalized Feedback: Providing personalized and actionable feedback based on the candidate's performance was a complex task, as it required the agent to analyze their responses, identify strengths and weaknesses, and tailor the feedback accordingly.
- Fetching DSA Questions:Fetching DSA Questions were not as easy as expected, it included building out the documentation of API using OpenAPI 3.0 format from scratch. To overcome these challenges, I explored various tools and APIs, leveraged google cloud's computing resources, and continuously fine-tuned examples for the agent based on it's feedback.
Accomplishments that we're proud of
- Realistic Interview Experience: One of our proudest accomplishments was creating an AI agent that could simulate a highly realistic interview experience, complete with natural conversations, coding challenges, and personalized feedback. This level of realism was crucial in helping candidates prepare for the real-world scenarios they would encounter during their interviews.
- Comprehensive Feedback: The detailed and actionable feedback provided by the Interview Taking Agent was a standout feature. By analyzing the candidate's responses from multiple perspectives, we could pinpoint specific areas for improvement and offer tailored suggestions, making the feedback truly valuable for their growth. ## What we learned Building this project was a great learning experience for us as it was our introduction to google cloud. I delved into the tools of google cloud to create an intelligent agent capable of understanding and responding to user inputs. I also explored various techniques for resume parsing, question generation, and feedback mechanisms. One of the most valuable lessons I learned was the importance of carefully curating and structuring the prompts and tools we used. I spent a significant amount of time researching and collecting relevant API's, and feedback examples to ensure the agent's responses were accurate and helpful. Got a exposure to new technologies like Dialogflow CX, OpenAPI API documentation, and many more.
What's next for Mock Interview Agent
We have ambitious plans to further enhance and expand the capabilities of this innovative AI-powered assistant. While our current focus is on software engineering interviews, we recognize the need for interview preparation across different industries. We plan to develop industry-specific modules that tailor the interview questions, coding challenges, and feedback to the unique requirements of fields such as finance, consulting, and data science. We are excited about the future of InterviewMe.ai and its potential to revolutionize the way candidates prepare for interviews. With a commitment to continuous innovation and a user-centric approach, we strive to make the interview process more accessible, engaging, and ultimately, successful for individuals seeking their dream careers.
Built With
- codeforcesapi
- dialogflow-cx
- google-cloud
- vertex-ai
Log in or sign up for Devpost to join the conversation.