Inspiration

Research consistently shows that resumes with identical qualifications receive dramatically different interview callbacks based on the applicant's name, gender, age, or perceived ethnicity. We believe talent should be evaluated on merit and experience alone.

We chose to build Resume Wrapped as a tool for HR departments committed to fair and unbiased hiring practices, but as we progressed in this project, we realized that it was turning into something much more than that. Resume Wrapped is a tool designed for everyone from the "hirers" to the "hirees". Recruiters can use it to review their clients resumes whereas job seekers can use it to make sure their resume is evaluated objectively.

What it does

  • Smart Anonymization: Uses Google's Gemini API with NLP to remove gender, ethnicity, age, and location identifiers
  • Skill Extraction: Automatically extracts and categorizes technical skills, soft skills, and key achievements
  • User Authentication: Email-based sign-in with secure password hashing
  • Dashboard: View and manage all processed resumes
  • Professional UI: Modern, accessible, and responsive design
  • PDF Support: Upload resumes in PDF format

How we built it

  • Backend: Flask
  • Database: SQLite
  • Frontend: HTML, CSS, JavaScript
  • AI/NLP: Google Generative AI (Gemini API)
  • PDF Processing: PyPDF2
  • Authentication: Flask-Login with password hashing

Challenges we ran into

One challenge we ran into was anonymization of our API keys. We could anonymize the resumes details but not the API keys. In the end we ended up making it so that each new user (on a new device) needs to use their own API key.

Another issue we ran into was button design, but we eventually figured it out with a loop for synchronous design amongst the buttons. Many smaller bugs emerged with the user interface, but we think we have it working smoothly.

Accomplishments that we're proud of

We are very proud of the fact that we not only got a working web page, but we also were able to take in user imputed pdf files, do something meaningful with them using Gemini API, and provide users with results.

The last time one of us attempted to use Gemini API in a project, we ran into the issue of bandwidth as well as many other bugs -- which cost us the usability of the project. This time we were happy to see it work out for the best!

What we learned

We both learned a lot more about API integration than we had before as well as web design, HTML, and CSS. We are both very thankful to have this opportunity to apply our classroom skills to this competition.

What's next for Resume Wrapped

  • Industry Specification: We could ask the user what industry sector they want to view resumes based on to determine who is most qualified and who is not. As of now, there is no specification amongst different industry's resumes. Similarly, we would want to integrate a tool that allows users to tell the website to highlight specific traits in resumes such as "Python" or "Master's" or "Excel" depending on the job requirements.
  • Resume Ranking: As of now, the project only summarizes the resumes, what if it could also compare them to other resumes and rank them based on business specific factors? The only issue with this is the ethics of using AI to review resumes in the first place. We really only want our tool used for the betterment of the hiring process. Maybe a comparison of two candidates that is still human reviewed would be best in terms of "ranking".
  • Increase Bandwidth: We could upscale this project to handle 100-1000 or even more resumes at one time - which could be useful for teams of people who review applications such as admissions offices or large companies. As of now, the project can only handle what Gemini can handle at one time.
  • Automation & Integration: Businesses could implement this right into their website. Applicants could upload their resume and HR could automatically view the summarized version.
  • Role Matching: We could integrate a feature that is company specific that allows users to match a resume to a specific job title or role within the company. I know that I have had a difficult time determining if a position actually matches my qualifications or not. This tool could act as a service to the applicant as it pairs them directly with the position that most aligns with their experience.

Built With

Share this project:

Updates