💡 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:

  1. Contextual Setup: The user uploads their PDF resume and pastes the job description for the role they are applying for.
  2. 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.
  3. 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-flash model.
  • 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.

Built With

Share this project:

Updates