This is a submission for the Hacktoberfest Weekend Challenge: Build for a Friend
What I Built
An internship interview coach. You paste a job offer (and optionally your CV), and the AI plays the recruiter. It asks you questions, listens to your answers, then gives you structured feedback and a score.
I built it for Khennel. She stresses about her answers, hesitates, and lacks structure. Worse, she has nobody to practice with who will give her honest feedback. Friends are too nice, and online tools ask for an account, a subscription, or send her answers to someone else's servers. When you're practicing something vulnerable, that last part matters.
Code
hotchanghelohim04-sudo
/
coach-entretien
"Your AI coach"
π€ Interview Coach (Coach d'entretien)
An internship interview coach that runs 100% locally with Gemma and Ollama Built for my friend Khennel, a Human Resources student preparing her first internship interviews.
Built for the DEV Hacktoberfest Weekend Challenge: Build for a Friend Category: Best Use of Gemma.
What it does
- Khennel pastes an internship offer or uploads it (PDF or Word). She can also add her CV.
- The AI plays the recruiter and asks 10 questions, one at a time, based on the offer (and the CV).
- At the end, Gemma gives a score out of 10, a summary, strengths, feedback on clarity and structure, and 3 concrete improvements.
- She can export the results and the full transcript as a Word or text file.
Why open-source AI?
- Private: offers and CVs never leave the laptop.
- Free: no API key, no subscription.
- Works offline once the modelβ¦
How I Built It
The whole thing runs locally:
- Gemma 4B through Ollama for the model
- Python for the logic
- Streamlit for the interface
The flow is simple. The user pastes a job offer (and a CV if they want). A first "recruiter" prompt turns the model into an interviewer that asks questions tailored to the offer. Once the answers are in, a second "feedback" prompt analyzes them and returns structured feedback with a score.
I learned two things the hard way:
A small model sometimes gets the scores wrong. The fix was not a bigger model, it was a tighter prompt: I constrained the output format so the model had less room to wander.
Keeping the project small is a feature. One weekend, one clear use case, one complete app.
Why Does Open Innovation Matter?
This project only makes sense because the AI is open.
It runs locally and offline. Khennel can practice anywhere, even with a bad connection.
Her data stays private. Her answers, her CV, her nerves: none of it leaves her laptop.
It costs nothing. No subscription, no API bill, no account. A student can use it for free, as often as she wants.
The model is swappable. If a better open model shows up tomorrow, I change one line.
A closed API would have meant sending a stressed student's CV and unpolished answers to a server, and paying per practice session. For a tool whose whole purpose is "fail safely, then try again", that would have defeated the point.
Prize Categories
Best Use of Gemma: the whole project is built around Gemma 4B running locally.
Thanks for participating!
Top comments (1)
My project π