Inspiration

Technical interviews can be stressful, especially for students and beginners who do not have access to mock interview platforms or personalized feedback. Most practice websites provide static question banks but do not adapt to a candidate's performance.

I wanted to build a tool that could simulate a technical interview, evaluate responses, adjust difficulty levels, and help users identify their strengths and weaknesses. The goal was to create an accessible interview preparation platform that feels more interactive than simply solving questions from a list.

What it does

Adaptive AI Interview Agent is a web-based interview simulator that:

  • Asks technical questions across multiple programming topics.
  • Evaluates responses using NLP-based semantic similarity.
  • Adapts question difficulty according to user performance.
  • Tracks strong and weak areas throughout the session.
  • Extracts technical skills from uploaded PDF resumes.
  • Generates structured interview assessment reports.

The platform aims to provide a more personalized interview preparation experience.

How I built it

The project was built using Python and Streamlit.

Key technologies used include:

  • Sentence Transformers for semantic answer evaluation.
  • Scikit-learn for similarity calculations.
  • PDFMiner for resume text extraction.
  • FPDF2 for report generation.
  • GitHub for version control.
  • Streamlit Cloud for deployment.

The application follows a modular architecture where interview flow, answer evaluation, resume parsing, reporting, and state management are handled in separate components.

Challenges I ran into

One of the biggest challenges was managing application state in Streamlit. Since the framework reruns the script after every interaction, maintaining interview progress, question history, and performance data required careful use of session state.

Another challenge was answer evaluation. Basic keyword matching often failed to recognize correct answers that were phrased differently. To improve accuracy, I explored semantic similarity approaches using Sentence Transformers.

Deploying the application and resolving issues related to GitHub integration, merge conflicts, and cloud deployment also required significant debugging and testing.

Accomplishments that I am proud of

  • Successfully built and deployed a fully functional interview simulation platform.
  • Integrated NLP-based semantic answer evaluation.
  • Implemented adaptive difficulty adjustment based on candidate performance.
  • Added PDF resume parsing and skill extraction capabilities.
  • Generated automated interview assessment reports.
  • Learned and applied Git, GitHub, cloud deployment, and modular software design practices.

What I learned

Through this project, I gained hands-on experience with:

  • Natural Language Processing (NLP)
  • Semantic similarity and text embeddings
  • State management in Streamlit applications
  • PDF text extraction and processing
  • Git and GitHub workflows
  • Cloud deployment
  • Building end-to-end AI-powered applications

The project also reinforced the importance of iterative debugging, testing, and designing software in modular components.

What's next for Adaptive AI Interview Agent

Future improvements include:

  • Resume-driven question generation.
  • Larger and more diverse interview question banks.
  • Voice-based interview interactions.
  • More detailed performance analytics and visualizations.
  • Personalized learning recommendations.
  • Support for additional domains beyond programming interviews.

The long-term goal is to develop the platform into a more comprehensive interview preparation and skill assessment system.

Built With

Share this project:

Updates