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.

What it does:

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.

How we built it:

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.

Challenges we ran into:

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.

Accomplishments that we're proud of:

* 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.

What we learned:

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.

What's next:

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.

Built with:

Python, Natural Language Toolkit, Flask, Jinja2, LaTeX, BeautifulSoup

Prizes we're going for:

Intel® Movidius™ Neural Compute Stick

$100 Amazon Gift Cards

Hustle Award

Grand Prize

Jetbrains Pro Software

Team Members

Simon Andrews, Dhruvi Chauhan, Suma Movva, Ayush Sahu
View on Github