Skip to content

Rohit273848/InterviewOS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

74 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

InterviewOS

Your AI-Powered Placement Co-Pilot – An advanced, full-stack application designed to help final-year CS students and placement aspirants master interview preparation. It parses PDF resumes, runs mock interview chat sessions, parses GitHub repositories to generate project-specific technical questions, and tracks preparation progress using rich data visualization.


Features

πŸ“„ AI Resume X-Ray

  • Text Extraction: Uses pdf-parse to extract clean text from uploaded PDF resumes.
  • ATS & Fit Assessment: Calculates ATS compatibility and candidate fit percentages matching target job descriptions.
  • Keyword Analysis: Performs keyword coverage analysis, highlighting matching and missing resume keywords.
  • Actionable Roadmaps: Generates step-by-step roadmap plans divided into immediate, short-term, medium-term, and long-term milestones.
  • Tailored Additions & Removals: Recommends specific bullet points to add (including STAR-structured examples) and low-value content to remove.

🎀 AI Mock Interview Engine

  • Interactive Chat Interface: A text-based, interactive mock interview chatbot simulated via Google Gemini AI models.
  • Flexible Configurations: Tailors interview focus (Technical, Behavioral, System Design) and difficulty levels (Easy, Medium, Hard).
  • STAR-Method Evaluation: Provides granular scoring across relevance, technical accuracy, communication, confidence, structure, and problem solving.
  • Action Plan: Outlines a 3-step prioritized study roadmap focusing on key areas for improvement.

πŸš€ AI Project Prep

  • GitHub Integration: Pastes a public GitHub repository URL to fetch codebase metadata, languages, and README files.
  • Codebase-Specific Questions: AI reviews project elements to generate specific technical questions on Architecture, Database choice, Security, Performance, Scalability, Deployment, and Design Trade-offs.
  • Detailed Hints: Accompanying guidelines for each question to direct the candidate's talking points.

πŸ’Ό Company Question Bank

  • Curated catalog of actual interview questions from top tech companies including Google, Amazon, Microsoft, Meta, Apple, Netflix, and Uber.
  • Filters questions by target company and difficulty level.
  • Direct external links to LeetCode and System Design forums.

πŸ‘₯ Interactive Prototypes (Local State)

  • Peer Review Community: High-fidelity prototype page to share uploaded resumes for community rating, commenting, and likes.
  • Admin Dashboard: Frontend management desk to inspect session activities, user registrations, and toggle status blocks.

πŸ“Š Progress Analytics Hub

  • Real-time visual progress monitoring using Recharts.
  • Radar charts for category-wise mock interview skill ratings.
  • Line/Area charts showing historical mock interview score trends.

πŸ” Secure Authentication

  • JWT-based authentication storing tokens in HTTPOnly secure cookies.
  • Persistent session storage in React frontend utilizing Redux Toolkit.
  • Client-side routing protections separating public and protected pages.

Tech Stack

Frontend

  • Framework: React 18+ (Vite)
  • Programming Language: TypeScript
  • Styling: Tailwind CSS 3.4
  • State Management: Redux Toolkit (auth & session)
  • Data Fetching: TanStack Query (React Query)
  • Routing: React Router v6
  • Data Visualization: Recharts
  • Icons: Lucide React
  • Notifications: React Hot Toast
  • Form Validation: React Hook Form + Zod

Backend

  • Runtime: Node.js
  • Framework: Express
  • Database: MongoDB (Mongoose ODM)
  • AI Orchestration: LangChain Core + @langchain/google-genai (Gemini 2.5 Flash)
  • PDF Processing: pdf-parse
  • File Upload: Multer + Cloudinary (resume hosting)
  • Auth Utilities: jsonwebtoken (JWT) + bcryptjs
  • Logging: Morgan

Project Structure

