Skip to content

marshadn/InterviewHub

Repository files navigation

InterviewHub : - AI-driven Mock Interview Web App

A comprehensive mock interview platform designed to simulate technical interviews and improve job-seeking candidates' performance through real-time feedback, resume optimization, and AI-driven assistance.

Features

  • Role-Specific Interview Questions: Leveraging Google Gemini API, the app generates interview questions tailored to the user's chosen job role, required skills, and years of experience.
  • Real-Time Response Recording: Users can answer questions through webcam and microphone for a more immersive, realistic interview simulation.
  • Automated Feedback: AI-driven feedback from Gemini analyzes each response, providing suggestions and insights to help users refine their answers.
  • Resume Content Analysis: Users can upload their resume contents as texts, and match the details (such as skills, education, and experiences) with a job description for targeted resume improvement.
  • Interactive AI Questioning: Users can ask real-time questions to the AI to clarify doubts or improve understanding during interview preparation, receiving instant results and guidance.

Tech Stack

Frontend

  • React.js: Utilized for building a dynamic, interactive user interface.
  • Vite: Chosen as the build tool to enable faster development and efficient module bundling.
  • Tailwind CSS & ShadCN UI: Used to style the components with a clean, responsive design for an intuitive user experience.

Backend & API

  • Google Gemini API: Powers question generation, feedback on answers, and real-time user support.
  • PostgreSQL Database: Stores user data, questions, and responses for quick retrieval and secure storage.
  • Drizzle ORM: Simplifies interaction with PostgreSQL by providing a lightweight Object Relational Mapper for managing database queries.

Deployment & Tools

  • Netlify: The app is deployed on Netlify for efficient, user-friendly continuous deployment and hosting.
  • Version Control: Git is used for version control, ensuring structured code management and collaborative capabilities.
  • VS Code: Primary code editor for development, supporting extensions for streamlined coding and project management.

Folder Structure

The project follows a modular structure for organized, scalable code management:

src
├── App.jsx                  # Main application component
├── main.jsx                 # Entry point for the application
├── dashboard
│   └── interview
│       └── [interviewId]
│           └── page.jsx     # Interview page with dynamic routing
├── components               # Reusable UI components
│   ├── ResumeSkillMatcher   # Component for uploading and analyzing resume content as texts
│   ├── MatchResultPage      # Component for displaying resume feedback from AI
│   └── AskQuestions         # Component for generating questions based on role and skills
|   └── Footer               # Around all footer section components are here
|   └── Header               # Around all header section components are here
├── utils                    # Utility functions and constants
└── styles                   # Tailwind CSS and other custom styling files
├── home                     # Main home page of the site
└── lib                      # db
├── auth/sign-in             # Basic authentication

Commands

Installation: Clone the repository and navigate into the project directory.


git clone https://github.com/marshadn/InterviewHub.git
cd InterviewHub

Install Dependencies:

npm install

Run the Development Server:

npm run dev

Run Production Build:

npm run build

_redirects file: Ensure you have a _redirects file in the root for Netlify client-side routing.

/* /index.html 200

Problem Addressed by the Website

Preparing for technical interviews can be challenging and overwhelming. Candidates often struggle with:

  • Lack of real-time, job-specific interview questions.
  • Difficulty in receiving immediate feedback on answers.
  • Trouble optimizing resumes to match job descriptions effectively.
  • Uncertainty in understanding and improving interview skills.

How the Website Solves These Issues

The Mock Interview Web App addresses these problems by providing:

  • Job-Specific, Skill-Based Questions: Tailored interview questions that align with the candidate’s desired job role.
  • Instant Feedback: Using AI to analyze and improve responses in real-time, helping users quickly identify strengths and weaknesses.
  • Resume Analysis and Matching: Identifies discrepancies between a resume and a job description, guiding users to enhance their resume accordingly.
  • AI Support for Clarifications: Real-time Q&A with AI for doubt resolution, helping candidates gain more clarity on complex interview topics.

How It Works

  1. User Registration: New users can sign up and log in via Clerk authentication, creating a personalized account for interview preparation.
  2. Interview Setup: Users specify their job role, skills, and experience level to get questions suited to their career path.
  3. Mock Interview: The app generates questions, records responses via webcam and microphone, and stores them in the PostgreSQL database.
  4. Feedback Display: After each answer, the AI provides constructive feedback to help users identify areas for improvement.
  5. Resume Analysis: Users can upload the contents on the resume, display its contents, and compare it with a job description for skill and experience matching.
  6. AI Q&A: Users can ask questions to AI, receiving instant responses to clarify doubts and learn more effectively.

Existing Issues and Future Enhancements

Current Issues

  • Resume Parsing Accuracy: Some inconsistencies may occur in accurately matching resume content with job descriptions.
  • Feedback Scope: Feedback focuses primarily on technical questions; expansion to behavioral aspects is desirable.

Future Enhancements

  • Advanced Resume Analysis: Improve accuracy of resume parsing and add detailed insights based on job keywords.
  • Behavioral Interview Feedback: Incorporate analysis for behavioral questions to provide a more comprehensive interview prep.
  • Multi-Language Support: Expand language support to cater to non-English speakers.
  • Additional Question Categories: Add more question types based on common interview practices for different levels.

Author

[Muhamed Marshad] - Developer and Maintainer of the InterviewHub

 Muhamed Marshad
 TVE23MCA-2036
 College of Engineering Trivandrum

About

AI driven mock interview platform

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors