ai-interview-coach
AI Interview Coach
Live Demo: ishan-25/ai-interview-coach
Weโve all stared blankly at a complex, 5-page job description trying to guess what the interviewers will actually ask, or walked out of an interview wishing we had practiced incorporating our technical stack keywords more naturally.
My project is the answer. Not another generic chat window that spits out basic adviceโbut an intelligent, end-to-end simulation environment and personal communication coach for your interview preparation. Paste any raw job posting, get an instant structured role analysis, step into an interactive practice session, and receive granular, context-aware coaching.
Check out the system operating in real-time, handling prompt validation, processing answers, and assembling reports:
Preparing for interviews is broken in two distinct places:
Before the LLM even wakes up, programmatic regex filters protect the container against malicious script injections. Once safe, a deterministic gatekeeper ensures the input is an authentic, complete job description containing actual operational requirements.
The platform completely abandons rigid text character checking. Powered by advanced reasoning, the scoring engine evaluates responses based on true semantic context. It rewards you for expressing high-level technical concepts, architectural strategies, and operational synonyms naturally.
The moment an interview loop concludes, your session state metrics are funneled into a local server binary worker. It instantly structures your scores, highlights, missing concepts, and milestones into a professionally styled, downloadable PDF evaluation sheet.
To stay safely under the hackathon's strict 32B cap and keep container overhead close to zero, the platform runs on an highly efficient, decoupled decoupled layout:
Qwen/Qwen2.5-7B-Instruct (Operating over a high-availability cloud serverless API pipeline)Gradio 6.18.0 (Configured with a glassmorphic dark design system and animated HTML backgrounds)ReportLab (Compiling complex vector layout binary streams on the fly)Everything is completely decoupledโyour UI dashboard, agent executors, and data pipelines are independent Python workers, maximizing transaction speeds.
They say the best way to truly learn a framework is to watch it break under a hackathon deadline, and building this AI Interview Coach proved that theory right in the most exhausting, rewarding way possible. I learned the hard way the importance of choosing the right model for the right version of software because as it turns out, some model dont actually support all the version of the libraries and support apps you may be using and thus, it leads to chaos much like my project did.
Here is brief rundown of wild ride that were the last 48 Hours
My initial orchestration layer was wired to use a classic Hugging Face text-generation endpoint. But when I attempted to boot up the advanced Qwen 2.5 7B model, the serverless cluster repeatedly threw catastrophic, unhandled metadata errors.
Instead of panic-reverting to a weaker model, I dug into the raw engine architecture. I completely ripped out the unstructured string generation pipelines and rewrote the model core to utilize the modern, OpenAI-compliant client.chat_completion() framework. This single architectural shift bypassed the task limitations, dropped latency to milliseconds, and unlocked the true reasoning capabilities of the Qwen framework.
Originally, the application's grading system used a traditional Python exact-string matcher (k.lower() in answer_lower) to score candidate keywords. During testing, it felt horribly robotic. If a user explained a brilliant technical concept using structural synonyms or operational workflows instead of the exact verbatim keyword string, the script penalized them heavily and capped their score at 5/10.
I realized that a true "AI Coach" shouldn't look for character matchesโit needs to evaluate meaning. I entirely deleted the hardcoded Python filtering loops and prompt-engineered the Qwen model to handle deep semantic extraction. I designed an isolated, safe JSON parsing pipeline that allowed the model to map out successful keyword hits conceptually, instantly transforming a rigid checker into a fluid, human-like technical evaluator.
๐ก Key Takeaways from the Trenches:
Stability > Refinement on a Deadline: I originally wanted to push the boundaries of my free tier allocations by running a massive 14B model wrapper. When high-throughput hosting networks started timing out, I quickly pivoted back to a fine-tuned 7B model. A working, highly responsive system is infinitely more valuable to a user than a bloated model that returns server timeout flags.
Gradio is Incredibly Flexible: Working with Gradio 6 showed me how easily you can break past generic app wrappers. By injecting custom CSS, overriding Svelte state selectors, and designing raw HTML blocks for animated background blobs, I was able to build a dark-mode theme that feels like a premium enterprise dashboard.
Decouple Your Components: Keeping my UI layout layers (interview_coach.py), orchestrations (engine.py), and validation guards (agents/) completely isolated saved my project. When a major bug hit the scorer, I could easily refactor the agent's logic without touching a single line of my dashboard positioning code.
Lastly, I just want to give a brief about how to use the web app so u can try it yourself: Step 1: Enter a job description that u want to be preparing for
Step 2: Scroll down and pick you desired Mock Interview depth(3 Questions, 5 Questions, maybe 7 if u are looking for a thorough session)
Step 3: Answer the tailored Question the AI Coach made for you
Step 4: hit "๐ Get Feedback" button to get feedback with reasoning behind the score awarded. (It also tells you where u did well and not-so-well)
Step 5: Hit next Question and repeat from Step 3
Once all the questions are done u may go to the History and Tips section to download a session report pdf all for you to refer down the line for improvement.
AI Interview Coach
More from this author