Inspiration
I lost my job as a developer in Dec 2023 after 7.5 years at a big US-based company, and since then I have not been able to find another full-time job, only short contracts with start-ups. Most of the time when I apply for a job on LinkedIn, there are over 100 applicants shown, even for onsite and hybrid jobs.
It seems there are a lot of developers looking for full-time work and I think a major cause is AI wiping out jobs where AI can do the work faster, smarter, and cheaper than humans, especially in the last half of 2025 with the rise of code assistants and the economic uncertainty companies are facing due to trade wars.
To help people like me compete with a large number of applicants for a single job, not only in development but also other professions where AI is replacing humans, I chose to use AI to build an app Interview Ace which lets you practice interviewing and get feedback to stand out from the crowd.
Helping one person get a job also helps people depending on that person, like my wife and kids in my case, and in turn contributes to the betterment of society.
What it does
Interview Ace lets you enter skills and industry and generate a set of interview questions based on them. You can edit the AI-generated questions, including adding your own, and when you're ready, click "Begin Interview". The AI will then interview you using the list of questions as a guide, interacting with you intelligently in the persona of an interviewer in the specified industry. You can enable the AI voice option to have each interview question read aloud to you, and you can replay the audio in the player at the bottom if you need to re-hear the question. To make the interview more realistic, you can also hide the interview questions.
When you've completed the interview, the app generates a transcript showing each question and answer pair. You can add to this by clicking "Add Sentiment Analysis" for the AI to analyze the sentiment in your answers: your confidence, emotional tone, sincerity, enthusiasm, engagement, and respectfulness.
You can also click "Add Hire/No Hire Reco" for the AI to generate a recommendation to hire you or not based on your answers. This displays a description of your strengths and weaknesses during the interview, and a hire or no hire recommendation, including a justification.
You can download the transcript with the sentiment analysis and hire recommendation to review and based on this feedback, you can try the interview again, either with the same questions, edited questions, or new generated questions.
How I built it
I built Interview Ace in Python 3.12 using these AI models:
- Meta Llama 3.3 70B Instruct (hosted on Nebius)
- OpenAI GPT-4o-mini Text-to-Speech
- PlayAI Text-to-Speech (hosted on Groq)
Llama 3.3 is used for the interview, generating the interview questions, the transcript, the sentiment analysis, and the hire or no-hire recommendation.
OpenAI GPT-4o-mini is used to read the questions to you by Text-to-Speech. If the request fails as I experienced due to a rate limit error, then PlayAI Text-to-Speech hosted on Groq is used as a fallback.
Gradio is used for the web UI and chatbot interface, with the interview transcript and results rendered using Jinja for the HTML in both the app and the downloaded report. The actual interview is implemented using LangChain and LangGraph which maintains the state of the conversation.
There's a separate prompt file for each part of the app:
- interview_questions.prompt.txt
- conduct_interview.prompt.txt
- extract_interview_transcript.prompt.txt
- sentiment_analysis.prompt.txt
- hire_recommendation.prompt.txt
By keeping the prompts in separate files, it will be easy to tweak them as needed on a model change.
What's next for Interview Ace
The obvious must-have feature to implement next is voice support for your interview answers, to make the experience more realistic like an actual online interview. Good luck and remember to smile!
Built With
- beautiful-soup
- css
- gpt-4o-mini
- gradio
- groq
- jinja
- langchain
- langgraph
- llama3.3
- nebius
- playai
- python3.12
- text-to-speech

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