Skip to content

saibhargavi-rapolu/Interview-Trainer-Agent

Repository files navigation

🎯 Interview Trainer Agent

AI-Powered Interview Preparation System | Edunet Foundation Γ— IBM Internship


Project Overview

The Interview Trainer Agent is an intelligent, AI-powered application built using IBM Granite models via IBM watsonx.ai and LangFlow. It helps job seekers prepare for interviews by generating personalized, role-specific interview questions, model answers, and improvement tips based on their job role, experience level, and skills.

This project was developed as part of the Edunet Foundation Γ— IBM SkillsBuild Internship Program.


Features

  • Conversational Chat Interface β€” Interact naturally to get interview questions
  • Resume/Document Upload β€” Upload your resume (PDF/TXT/DOCX) for personalized preparation
  • Role-Specific Questions β€” Tailored technical and behavioral questions for any job role
  • Model Answers β€” Detailed model answers for every question generated
  • Improvement Tips β€” Actionable tips to improve your interview performance
  • Quick Prompts β€” One-click preparation for popular job roles
  • Powered by IBM Granite β€” Enterprise-grade AI via IBM watsonx.ai

Tech Stack

Technology Purpose
IBM Granite (ibm/granite-4-h-small) Core AI model for question generation
IBM watsonx.ai Model deployment and AI governance
IBM Cloud Cloud infrastructure
LangFlow Visual agent workflow orchestration
Streamlit Frontend chat interface
Python Backend application logic

Architecture

User Input (Chat / Resume Upload)
            ↓
    Streamlit Frontend (app.py)
            ↓
    LangFlow API (localhost:7860)
            ↓
  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
  β”‚     LangFlow Agent Flow      β”‚
  β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚
  β”‚  β”‚Chat Inputβ”‚  β”‚ Prompt  β”‚  β”‚
  β”‚  β””β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”˜  β”‚Template β”‚  β”‚
  β”‚       β”‚        β””β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”˜  β”‚
  β”‚       β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜      β”‚
  β”‚          β”Œβ”€β”€β”€β–Όβ”€β”€β”€β”€β”         β”‚
  β”‚          β”‚ Agent  β”‚         β”‚
  β”‚          β”‚IBM     β”‚         β”‚
  β”‚          β”‚Granite β”‚         β”‚
  β”‚          β””β”€β”€β”€β”¬β”€β”€β”€β”€β”˜         β”‚
  β”‚          β”Œβ”€β”€β”€β–Όβ”€β”€β”€β”€β”         β”‚
  β”‚          β”‚ Chat   β”‚         β”‚
  β”‚          β”‚ Output β”‚         β”‚
  β”‚          β””β”€β”€β”€β”€β”€β”€β”€β”€β”˜         β”‚
  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
            ↓
    Interview Questions + Model Answers + Tips

Installation & Setup

Prerequisites

  • Python 3.10 or above
  • pip or uv package manager
  • IBM Cloud account (free/Lite tier)
  • IBM watsonx.ai project with API key

Step 1 β€” Clone the Repository

git clone https://github.com/saibhargavi-rapolu/Interview-Trainer-Agent.git
cd Interview-Trainer-Agent

Step 2 β€” Install Dependencies

pip install -r requirements.txt

Step 3 β€” Install and Start LangFlow

pip install uv
uv venv langflow
langflow\Scripts\activate       # Windows
uv pip install langflow
uv run langflow run

LangFlow will start at: http://localhost:7860

Step 4 β€” Configure IBM watsonx.ai in LangFlow

  1. Open LangFlow at http://localhost:7860
  2. Create a new blank flow
  3. Add components: Chat Input β†’ Prompt Template β†’ Agent (IBM Granite) β†’ Chat Output
  4. In the Agent component, enter your:
    • IBM Cloud API Key
    • watsonx Project ID
    • Endpoint: https://us-south.ml.cloud.ibm.com
  5. Select model: ibm/granite-4-h-small

Step 5 β€” Run the Streamlit App

streamlit run app.py

Open your browser at: http://localhost:8501



Environment Variables

Update these values in app.py:

LANGFLOW_URL = "http://127.0.0.1:7860"
FLOW_ID = "your-langflow-flow-id"
LANGFLOW_API_KEY = "your-langflow-api-key"

Requirements

streamlit
requests
langflow

How to Use

  1. Start LangFlow β€” Run uv run langflow run in terminal
  2. Start the app β€” Run streamlit run app.py in another terminal
  3. Open browser β€” Go to http://localhost:8501
  4. Chat or Upload β€” Type your job role or upload your resume
  5. Get Questions β€” Receive personalized interview questions and answers instantly

Example Prompts

"I am applying for a Python Developer role with 1 year of experience."
"I am a Data Scientist with 3 years experience in ML and Python."
"I am a fresher applying for a Web Developer position."

LangFlow Agent Prompt

The agent uses this optimized system prompt:

You are an expert Interview Trainer Agent powered by IBM Granite.
When a user provides their job role and experience level, respond with:

##  Interview Preparation Guide
###  Technical Questions (5 questions)
###  Behavioral/HR Questions (3 questions)
###  Improvement Tips (3 tips)
###  Key Topics to Study

Key Highlights

  • Role-Specific Precision β€” Questions tailored to exact job title and experience
  • RAG-Powered β€” Retrieves real interview patterns in real-time
  • Dual Assessment β€” Covers both technical skills and behavioral/soft skills
  • Model Answers β€” Not just questions, but how to answer them effectively
  • Resume-Aware β€” Analyzes uploaded resume for personalized preparation
  • IBM Enterprise-Grade β€” Powered by IBM Granite for reliable, governed AI

Future Scope

  1. Voice Interview Simulation β€” Practice speaking answers with AI feedback
  2. Company-Specific Preparation β€” Questions based on specific company patterns
  3. Real-Time Performance Analytics β€” Dashboard showing scores and improvement trends
  4. Multilingual Support β€” Interview prep in Hindi, Telugu, and other languages

🌐 Live Demo

**Click here to try the app : https://interview-trainer-ibm.streamlit.app **

Author

Rapolu Sai Bhargavi Edunet Foundation Γ— IBM SkillsBuild Internship


License

This project is licensed under the MIT License β€” see the LICENSE file for details.


Acknowledgements

  • Edunet Foundation β€” For providing this internship opportunity
  • IBM β€” For IBM Granite models and watsonx.ai platform
  • LangFlow β€” For the visual agent workflow builder

About

AI-powered Interview Trainer Agent using IBM Granite and LangFlow

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages