💡 Inspiration
In today's competitive job market, getting interview practice is crucial but often difficult to arrange. I wanted to create a tool that could provide a realistic, on-demand interview experience for anyone, anywhere. The inspiration was to build an intelligent agent that doesn't just ask scripted questions but truly interacts with the candidate, simulating a real-life HR screening call.
⚙️ What it does
'Opie' is a smart AI Interviewer Agent that conducts a complete, voice-based job interview. The workflow is simple yet powerful:
- Contextual Setup: The user uploads their PDF resume and pastes the job description for the role they are applying for.
- Live Voice Interview: The AI agent, 'Opie', analyzes this information to ask relevant and adaptive questions in a natural, female voice. It listens to the candidate's spoken answers and generates the next question based on their response.
- Automated Feedback: Upon completion, the agent evaluates the entire conversation and provides a final score out of 100, along with a summary of the candidate's strengths and areas for improvement.
🛠️ How I built it
This is a full-stack application built with a Python/Django backend and a dynamic JavaScript frontend.
- The backend, built with Django and served by Gunicorn, primarily serves the web application.
- The frontend is built with plain JavaScript (ES6+), HTML5, and Tailwind CSS. It leverages the browser's Web Speech API for both Speech-to-Text and Text-to-Speech functionalities, and pdf.js to parse resumes directly in the browser.
- The "brain" of the agent is the Google Gemini API. All cognitive tasks—understanding the CV, generating dynamic questions, and final scoring—are handled by the
gemini-1.5-flashmodel. - The final application is deployed on Render for public access.
🚧 Challenges I ran into
The most significant challenge was managing the real-time conversation flow and making it feel natural. Synchronizing the Speech-to-Text, the API call to Gemini, and the Text-to-Speech response without awkward delays required careful handling of asynchronous JavaScript. Another challenge was ensuring the AI consistently provided feedback in a structured JSON format, which I solved by refining the final evaluation prompt.
✅ Accomplishments that I'm proud of
I'm proud of building a complete, end-to-end AI application that has a real-world use case. Integrating multiple complex technologies—like a powerful LLM, browser-based speech APIs, and PDF parsing—into a single, cohesive user experience was a major accomplishment for me.
📚 What I learned
Through this project, I gained deep, practical experience in full-stack development, API integration, and prompt engineering. I also learned a lot about the nuances of the Web Speech API and how to structure a project for successful cloud deployment on a platform like Render.
🚀 What's next for AI Interviewer Agent 'Opie'
Future plans include adding a user dashboard to track interview history and progress over time, supporting multiple languages, and allowing companies to create custom interview profiles with specific question sets.
Log in or sign up for Devpost to join the conversation.