A conversational AI agent built for the Eightfold Agentic AI Internship assignment.
This project allows users to practice interviews with a realistic AI interviewer and receive detailed, professional feedback.
- Conducts mock interviews for selected job roles
- Asks contextual follow-up questions
- Adapts to user response style (efficient, confused, chatty)
- Provides detailed structured feedback (strengths, areas to improve, tips, rating)
- Voice support (optional β but included in frontend design)
- Fast, free LLM using Groq API (Llama-3 models)
- FastAPI
- Groq API (llama-3.1-8b-instant model β FREE)
- Pydantic
- Uvicorn
- dotenv
- HTML
- CSS
- JavaScript
- Browser Speech-to-Text (Web Speech API)
- Live Server
interview-practice-agent/
β
βββ backend/
β βββ main.py
β βββ requirements.txt
β βββ .env
β βββ venv/
β
βββ frontend/
βββ index.html
βββ style.css
βββ script.js
git clone <your-repo-url>
cd interview-practice-agent
cd backend
python -m venv venv
venv\Scripts\activate
pip install -r requirements.txt
Create a .env file inside backend/:
GROQ_API_KEY=your_key_here
Get your free API key: https://console.groq.com/keys
(No credit card required)
uvicorn main:app --reload
Backend will run at:
Check health:
π http://127.0.0.1:8000/health
cd ../frontend
Right-click index.html β
π Open With Live Server
Or open manually:
π http://127.0.0.1:5500/frontend/index.html
- Select job role, experience level, and mode
- Click Start Interview
- Answer questions (text or voice)
- AI interviewer asks smart follow-ups
- Click Get Feedback
- Receive:
- Strengths
- Areas to improve
- Actionable tips
- Rating (0β5)
Frontend (HTML/JS)
β REST API calls (fetch)
Backend (FastAPI)
β
Groq LLM (Llama 3.1 Models)
- Frontend sends
/start,/message,/finish - Backend stores session β generates next question
- Feedback is created using structured prompt engineering
- Fastest free inference
- No quota issues
- Great for conversational tasks
- Lightweight
- Easy routing
- Async for smooth processing
- No external dependency
- Works in browser
- Simple to integrate
Used in-memory dictionary:
SESSIONS = { sessionId: { role, level, mode, qa[] } }
Your demo video (max 10 minutes) should show:
- Efficient user
- Chatty user
- Confused user
- Off-topic user
No slides needed β only screen recording with voice.
- Conversational quality
- Agentic behaviour
- Multi-persona handling
- Technical implementation
- Natural interaction
- Detailed README
- Clear architecture reasoning
Modi Sireesha
Eightfold Agentic AI Internship β Assignment Submission