An intelligent interview preparation platform powered by AI that helps candidates practice and improve their interview skills through realistic mock interviews with instant feedback.
- Features
- Tech Stack
- Architecture
- Prerequisites
- Installation
- Configuration
- Running the Application
- Usage
- API Endpoints
- Project Structure
- Team
- Future Enhancements
- Contributing
- License
- ๐ค AI-Powered Interviews - Realistic interview conversations using Groq LLM API
- ๐๏ธ Voice Integration - Speech-to-text input and text-to-speech output
- ๐ฌ Real-time Chat - WebSocket-based live communication with AI interviewer
- ๐ Detailed Feedback - Comprehensive performance analysis with scores and recommendations
- ๐ Progress Tracking - View history of all previous interviews
- Position-based Questions - Tailored questions for specific job roles
- Experience Level Selection - Entry, Mid, or Senior level interviews
- Difficulty Settings - Easy, Medium, or Hard interview difficulty
- Personalized Greetings - AI addresses candidates by name
- ๐ค User Authentication - Sign up and login functionality
- ๐ฑ Responsive Design - Works on desktop, tablet, and mobile
- ๐จ Modern UI/UX - Clean, intuitive interface with Tailwind CSS
- ๐พ Interview History - Access past interviews and feedback anytime
- Java 17
- Spring Boot 3.2.0
- Spring Web
- Spring Data JPA
- Spring WebSocket
- H2 Database (In-memory, easily replaceable with MySQL/PostgreSQL)
- Groq API (LLM for AI responses)
- Lombok (Reduce boilerplate code)
- Maven (Dependency management)
- React 18.2.0
- React Router DOM (Navigation)
- Axios (HTTP client)
- Tailwind CSS (Styling)
- Lucide React (Icons)
- Web Speech API (Voice features)
โโโโโโโโโโโโโโโโโโโ
โ React App โ
โ (Port 3000) โ
โโโโโโโโโโฌโโโโโโโโโ
โ HTTP/WebSocket
โผ
โโโโโโโโโโโโโโโโโโโ
โ Spring Boot โ
โ (Port 8080) โ
โโโโโโโโโโฌโโโโโโโโโ
โ
โโโโโโดโโโโโ
โผ โผ
โโโโโโโโโ โโโโโโโโโโโโ
โ H2 โ โ Groq API โ
โ DB โ โ (AI) โ
โโโโโโโโโ โโโโโโโโโโโโ
Before you begin, ensure you have the following installed:
- Java JDK 17 or higher
- Maven 3.6+ or use included Maven wrapper
- Node.js 16+ and npm 8+
- Git
- Groq API Key (Get it free here)
git clone https://github.com/sabashaikh4/InterviewAI.git
cd InterviewAIcd ai-interview-backend
# If using Maven wrapper (recommended)
./mvnw clean install
# Or if you have Maven installed globally
mvn clean installcd ai-interview-frontend
# Install dependencies
npm installCreate or edit src/main/resources/application.properties:
# Server Configuration
server.port=8080
# H2 Database Configuration
spring.datasource.url=jdbc:h2:mem:interviewdb
spring.datasource.driverClassName=org.h2.Driver
spring.datasource.username=root
spring.datasource.password=
# JPA Configuration
spring.jpa.database-platform=org.hibernate.dialect.H2Dialect
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true
# H2 Console (Development only)
spring.h2.console.enabled=true
spring.h2.console.path=/h2-console
# Groq API Configuration
groq.api.key=YOUR_GROQ_API_KEY_HEREYOUR_GROQ_API_KEY_HERE with your actual Groq API key.
The frontend is configured to proxy requests to http://localhost:8080.
If needed, update package.json:
{
"proxy": "http://localhost:8080"
}cd ai-interview-backend
# Using Maven wrapper
./mvnw spring-boot:run
# Or using Maven
mvn spring-boot:runBackend will start at: http://localhost:8080
In a new terminal:
cd ai-interview-frontend
# Start React development server
npm startFrontend will start at: http://localhost:3000
Open your browser and navigate to:
http://localhost:3000
- Create a new account or log in with existing credentials
- Credentials are stored securely in the database
- Click "Add New" on the dashboard
- Fill in interview details:
- Position: Job role you're preparing for
- Experience Level: Entry, Mid, or Senior
- Difficulty: Easy, Medium, or Hard
- Click "Start" to begin the interview
- AI interviewer will greet you and ask questions
- Respond using:
- ๐ค Voice Input: Click mic button and speak
- โจ๏ธ Text Input: Type your response
- Click "End Interview" when you want to finish
- AI will generate detailed feedback
- Click "Feedback" to see:
- Complete transcript
POST /api/auth/signup - Register new user
POST /api/auth/signin - User login
POST /api/auth/logout - User logout
GET /api/interviews/test - Health check
POST /api/interviews - Create new interview
GET /api/interviews/user/{userId} - Get user's interviews
GET /api/interviews/{id} - Get interview details
POST /api/interviews/{id}/start - Start interview
POST /api/interviews/{id}/end - End interview
GET /api/interviews/{id}/result - Get interview result
WS /ws/interview - Real-time interview chat
ai-interview-practice/
โโโ backend/
โ โโโ src/
โ โ โโโ main/
โ โ โ โโโ java/com/interview/aipractice/
โ โ โ โ โโโ config/ # Configuration classes
โ โ โ โ โโโ controller/ # REST controllers
โ โ โ โ โโโ model/ # Entity classes
โ โ โ โ โโโ repository/ # Data repositories
โ โ โ โ โโโ service/ # Business logic
โ โ โ โ โโโ websocket/ # WebSocket handlers
โ โ โ โ โโโ AipracticeApplication.java
โ โ โ โโโ resources/
โ โ โ โโโ application.properties
โ โ โโโ test/
โ โโโ pom.xml
โ โโโ README.md
โ
โโโ frontend/
โ โโโ public/
โ โโโ src/
โ โ โโโ components/
โ โ โ โโโ auth/ # Auth components
โ โ โ โโโ common/ # Shared components
โ โ โ โโโ interview/ # Interview components
โ โ โโโ services/ # API services
โ โ โโโ App.js
โ โ โโโ index.js
โ โโโ package.json
โ โโโ README.md
โ
โโโ README.md
This project was collaboratively developed by:
[SABAH SHAIKH] - Java Spring Boot Developer
- ๐ง Designed and implemented RESTful APIs
- ๐พ Database architecture and JPA integration
- ๐ WebSocket implementation for real-time chat
- ๐ค Groq AI API integration
- ๐ Feedback generation system
GitHub: @sabashaikh4
Email: sabahshaikh154@gmail.com
[Muqsit Chitapure] - React Developer
- ๐จ UI/UX design and implementation
- โ๏ธ React component architecture
- ๐๏ธ Voice and video features integration
- ๐ฑ Responsive design with Tailwind CSS
- ๐ State management and routing
GitHub: @chitapuremuqsit
Email: chitapuremuqsit@gmail.com
- Add multiple AI models (GPT-4, Claude, Gemini)
- Video recording and playback
- Resume upload and analysis
- Company-specific interview prep
- Behavioral question bank
- Interview sharing and collaboration
- Mobile app (React Native)
- Advanced analytics dashboard
- Peer interview practice mode
- Integration with job boards
Contributions are welcome! Please follow these steps:
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
- Follow Java code conventions for backend
- Use ESLint and Prettier for frontend
- Write unit tests for new features
- Update documentation for API changes
This project is licensed under the MIT License - see the LICENSE file for details.
- Groq for providing the AI API
- Spring Boot for the robust backend framework
- React for the powerful frontend library
- Tailwind CSS for the beautiful styling
- All contributors and supporters of this project
For questions or collaboration opportunities:
- Backend: sabahshaikh154@gmail.com
- Frontend: chitapuremuqsit@gmail.com
Project Link: [https://github.com/sabashaikh4/InterviewAI]
โญ Star this repo if you find it helpful! โญ