AI-Powered Mock Interview Platform — Practice technical interviews with an AI interviewer, get real-time scoring and feedback, and track your improvement over time.
InterviewPilot is a full-stack web application that simulates real technical interviews:
- Choose your target role (SDE, Data Scientist, etc.), topic (DSA, System Design, Java), and difficulty
- Answer AI-generated interview questions in a natural chat interface
- Get scored instantly with detailed feedback — strengths, improvements, and model answers
- Track your progress across multiple interview sessions with analytics
| Layer | Technology |
|---|---|
| Backend | Java 17, Spring Boot 3.5 |
| AI Engine | Google Gemini API |
| Database | H2 (dev) / PostgreSQL (prod) |
| Frontend | Thymeleaf + HTMX |
| Build | Maven |
┌──────────────────────┐
│ Thymeleaf + HTMX UI │
└──────────┬───────────┘
│ HTTP
┌──────────▼───────────┐
│ InterviewController │
└──────────┬───────────┘
│
┌──────────▼───────────┐
│ InterviewService │
├──────────┬───────────┤
┌────▼────┐ ┌─▼──────────┐
│AIService│ │ScoringService│
└────┬────┘ └─┬──────────┘
│ │
┌────▼──────────▼───┐
│ Google Gemini API │
└───────────────────┘
│
┌────▼────────────┐
│ H2 / PostgreSQL │
└─────────────────┘
- Phase 1: Project Setup & Foundation
- Phase 2: Interview Session Management
- Phase 3: AI Integration — Question Generation
- Phase 4: Real-Time Chat Interface
- Phase 5: AI-Powered Answer Evaluation & Scoring
- Phase 6: Interview History & Analytics
- Phase 7: Advanced Features
- Phase 8: Deployment & Polish
src/main/java/com/prakash/interviewpilot/
├── config/ # Configuration classes
├── controller/ # HTTP controllers (Thymeleaf views)
├── dto/ # Data Transfer Objects
├── model/ # JPA entities
├── repository/ # Spring Data JPA repositories
├── service/ # Business logic layer
└── InterviewpilotApplication.java # Main entry point
# Clone the repo
git clone https://github.com/<your-username>/InterviewPilot.git
cd InterviewPilot
# Run the app (no Maven install needed — uses Maven Wrapper)
./mvnw spring-boot:run # Linux/Mac
mvnw.cmd spring-boot:run # Windows
# Visit http://localhost:8080Detailed phase-by-phase documentation is available in the docs/ folder:
This project is for educational and portfolio purposes.