Inspiration
As undergraduate students, we’ve experienced firsthand how challenging it can be to stand out when applying for internships, research positions, or full-time roles in software and hardware engineering. Resumes are generic and often miss crucial keywords that recruiters and automated checkers look for. To tackle this problem, we created a tool that not only analyzes resumes but also provides personalized suggestions to make them more competitive. We named our project ResuMatch: an AI-powered resume optimizer that helps students tailor their resumes to specific opportunities.
What it does
ResuMatch is an intelligent, end-to-end resume analysis platform that optimizes applicant resumes using natural language processing (NLP) and OpenAI’s GPT API. Our system begins by parsing the uploaded resume (PDF or DOCX) to extract textual data using a text-extraction pipeline. After being parsed, the content is pre-processed, normalized and compared with the target job description. We then perform keyword extraction and matching using a curated database of technical and professional terms relevant to software and hardware engineering roles. We identify keywords in both the resume and job description, missing keywords in the resume, and extra keywords the resume has but the job description doesn’t. Using TF-IDF vectorization, ResuMatch quantifies the overlap and relevance between the two documents, producing a “match score” that reflects how closely a candidate’s profile fits the role. Lastly, the website connects to ChatGPT via OpenAI’s API, generating personalized suggestions. The AI recommends specific keywords/phrases to include, quantifiable resume bullet point edits, and context-sensitive rewrites that optimizes relevance.
How we built it
Our system starts by parsing the uploaded resume (PDF) and job description sent by the frontend using a text-extraction function to convert them into strings. The resume and job description content is then preprocessed to remove filler words, normalized, and compared to see which keywords are present in both. We perform keyword extraction and matching using a list of technical and professional terms relevant to software and hardware engineering roles. By applying TF-IDF (Term Frequency–Inverse Document Frequency), we identify the most important terms and determine how frequently these keywords appear in both the resume and the job description. This process generates a match score that reflects how closely a candidate’s skills align with the position’s requirements. To provide deeper insights, we categorize keywords into three groups. This includes present (keywords found in both the resume and job description), missing (important keywords found in the job description but not the resume), and extra(keywords in the resume that are not in the job description). Finally, our system integrates with ChatGPT via OpenAI’s API to generate personalized improvement suggestions. The AI analyzes the resume, job description, and keyword data to provide actionable feedback. It recommends new keywords to include, offers example bullet points with quantifiable outcomes, and suggests rewrites to better align the resume with the target role.
Challenges we ran into
We faced challenges with learning how to use APIs effectively, managing Git and version control, and integrating the frontend and backend using React and FastAPI. Parsing text accurately from PDF resumes also required extensive troubleshooting. Additionally, we struggled to connect the ZotGPT AI feature and ended up integrating OpenAI’s API, which gave us roadblocks, which taught us to research backend information before proceeding further.
Accomplishments that we're proud of
We’re proud of building an end-to-end AI-powered platform from scratch in just a days. Within that time, we learned and implemented React to create a responsive, user-friendly front-end that seamlessly communicates with a FastAPI backend. We also integrated natural language processing (NLP) techniques and successfully connected to OpenAI’s API, enabling our system to generate personalized resume improvement suggestions. Watching our frontend, backend, and AI features come together was very fullfulling
What we learned
Throughout this project, we learned the importance of focusing on core features without overcomplicating our project’s scope. We developed a deeper understanding of frontend-backend collaboration, API integration, and version control using Git. We also explored React, JavaScript, and FastAPI, while gaining hands-on experience with NLP concepts, data standardization, and prompt engineering for AI systems. Most importantly, we learned how great teamwork can produce impactful results in a short timeframe.
What's next for ResuMatch
We plan to enhance ResuMatch with smarter semantic and synonym detection for keywords, allowing it to recognize related skills and concepts instead of only exact matches. We also aim to improve scoring accuracy by analyzing sentence context rather than individual words. Future updates include adding an interactive ChatGPT assistant that lets users ask personalized career or resume questions directly, and improving our deployment pipeline for smoother, more reliable performance and easier installation.
Built With
- .jsx
- api
- css
- fastapi
- javascript
- node.js
- openai
- python
- react

Log in or sign up for Devpost to join the conversation.