ResGen is a browser extension that generates tailored resumes for the online job listings you visit.
ResGen was inspired by my experiences applying to (and getting rejected from) lots of jobs through online portals. Applications for entry-level software development jobs are very competitive, and it's important to be able to set yourself apart. By creating a tailored resume, you are able to show a company how you're a good fit for them. Unfortunately, tailored resumes take a long time for humans to make, so why not have a computer do it instead? I figured this would be a fun natural language processing problem AND something I would actually use once HackUMass is over.
ResGen generates resumes tailored to the jobs that you apply to online. It uses natural language processing to understand what skills an employer asks for in their listing, then generates a resume that features your most relevant experience.
ResGen has a Chrome extension for a frontend, which communicates with a Python backend that handles all the natural language processing and resume generation stuff. The backend figures out what information to include, then passes that information to a part that renders a LaTeX resume template.
Originally, ResGen was meant to be a website but we decided about half way through that making it a Chrome extension would be super cool. None of us had experience with browser extensions, so that was tricky. Since what the ResGen extension does (copy HTML and send it to a server) is similar to what a hacker might do, we got in trouble with Chrome's security system often. The natural language processing stuff was super tough too. None of us had any NLP or AI experience, so extracting meaning from listings was a challenge.
* Getting something that actually works. * The alias system that allows ResGen to understand multiple names for the same thing (e.g Node = NodeJS = Node.js) * Creating a browser extension. I've used plenty but I never really thought about how they're made. * The whole project really to be honest.
We learned some of the basics of natural language processing, and got ideas for what to explore next. We learned how to make browser extensions. By fighting with the browser over security stuff, we learned a bit about how browsers work and the measures they take to keep users safe.
Make it more robust and able to handle trickier inputs ("Go Language, "Spring Boot"). "Smarter" AI would be important too: I'd like it to be able to understand relationships between technologies and suggest alternatives if the primary thing it's looking for doesn't exist. Someday I'd like to see this be part of a larger suite of tools for job applicants, that's for everyone instead of just software developers.
Python, Natural Language Toolkit, Flask, Jinja2, LaTeX, BeautifulSoup
Intel® Movidius™ Neural Compute Stick
$100 Amazon Gift Cards
Jetbrains Pro Software