Inspiration
We wanted to make an accessible mock interview tool accessible and realistic as possible for everyone. Most people practice by reading questions or typing into chatbots but real interviews are much more dynamic. We wanted to give aspiring workers feedback on body language, tone, pacing, and professionalism without paying for expensive coaching.
What it does
We use Gemini API to generate realistic interview questions an applier can expect from a hiring manager based on a provided job description. Then, we use ElevenLabs agent to simulate a real conversation using the text-to-speech feature. Throughout the interview we record the users response and generate personal follow up questions to make the interview. Our algorithm then extracts metrics from video/audio (eye contact, smiles, filler words, tone, speech rate, and length) and sends all data to Gemini for AI-driven performance evaluation. We provide structured feedback on: body language, tone and speech clarity, confidence, and overall professionalism.
How we built it
We built a full-stack web app with React (Next.js) on the frontend and Firebase + Node.js on the backend. We also used a WebRTC related API MediaStream to streamline visual and audio recordings of user responses. In addition, we used Gemini API for question generation and interview feedback and ElevenLabs for speech-to-text transcription. Our webapp is currently deployed on Vercel for a simple and scalable deployment.
Challenges we ran into
Early on, we faced many challenged with managing Gemini API context so it remembers past interactions and asks dynamic questions. We were able to work around it by creating chat session Ids in our schema and maintain the conversation state between the user and Gemini within one runtime.
Additionally, we struggled with balancing accuracy of analysis with speed so users don’t wait too long for feedback. We initially planned to grade user responses on dozens of variables to provide the user with the most beneficial advice possible. However, we noticed that the algorithm was very inefficient and resulted in wait times of up to 3 minutes. To resolve this, we
Accomplishments that we're proud of
We are very proud to have built a working prototype that simulates real interview conversations and provides informative feedback.
What we learned
This project taught us a lot about multi-model AI systems. We also learned a lot more about prompt engineering and how to get the best response out of AI chatbots like Gemini.
What's next for KARS Interview AI
We currently only support behavioral interviews but hope to branch out to include technical interviews as well.
Built With
- javascript
- next.js
- python
- typescript

Log in or sign up for Devpost to join the conversation.