Inspiration

Interview preparation is often generic. Most candidates practice with random questions from the internet, even though real interviews depend heavily on their resume, experience, and the exact job description. I wanted to build a tool that makes interview practice more personalized, realistic, and useful.

That idea led to AI Interview Trainer — a platform where candidates upload their resume and job description, attend a mock interview, and receive structured AI feedback on every answer.

What it does

AI Interview Trainer helps candidates prepare for interviews in a more targeted way.

The workflow is simple:

  • Upload a resume
  • Paste or upload a job description
  • Generate personalized interview questions
  • Answer them one by one
  • Get AI-powered evaluation for each response
  • Receive a final report with overall score, strengths, weaknesses, recommendations, and hiring signal

Instead of asking generic questions, the system uses the resume and JD together to generate questions that feel much closer to a real interview experience.

How we built it

The application was built with a Next.js frontend and a NestJS backend.

The frontend handles:

  • resume and JD upload
  • interview flow UI
  • answer submission
  • evaluation display
  • final report display

The backend handles:

  • document text extraction
  • interview session management
  • prompt orchestration
  • AI response parsing
  • result formatting

For the AI layer, I used DigitalOcean Gradient AI as the core engine. Gradient is responsible for:

  • generating personalized interview questions
  • evaluating candidate answers
  • creating the final interview summary

To keep the project simple, reliable, and hackathon-friendly, I did not use a knowledge base. Instead, I passed the extracted resume content and job description directly into the Gradient prompts. This made the workflow easier to build, easier to debug, and well suited for the project scope.

Challenges we ran into

One of the biggest challenges was balancing simplicity and quality. It is easy to build a mock interview app that asks generic questions, but much harder to generate questions that actually reflect both the candidate profile and the target role.

Another challenge was getting structured AI outputs reliably. For evaluation, I wanted consistent JSON responses containing scoring, strengths, gaps, and recommendations. That required careful prompt design and response parsing so the results stayed stable and useful.

I also had to make sure the experience felt smooth enough for a demo: upload documents, generate questions quickly, evaluate answers clearly, and show a final report that feels actionable.

What we learned

This project reinforced how powerful AI becomes when it is grounded in user-specific context. Even without a full retrieval system, simply combining resume data and role requirements produces much more relevant outputs than generic prompting.

I also learned that strong product scope matters a lot in hackathons. Keeping the architecture focused made it possible to build a cleaner and more reliable experience while still showcasing the value of DigitalOcean Gradient AI.

What's next for AI Interview Trainer

The next steps are:

  • support different interview modes such as technical, HR, and behavioral
  • advanced voice input and transcription
  • generate downloadable interview reports
  • track candidate progress across multiple mock interviews
  • provide role-specific coaching paths based on weak areas

The long-term vision is to turn AI Interview Trainer into a practical interview preparation assistant that helps candidates practice smarter and improve faster.

Built With

  • digitalocean-gradient-ai
  • nestjs
  • next.js
  • pdf-text-extraction
  • react
  • tailwind-css
  • typescript
Share this project:

Updates