Inspiration
I realized that most interview preparation tools available today are either online or cloud-based, meaning every detail a candidate shares are stored externally. This raises serious privacy concerns. On top of that, these tools mostly focus on evaluating what is said, while ignoring important non-verbal factors like posture, body language, and overall confidence. I wanted to build something private, local, and holistic-a tool that not only evaluates answers but also analyzes how someone presents themselves.
What it does
Persona is a local AI-powered interview coach that helps candidates practice for interviews in real time. It runs entirely on the user’s machine, ensuring full privacy. Using GPT-OSS:20B, it conducts live mock interviews, processes speech-to-text, and generates recruiter-style feedback. At the same time, it uses Mediapipe and OpenCV to analyze posture and body language. After each session, Persona provides detailed reports that include confidence scores, answer quality, English proficiency, and posture insights.
How I built it
I built Persona in Python with a Flet-based GUI. GPT-OSS:20B runs locally through Ollama for all interview dialogue and reasoning. Faster-Whisper handles real-time speech-to-text, while Piper provides natural voice synthesis. For posture and eye detection, I used Mediapipe with OpenCV. I packaged everything into an executable version for Windows alongside the source code for developers.
Challenges I ran into
Building Persona required a lot of careful thinking at different stages.
I had to spend significant time on prompt engineering GPT-OSS:20B, making sure the model responded in a way that resembled a real interviewer while staying relevant to the candidate’s role and background.
I also had to think through how to integrate multiple components-speech recognition, text-to-speech, vision tracking, and the LLM using asynchronous/multithreading so that they worked smoothly together without bottlenecks.
Another area that required deep consideration was the GUI design. Since Persona manages several real-time processes simultaneously, I needed to carefully plan the use of asynchronous operations and threading. At the same time, I wanted the interface to remain minimalist and distraction-free, which meant balancing performance with design choices.
Accomplishments that I'm proud of
I am proud that Persona is completely private and offline, while still delivering high-quality, real-time interviews. Integrating posture analysis alongside verbal Q/A feedback makes it unique compared to traditional tools. I am also proud of creating a clean, minimalist GUI that ensures accessibility for users without overloading system resources. Most importantly, I managed to package a fully functional .exe version, making it accessible for people without a developer background.
What I learned
I learned how to effectively combine multiple AI components-LLMs, speech recognition, text-to-speech, and vision analysis into one coherent application. I also gained a deeper understanding of optimizing large models for local inference and how to design a GUI that feels both lightweight and professional. This project reinforced the importance of privacy in AI tools and how critical real-time performance is when dealing with human interaction.
What's next for Persona
My next steps are to expand Persona’s capabilities by adding multi-language interview support, deeper analytics (including tone of voice, speech pacing, and eye contact), and customizable interviewer personas that can simulate different styles-friendly, strict, or panel-based. I also want to build a university dashboard version that allows institutions to run bulk mock interviews for students. Eventually, my goal is to make Persona the go-to offline interview coach for candidates worldwide.



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