Inspiration
The first four hires at a startup will be one of the most impactful choices a founder will make. As young founders begin to scale, they need practice finding real talent before making such important decisions. We wanted to make a platform to help founders, employers, and managers perform mock interviews on fake candidates, providing feedback on how they got to their final decision, and if they were able to get red flags out of candidates in the interview.
What it does
InterviewIQ begins by taking a job title and description for the mock interviews. It then generates multiple personas, each with their own resume, knowledge, and some red/green flags. One candidate is determined to be the "right" choice. You can then review a candidates resume and interview them. We've also included a code editor which the candidate can write in, so you can practice delivering technical questions, and guiding a candidate through the solution.
Once you've interviewed all the candidates, you can make your final hiring decision, along with a justification for your choice. InterviewIQ then takes all of your interviews, notes, and final choice, to give you a score on how well you performed. It detects unfair biases, and poor interviewer performance which might deter candidates from accepting an offer.
How we built it
All of the AI functionality is powered by Claude models. Large system prompts are given to explain the candidates experience and knowledge. The response is separated into speech and code, so the frontend can display the response correctly.
All of the voice functionality is powered by deepgram through their text-to-speech and speech-to-text services. This is combined with our speech normalizer, to ensure the models can correctly say technical terms like \(O(n)\) and \(n^2\), as well as read code blocks like nums.length without pausing at the dot.
Challenges we ran into
One of the biggest challenges was getting the technical questions to feel natural. On our first implementation, the candidate would write out the entire solution in one pass, while talking. We decided to try to get the candidate to slowly write out the solution, with the ability to explain its thinking along the way. Syncing the speech and typing together to feel natural was tricky and required a lot of trial and error, but we're super happy with the end result.
Another challenge we ran into was getting sonnet to be bad at programming... You could originally generate candidates for an internship, take a candidate with basically no experience, and ask it to solve a leetcode hard. It would get it first try, explaining every component of the solution perfectly. We couldn't fully resolve this issue, but we have gotten poor candidates to create worse solutions to questions.
Accomplishments that we're proud of
We're super happy with how the technical question functionality came out. The candidate can create, edit, and delete code along the way. This allows you to do longer questions with multiple parts, or correct a candidate and suggest a better solution.
Another big accomplishment for us was the feedback. The results we've seen are genuinely useful, and we think that the feedback could be used in real workplace environments. It explains how you could have gotten more out of a candidate, how a question you asked didn't help you learn about the candidate, or where you could have gone deeper to reveal a red/green flag about the candidate.
What we learned
This was our first time creating LLM based project, and it was huge learning opportunity for us. Understanding how to get the models to deliver structured output, and how to parse that output for the application was extremely helpful, and something we will use in many future projects. We've also learned a lot about speech synthesis and how to make the voice sound natural, especially when using technical terms.
What's next for InterviewIQ
There's a lot of features we'd love to add to InterviewIQ if we had the chance, including:
- The ability for the candidate to use a whiteboard for system design interviews
- Mixing up skills within candidates as currently the worst candidate is generally worse at everything
- Panel/group interviews
Built With
- claude
- deepgram
- next.js
- tailwind
- typescript
Log in or sign up for Devpost to join the conversation.