Inspiration

The inspiration for ResuMate came from observing how difficult it can be for undergraduate students and recent graduates to get personalized and relevant feedback on their resumes. We wanted to create a tool that could provide intelligent, real-time resume analysis specifically for technology-related jobs, focusing on internship and new grad roles. By leveraging AI, we aim to help candidates enhance their resumes and improve their chances in the competitive tech job market.

What it does

ResuMate is an AI-powered web application that analyzes resumes by providing personalized eligibility and compatibility assessments. It identifies key strengths and areas for improvement based on keyword matching and specific job requirements for tech roles. Users receive insights on which parts of their resume align with job descriptions and suggestions to fill in missing skills or keywords.

How we built it

ResuMate is built using modern web technologies:

  • React for building a responsive frontend interface.
  • Next.js for server-side rendering and easy routing.
  • Pyodide to run Python in the browser, enabling advanced resume analysis through Python libraries like PyPDF2.
  • CSS Modules to style the application components consistently and modularly. -Cerebras API (Llama3 model) as AI API to generate personalized feedback recommendations based on Large Language Models (LLMs)

The core functionality revolves around uploading a PDF resume, processing it with Python code in the browser, and providing feedback based on keyword analysis using LLM call API.

Challenges we ran into

One of the key challenges we faced was transferring PDF content to text within a JavaScript framework. Parsing PDFs in a web environment isn't straightforward, especially in a client-side context where JavaScript doesn't natively support the full breadth of PDF handling like Python does.

Integrating Pyodide was crucial for running Python libraries like PyPDF2 to handle the PDF extraction, but it introduced challenges in managing the virtual filesystem and ensuring seamless communication between JavaScript and Python.

Accomplishments that we're proud of

We successfully integrated Python code execution in the browser through Pyodide, allowing us to analyze resumes in real time without needing a backend server for processing. Additionally, we created a user-friendly interface that helps users understand what keywords are missing from their resumes, which will directly improve their job applications.

What we learned

Throughout this project, we learned how to:

  • Seamlessly integrate Python within a JavaScript framework using Pyodide.
  • Handle complex file uploads and processing entirely on the client-side.
  • Optimize PDF text extraction and keyword matching for real-time performance.
  • Work as a team to overcome technical challenges and meet our project goals.

What's next for ResuMate

Moving forward, we plan to:

  • Improve the accuracy of our PDF text extraction, especially for resumes with complex formatting.
  • Expand the keyword matching and scoring algorithms to handle more specific job descriptions and fields.
  • Develop a more advanced suggestion system that not only identifies missing keywords but also provides actionable advice based on the latest job market trends.
  • Add support for more resume formats, including Word documents and plain text.

Built With

  • cerebras
  • llama3
  • next.js
  • pyodide
  • react
  • tune
Share this project:

Updates