DEV Community

Amrendra Sharma
Amrendra Sharma

Posted on

🎤 Interview Dost — An AI Interviewer That Actually Listens Most interview practice gives you questions. Interview Dost gives you an interviewer.

Hacktoberfest Weekend Challenge: Build for a Friend Submission 🤝

Preparing for an interview often means going through endless question lists, watching mock interviews, or chatting with a generic AI assistant.
But there's a problem:
A real interviewer doesn't just ask the next question. They react to your answer.
If your answer is vague, they dig deeper.
If you demonstrate strong understanding, they increase the difficulty.
If your resume mentions a project, they can ask you about that specific project.
That idea became Interview Dost — an AI-powered interview practice partner built for a friend who wanted a more realistic way to prepare for interviews.
🚀 What I Built
Interview Dost is an adaptive AI interview simulator.
Instead of following a fixed list of questions, it uses your:

  • 📄 Resume
  • 💼 Job description
  • 🎯 Interview type
  • 📈 Experience level
  • 💬 Previous answers to create and adapt the interview in real time. The core flow is: Resume + Job Description ↓ Interview Plan ↓ AI Interviewer ↓ Candidate Answer ↓ AI Evaluation ↓ Targeted Follow-up ↓ Difficulty Adjustment ↓ Final Interview Report ↓ Personalized Practice

The goal wasn't to build another chatbot.
The goal was to make the AI feel like an actual interviewer.
🧠 The Interesting Part: Adaptive Interviews
This is the part I cared about most.
Imagine my resume says:
"Built a real-time chat application using Node.js and WebSockets."

A basic AI might ask:
"Tell me about your project."

Interview Dost can start much more specifically:
"Why did you choose WebSockets instead of polling?"

Now imagine I give a shallow answer.
Instead of simply moving to the next question, Interview Dost can identify that I haven't demonstrated enough technical depth and follow up:
"What trade-off did you consider when choosing WebSockets, and how would your approach change with 100,000 concurrent connections?"

Now the interview is actually responding to me.
That's the experience I wanted to create.
🎯 Resume + Job Description Intelligence
The resume isn't just uploaded and stored.
It becomes part of the interview context.
Similarly, the job description influences what the interviewer focuses on.
For example, if a job description emphasizes:
React
Node.js
REST APIs
AWS

the interview can prioritize those areas.
So two people using Interview Dost for different jobs shouldn't necessarily receive the same interview.
The interview should belong to the candidate and the role.
📊 After the Interview
When the interview is finished, Interview Dost doesn't simply say:
"Good job!"

Instead, it generates a practice-focused report.
It highlights areas such as:

  • Communication
  • Technical understanding
  • Answer structure
  • Specificity
  • Problem solving It also identifies: Where you can improve For example:
  • Give more concrete examples
  • Explain technical trade-offs
  • Lead with the outcome
  • Quantify your impact And then comes one of my favorite parts: Your Next 3 Practice Drills The system generates practice exercises based on the weaknesses detected during the actual interview. So the loop becomes: Interview ↓ Find weaknesses ↓ Practice weaknesses ↓ Interview again ↓ Improve

🤖 Why Open-Weight AI?
I wanted AI to be more than an API call hidden behind a UI.
Interview Dost uses an open-weight Gemma model through Ollama as the core intelligence of the application.
This gives the project a local-first architecture.
Instead of sending someone's resume and interview answers to a third-party hosted AI service by default, the model can run locally on the user's machine.
That opens up an interesting possibility for interview preparation:
Your practice session can remain local.
It also means the AI model isn't permanently tied to one provider.
The AI layer is separated behind a provider abstraction, making the model easier to swap or experiment with.
For me, that's one of the biggest advantages of building with open AI:
You don't just consume the model. You get more control over how the intelligence fits into your product.

🛠️ Tech Stack
I built Interview Dost using:

  • Next.js
  • JavaScript
  • React
  • Tailwind CSS
  • Ollama
  • Gemma open-weight model
  • Prisma
  • SQLite
  • Zod
  • PDF parsing The application also has a Demo Mode, so the complete experience can be demonstrated even when the local AI model isn't running. 🏗️ Architecture The AI functionality is separated into different responsibilities rather than putting one huge prompt into the application. Interview Dost │ ┌────────────┴────────────┐ │ │ User Input Job Context │ │ Resume PDF Job Description │ │ └────────────┬────────────┘ ↓ Interview Planner ↓ AI Interviewer ↓ Candidate Answer ↓ AI Evaluator ↓ Adaptive Decision │ ┌────────────┼────────────┐ ↓ ↓ ↓ Follow-up New Topic Difficulty │ │ Adjustment └────────────┼────────────┘ ↓ Interview Report ↓ Personalized Practice

This separation also makes it easier to experiment with different open-weight models later.
🎥 Demo

The demo walks through:

  1. Uploading a resume
  2. Adding a job description
  3. Selecting interview type and difficulty
  4. Starting an AI interview
  5. Giving an answer
  6. Receiving an adaptive follow-up
  7. Completing the interview
  8. Viewing the interview report
  9. Getting personalized practice drills 👨‍💻 Built for a Friend The idea behind this project wasn't: "What AI app can I build?"

It was:
"What would actually help my friend prepare for an interview?"

That changed how I approached the project.
I didn't want to build another generic AI assistant.
I wanted to build something that could sit beside someone while they're preparing for a real interview and say:
"Okay. I heard your answer. Now let me challenge you a little more."

💡 What I Learned
One of the biggest lessons from building this was that AI isn't necessarily the product just because an LLM is connected to it.
The interesting part is the system around the model.
The model becomes much more useful when the application gives it:

  • structured context
  • a clear role
  • state
  • previous answers
  • evaluation criteria
  • constraints
  • a meaningful next action In Interview Dost, the interesting engineering problem wasn't: "How do I ask an AI to generate an interview question?"

It was:
"How do I make the next question depend intelligently on what just happened?"

That's where the product started feeling less like a chatbot and more like an actual interview simulation.
🔮 What's Next?
If I continue developing Interview Dost, I'd like to explore:

  • 🎙️ Voice-based interviews
  • ⏱️ More realistic interview timing
  • 🧑‍💼 Company-specific interview styles
  • 💻 Live coding interviews
  • 📊 Longer-term skill tracking
  • 🧠 More advanced adaptive difficulty
  • 🏠 Fully local/private interview sessions
  • 🔄 Experimenting with different open-weight models 🙌 Try It

If you're preparing for an interview, I'd love to know:
What is the one thing you struggle with most during interviews?
Is it:

  • explaining projects?
  • technical questions?
  • behavioral questions?
  • thinking under pressure?
  • communicating clearly?

I'd love to use that feedback to improve Interview Dost.
Built for #Hacktoberfest
Built as part of the DEV Community Weekend Challenge — Build for a Friend.
The challenge focuses on building something with open-source AI at its core and solving a real problem for a real person. Pasted text

🏷️ Tags

devchallenge #weekendchallenge #hf26challenge

Top comments (0)