interview-project/
β”œβ”€β”€ Backend/                 # Express backend server
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ config/          # DB & Cloudinary configuration
β”‚   β”‚   β”œβ”€β”€ controllers/     # Route controller endpoints
β”‚   β”‚   β”œβ”€β”€ middlewares/     # Authentication & Multer upload middlewares
β”‚   β”‚   β”œβ”€β”€ models/          # MongoDB Mongoose schemas
β”‚   β”‚   β”œβ”€β”€ prompts/         # LangChain AI prompt templates
β”‚   β”‚   β”œβ”€β”€ routes/          # API route definitions
β”‚   β”‚   β”œβ”€β”€ services/        # AI, GitHub API, PDF parse & business services
β”‚   β”‚   β”œβ”€β”€ utils/           # Error handling & API response formatting
β”‚   β”‚   β”œβ”€β”€ app.js           # Express app setup
β”‚   β”‚   └── server.js        # Main entry point (starts server and DB connection)
β”‚   └── package.json
└── Fronted/                 # React frontend client
    β”œβ”€β”€ src/
    β”‚   β”œβ”€β”€ context/         # Redux store configuration & Confirmation context
    β”‚   β”œβ”€β”€ hooks/           # Custom React hooks (React Query integrations)
    β”‚   β”œβ”€β”€ layouts/         # App Layout wrapper with sidebar navigation
    β”‚   β”œβ”€β”€ pages/           # Client views & dashboards
    β”‚   β”œβ”€β”€ routes/          # Public & protected React Router routes
    β”‚   β”œβ”€β”€ services/        # Axios API fetch calls
    β”‚   β”œβ”€β”€ styles/          # Tailwind custom variables & global index.css
    β”‚   β”œβ”€β”€ App.tsx          # Root React component (restores user sessions)
    β”‚   └── main.tsx         # Application entry point
    └── package.json

Environment Variables

Backend (Backend/.env)

Configure these keys in a .env file under the /Backend directory:

Variable Description Example
PORT Local port for Express API server 5000
NODE_ENV Mode environment development
CLIENT_URL Frontend client origin URL http://localhost:5173
MONGO_URI MongoDB connection string mongodb://localhost:27017/interviewos
JWT_SECRET Secret key used to sign JWT auth your_jwt_secret_key
GOOGLE_API_KEY Google AI Studio developer API key AIzaSy...
CLOUDINARY_CLOUD_NAME Cloudinary storage account name your_cloud_name
CLOUDINARY_API_KEY Cloudinary API Key your_api_key
CLOUDINARY_API_SECRET Cloudinary API Secret your_api_secret

Frontend (Fronted/.env)

Configure this key in a .env file under the /Fronted directory:

Variable Description Example
VITE_API_BASE_URL Base endpoint path for the backend API http://localhost:5000/api

Getting Started

Prerequisites

  • Node.js (v18.0 or higher)
  • MongoDB (Local instance or Atlas cloud URI)
  • Google Gemini API Key (obtained from Google AI Studio)
  • (Optional) Cloudinary Account (for saving PDF resumes in the cloud)

Installation & Run

  1. Clone the repository:

    git clone https://github.com/yourusername/interview-project.git
    cd interview-project
  2. Configure environment variables:

    • Create Backend/.env using Backend/.env.example as a template and fill in your keys.
    • Create Fronted/.env and verify the VITE_API_BASE_URL value.
  3. Start the Backend:

    cd Backend
    npm install
    npm run dev

    The backend will run on http://localhost:5000

  4. Start the Frontend:

    • Open a separate terminal window at the project root.
    cd Fronted
    npm install
    npm run dev

    The frontend client will run on http://localhost:5173


Key Modules

  • Dashboard: Central dashboard rendering aggregate stats, weekly improvement graphs, radar evaluations, upcoming tasks, and preparation logs.
  • Resume X-Ray: Input target job descriptions and upload your resume PDF to receive granular keyword analysis, ATS reports, and structural suggestions.
  • Mock Interview: Practice interactive text sessions against an AI interviewer (Technical, Behavioral, System Design) and get graded reports showing suggested model answers.
  • Project Prep: Type in a public GitHub URL to inspect your repository's tech stack and immediately generate customized architecture, database, security, and scalability interview questions.
  • Question Bank: Explore curated sets of interview questions categorized by top companies and difficulty levels.
  • Peer Review & Admin Dashboards: Fully functioning frontend mockup dashboards allowing users to view student resumes, add stars, rate details, and simulate active session logs.

Screenshots

Dashboard

Placeholder: Dashboard with stats, progress tracking chart, and radar visualization

AI Interview

Placeholder: AI mock interview chat prompt and interactive feedback loop

Project Preparation

Placeholder: Project Prep repository analyzer interface and tech-stack questions list

Mock Interview

Placeholder: Active text mock session screen with timer, hint displays, and answering panel

Presentation Mode

Placeholder: Interactive mock interview report outlining scores and better answer structures


Future Improvements

  • Database Persistence for Peer Reviews: Connect the Peer Review Community module to a persistent backend database schema for sharing actual candidate reviews.
  • Verbal Practice (Speech-to-Text): Enable verbal mock interviews using browser speech recognition API to capture spoken answers.
  • Live Code Execution Sandbox: Embed a web-based code editor (such as Monaco) to enable real-time programming challenge tests.
  • Advanced Admin Management: Implement backend admin routers to manage actual user profiles, view metrics logs, and delete expired session entries.

License

This project is licensed under the ISC License – see the Backend/package.json for details.

About

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors