fiery-skills

byanushree A

I want to build a beginner-friendly Machine Learning mini project called “AI-Based Resume Skill Gap Analyzer” for my engineering ML subject. The project should compare a candidate’s resume with a job description and analyze how well the candidate matches the job requirements. The system should identify matching skills, missing skills, calculate a compatibility percentage, and provide recommendations for improving the resume and skills. Use Python, Flask, Scikit-learn, NLTK, Pandas, NumPy, HTML, CSS, and Bootstrap for development. Implement NLP techniques such as text preprocessing, tokenization, stopword removal, TF-IDF vectorization, and cosine similarity. The application should allow users to upload resumes in PDF or DOCX format and enter a job description manually. The system should extract skills from both the resume and the job description using a predefined skills dataset, compare them, and display the results in a clean dashboard format with progress bars or charts. The output should include the match percentage, matching skills, missing skills, and personalized improvement suggestions. Create sample datasets for resumes, job descriptions, and skills in CSV format. The frontend should have a professional and responsive design with Bootstrap cards and a modern UI. The backend should handle resume parsing, skill extraction, similarity calculation, and result generation properly. Also generate the complete source code, folder structure, requirements.txt, README.md, installation steps, comments in the code, and proper error handling. Additionally, include academic project materials such as a flowchart, block diagram, system architecture, and a short project report explanation suitable for final-year Machine Learning subject evaluation.

No preview

Comments (0)

No comments yet. Be the first!

System Requirements

System Requirement Document

fiery-skills

Introduction

The "fiery-skills" project, also known as the "AI-Based Resume Skill Gap Analyzer," is designed to assist users in evaluating how well a candidate's resume matches a job description. This tool will identify matching skills, highlight missing skills, calculate a compatibility percentage, and provide recommendations for improving the resume and skills. The project is tailored for an engineering ML subject, focusing on beginner-friendly machine learning applications.

System Overview

The system will allow users to upload resumes in PDF or DOCX format and manually input job descriptions. Using Python for backend processing and HTML/CSS for the frontend, the application will employ NLP techniques to analyze and compare skills extracted from both resumes and job descriptions. The results will be displayed in a user-friendly dashboard format, featuring progress bars or charts to visualize compatibility and skill gaps.

Page 1 of 5

Functional Requirements

  • As a User, I should be able to upload my resume in PDF or DOCX format.
  • As a User, I should be able to manually enter a job description.
  • As a User, I should be able to view a list of matching skills between my resume and the job description.
  • As a User, I should be able to see a list of missing skills that are required by the job description.
  • As a User, I should be able to view a compatibility percentage that indicates how well my resume matches the job description.
  • As a User, I should receive personalized recommendations for improving my resume and skills.

User Personas

  • Candidate: An individual seeking to evaluate their resume against a job description to identify skill gaps and improve their chances of securing a job.
Page 2 of 5

Visuals Colors and Theme

  • primary: #2A9D8F (Teal)
  • primary_light: #E9F5F3 (Light Teal)
  • secondary: #E76F51 (Coral)
  • accent: #F4A261 (Sandy Orange)
  • highlight: #F4A261 (Amber)
  • bg: #F1FAEE (Off White)
  • surface: rgba(42, 157, 143, 0.8) (Teal with transparency)
  • text: #264653 (Dark Slate)
  • text_muted: #A8DADC (Muted Blue)
  • border: rgba(233, 116, 81, 0.2) (Coral with transparency)

Signature Design Concept

The homepage of "fiery-skills" will feature an interactive "Skill Galaxy" concept. Users will be greeted with a dynamic, 3D galaxy map where each star represents a skill. Users can click on stars to view detailed information about each skill, including its relevance to the job description. The galaxy will rotate and zoom as users interact with it, providing a visually engaging and informative experience. This concept will be implemented using @react-three/fiber and @react-three/drei for the 3D interactions, ensuring a seamless and captivating user experience.

Page 3 of 5

Interaction Model & Motion Direction

The landing page will utilize a "parallax" interaction model, creating a layered depth effect as users scroll through the page. Decorative elements, such as atmospheric blobs and distant shapes, will move at different speeds to enhance the storytelling aspect. The main content will scroll naturally, providing a visually rich first impression. Internal pages, such as the dashboard and results pages, will adopt a "static" interaction model to prioritize clarity and readability.

Non-Functional Requirements

  • The system should handle resume parsing and skill extraction efficiently.
  • The application should be responsive and accessible across different devices and screen sizes.
  • The system should provide accurate and reliable skill matching and compatibility calculations.
  • The application should ensure data privacy and security for uploaded resumes and job descriptions.

Tech Stack

  • Frontend: HTML, CSS
  • Backend: Python
  • NLP Libraries: NLTK, Pandas, NumPy
  • File Handling: PDF and DOCX parsing libraries
Page 4 of 5

Assumptions and Constraints

  • Users will have resumes in PDF or DOCX format.
  • The predefined skills dataset will be comprehensive enough to cover most job descriptions.
  • The system will be used primarily by candidates seeking to improve their resumes for job applications.

Glossary

  • NLP: Natural Language Processing, a field of AI focused on the interaction between computers and humans through natural language.
  • TF-IDF: Term Frequency-Inverse Document Frequency, a numerical statistic that reflects the importance of a word in a document relative to a collection of documents.
  • Cosine Similarity: A measure of similarity between two non-zero vectors, often used in text analysis to compare documents.
Page 5 of 5

No completed page designs yet.

Completed design pages will appear here when they are ready to preview.

Landing: View Overview
Landing: Explore Skills
Landing: Get Started
Upload: Submit Resume
Upload: Enter Job Description
Upload: Analyze Resume
Dashboard: View Compatibility
Dashboard: View Matching Skills
Dashboard: View Missing Skills
Dashboard: View Recommendations
Dashboard: Download Report

No completed page designs yet.

Completed design pages will appear here when they are ready to preview.

Landing: View Overview
Landing: Explore Skills
Landing: Get Started
Upload: Submit Resume
Upload: Enter Job Description
Upload: Analyze Resume
Dashboard: View Compatibility
Dashboard: View Matching Skills
Dashboard: View Missing Skills
Dashboard: View Recommendations
Dashboard: Download Report