DEV Community

SRIRAM S
SRIRAM S

Posted on

MockMate: a free interview coach for [friend's name] that runs on my own laptop

This is a submission for the Hacktoberfest Weekend Challenge: Build for a Friend

What I Built

Ragul is preparing for cloud and data analytics jobs in Tamil Nadu, and so am I, which means we both know the same problem: nobody to practise interviews with. Paid mock interview tools cost money, and practising on a friend gets awkward fast.

MockMate asks interview questions on Python, Excel, SQL, Power BI and cloud basics. You type your answer and it gives a score out of 10, what was good, what was missing, and a stronger sample answer. A progress tab tracks your average per topic and points out your weakest one. [Add one honest sentence on why this matters to your friend.]

Code

🎤 MockMate

A free interview practice partner for cloud and data analytics jobs. It runs on your own machine using an open-weight model, so your answers never leave your laptop and there is nothing to pay for.

Built for a friend for the Hacktoberfest Weekend Challenge: Build for a Friend.

What it does

  • Asks interview questions on Python, Excel, SQL, Power BI and Cloud basics
  • Lets you pick a level: Fresher or Intermediate
  • Scores your answer out of 10 and shows what was good, what was missing, and a stronger sample answer
  • Saves every attempt and shows your average per topic and your weakest topic in a Progress tab

Tech stack (all open source)

Part Tool
Model qwen2.5:7b (open weights)
Local inference Ollama
Interface Streamlit
Storage SQLite (a single local file, mockmate.db)

Setup

  1. Install Ollama and pull the model:

    ollama pull qwen2.5:7b
    Enter fullscreen mode Exit fullscreen mode
  2. Install the Python packages:

    …
    Enter fullscreen mode Exit fullscreen mode

How I Built It
qwen2.5:7b through Ollama is the interviewer and the evaluator. One model asks the question, then judges the answer.
JSON mode forces the evaluation into a fixed shape (score, good, missing, better answer), so the app can store scores and draw progress instead of showing loose text.
SQLite keeps every attempt in one local file.
Streamlit gives the two-tab interface.

The whole app is one Python file of about 130 lines. [Add one real problem you hit, for example the model returning scores outside 1 to 10, which the code now clamps.]

Why Does Open Innovation Matter?

Interview practice is vulnerable. People answer badly, and nobody wants those attempts on someone else's server. With an open-weight model running locally, [friend's name]'s answers and weak spots stay on their own machine, there's no per-question bill, and it works without internet once the model is downloaded. I also made the interviewer fit our situation: the prompt targets entry-level cloud and data roles in India, which I could change in one line. I couldn't do that with a general-purpose closed chatbot.

Top comments (0)