Resume Automation

Automating the creation of the resumes (CV).

cv
Automation Web Python HTML CSS

Brief

I automated the creation of a resume. The main advantage is that the content is in yamls while the design is done by html/css. It also allows having different designs for example for multilanguage.

Motivation

While working at Basetis we constantly needed to update our resumes so that we could present our team for different projects. We use Google Docs and it was always hard when you needed to update the content or fit it in a different template. So I thought that I could do something that allowed to split the content itself from the design.

I also thought that would help me to keep my personal resume updated and it would be easier to mantain the different versions (since I have it in 3 languages). I had previously tried Microsoft Word, LaTeX and Adobe inDesign but all of them had some disadvantatges.

Solution

The main idea was to create the CV as a web page using Flask and the power of jinja2 templates. With flask I could preview all resumes. This solution would allow the design team of my company easily adapt the html templates to basetis design style.

And of course we will need to transform the webpage to pdf since it is the most common format for resumes. To that end I used wkhtmltopdf to transform the Flask webpage to a pdf.

Finally I created a small script that scans all yaml files in input folder and transform them to pdf.

I did not deploy it anywhere but with this base it could easily be deployed to an AWS EC2 and set up a task that creates the CV periodically and automatically.

If you want to use it check it out on github.

Github
Lights

More Projects

More Projects