Skip to content

ShubhamDbug/Ai-Interviewer

Repository files navigation

🤖 AI Interviewer

AI Interviewer is a modern, web-based mock interview platform designed to simulate real interview environments. Built using React + TypeScript, it integrates with Firebase for data storage and Clerk for secure authentication. Deployed on Vercel, this application offers an AI-powered interview experience — complete with intelligent follow-up questions based on user responses.


🚀 Features

✅ Mock Interview Flow

  • Users can start a mock interview session and answer a set of AI-generated questions.
  • Interviews are categorized and stored using interviewId (mockId).

🤯 Smart Follow-Up Questions

  • Unique system that dynamically generates follow-up questions based on the user’s previous answer.
  • Follow-ups are contextually relevant and designed to simulate real-time interviewer curiosity.
  • Each follow-up is linked to its parentQuestion, forming a question tree.

📊 User Answer Tracking

  • All user answers are saved in Firebase (userAnswers collection).
  • The system can detect if a follow-up was left pending or answered.
  • Answers and their statuses are fetched and displayed intelligently.

🔒 Authentication with Clerk

  • Only authenticated users can take mock interviews.
  • Secure session management and profile tracking.

☁️ Firebase + Firestore

  • All data including questions, follow-ups, and answers are stored in Firestore.
  • Efficient querying for:
    • Fetching user answers by question and mock ID
    • Getting follow-up questions for a parent question
    • Checking pending follow-ups

🌐 Deployment

  • Deployed on Vercel, providing fast, scalable delivery.

🧠 How It Works

  1. User Logs In → Authenticated via Clerk.
  2. Starts Interview → Interview questions are fetched.
  3. Answers a Question → Answer is saved in userAnswers.
  4. AI Evaluates Answer → Generates relevant follow-up questions.
  5. Follow-Ups Saved → Stored in FollowUpQuestions collection with:
    • interviewId
    • parent_Question
    • followUps (array or object with { question, answer, userAnswer })
  6. User Answers Follow-Ups → These answers are updated back to the same document.
  7. Final Result → Can be shown with analytics or completion status.

🗂 Project Structure (Important Folders)

About

Resources

Stars

Watchers

Forks

Packages

No packages published