Inspiration

As undergrad students going into the job market, although we are starting with internships, making an appropriate cv is still somewhat stressful as we lack the experience to self-assess the quality of our own self-representation through a piece of paper. We decided to make a project that would leverage this weakness and turn it into a strength by comparing our cv's to a database of cv's that were more appropriate through the recognition of keywords.

What it does

Our Resume Helper searches for specific words found onto an applicant's cv and compares these words to the most common keywords found in our cv database of multiple applicants in different areas of the job market. It will then output a score that gives the applicant an idea of how appropriate their cv is for different positions based on keywords that successful applicants used.

How we built it

To build out Resume Helper, we first built its database. We used a public cv dataset from Kaggle where we mapped each cvs to the job posting position it was intended for. Then, we converted these word documents cvs to a csv format. Finally, we mapped each keyword found in these cvs to the frequency of their appearances. This process was done on 25 different job posting positions. This resulted in a data frame (pandas) with 25 rows where each rows represented a job posting position, and its columns represented keyword counts and their frequency for said job posting. Another column which is a relative frequency is simply for each keyword that appeared for said job posting, their frequency count was divided by the total amount of keywords recorded. This relative frequency represents the weight that the keyword holds relative to the job posting position. We then built a GUI that takes as input an applicant's cv which evaluates keywords found in said cv. These keywords are then mapped onto out database of the relative frequency of common keywords for job postings where a score is then outputted for the applicant's cv. This score represents how agreeable the applicant's cv is to the most common keywords found for each of the 25 different job posting positions. Finally, the program offers suggestions on keywords to optimize the cv's agreeableness to a specific job posting chosen by the applicant as a way to guide their cv towards the position they are seeking.

Challenges we ran into

The biggest challenge was converting raw Microsoft word cv's to csv format. It easily happened that some cvs were just not convertible due to the format of the original file. Sometimes, weird things happened such as multiple sentences on the cv would have no space between its words, while some other times, there would be no words outputted. Out word to csv converter is dependent on a library which is not fool proof. Cv databases are somewhat old which makes it harder for our library to consistently read the files correctly.

Accomplishments that we're proud of

We're proud of the fact that we were able to take open source data and mold this data in a way that is useful to us. We are also proud of the fact that we were able to make something that could be useful to a lot of students.

What we learned

We learned a lot about data science and machine learning, since the project uses a lot of concepts relating to it. We have also learned new functionalities related to pandas, and scikit-learn. We have also learned how to use NLTK which is a natural language Toolkit, this is something none of our team members knew how to use beforehand.

What's next for Resume Helper

Continuously updating our data sets to make sure we provide accurate feedback to people using Resume Helper. Making the GUI prettier and more user-friendly. Adding even more job categories, so that we can help a broader range of students/job hunters. Making it more faster is also one of the main goals we have.

Share this project:

Updates