Resume Insight Hub is a sophisticated, AI-enhanced web application designed to empower job seekers. By bridging the gap between resume content and job requirements, it provides actionable intelligence to help candidates land their dream roles.
This application goes beyond simple keyword matching; it acts as a personal career coach, analyzing your professional history against specific job descriptions to provide a weighted match score, identify critical skill gaps, and offer tailored improvement suggestions.
- Dual-Mode Processing:
- Cloud AI Mode: Leverages advanced Large Language Models (LLM) via Google Gemini (when configured) for deep semantic understanding of experience and soft skills.
- Robust Offline Mode: A powerful local fallback system that uses natural language processing heuristics to extract keywords, calculate Jaccard similarity indices, and identify skills even without an internet connection.
- Dynamic Scoring: Generates a unique "Match Percentage" based on skill overlap, experience relevance, and keyword density.
- Multi-Format Parsing: Seamlessly handles PDF, DOCX (Word), and TXT files.
- Text Extraction: Utilizes
pdf.jsfor PDFs andmammoth.jsfor Word documents to accurately extract text while preserving structural context.
- Skill Gap Analysis: Automatically compares your resume against the Job Description (JD) to generate a straightforward list of "Missing Skills" that you should consider adding.
- Visual Metrics:
- Overall Match Score: A high-level 0-100 score.
- Category Breakdowns: Separate scores for Hard Skills, Experience Alignment, and Keyword Optimization.
- Actionable Suggestions: innovative recommendations on how to improve your resume (e.g., "Quantify your sales achievements").
- Authentication: Secure sign-up and login via Email/Password or Google OAuth (configurable).
- History Tracking:
- Guest Mode: Analyses are stored locally in the browser for privacy and quick access.
- Authenticated Mode: Data is synced to the cloud (Firestore), allowing you to access your history across multiple devices.
- Data Management: Users have full control to view previous reports or delete old analyses.
This project is built as a modern Single Page Application (SPA).
- Frontend Framework: React (v18) with TypeScript for type safety.
- Build Tool: Vite for lightning-fast development and optimized production builds.
- Styling:
- Tailwind CSS for utility-first styling.
- Framer Motion for fluid UI transitions and animations.
- shadcn/ui for accessible, high-quality component primitives.
- Backend Services:
- Firebase Authentication: Identity management.
- Firestore: NoSQL cloud database for user data persistence.
- Supabase Edge Functions (Optional): For handling server-side AI processing requests.
Follow these steps to set up the project locally.
- Node.js: Version 18.0.0 or higher.
- npm (Node Package Manager).
-
Clone the Repository
git clone https://github.com/yourusername/resume-insight-hub.git cd resume-insight-hub -
Install Dependencies
npm install # This will install React, Vite, Firebase SDK, and all UI libraries. -
Environment Configuration (Crucial for Cloud Features) Create a file named
.envin the root directory. This connects the app to your Firebase backend.Note: If you skip this, the app will run in "Offline/Demo Mode" only.
VITE_FIREBASE_API_KEY=your_api_key_here VITE_FIREBASE_AUTH_DOMAIN=your_project.firebaseapp.com VITE_FIREBASE_PROJECT_ID=your_project_id VITE_FIREBASE_STORAGE_BUCKET=your_project.appspot.com VITE_FIREBASE_MESSAGING_SENDER_ID=your_sender_id VITE_FIREBASE_APP_ID=your_app_id
-
Start Development Server
npm run dev
The application will launch at
http://localhost:8080.
A quick guide to where everything lives:
src/
├── components/ # Reusable UI components
│ ├── ui/ # Radix/Shadcn primitive components (Buttons, Inputs)
│ ├── AnalysisResults.tsx # The core results display view
│ ├── HistoryPage.tsx # User history list implementation
│ └── ...
├── lib/ # Utilities and configuration
│ ├── firebase.ts # Firebase initialization and exports
│ ├── resume-parser.ts # The brain: logic for parsing files and calculating scores
│ └── utils.ts # Helper functions (class merging, formatting)
├── pages/ # Main route views (Index, Dashboard)
├── types/ # TypeScript interfaces (AnalysisResult, ResumeData)
└── App.tsx # Main application entry point
This project is open-source. Feel free to fork, modify, and use it for your own learning or production needs.
Built with ❤️ for job seekers everywhere.