All-in-one purpose-built resume and cover letter generator and automation tool, originally designed for Windows - the functionality of the app was refactored to leverage the open source word processor alternative LibreOffice in lieu of Microsoft Word. Ultimately, this has improved the performance of app significantly and allowed it to be ported to MacOS and Linux.
AutoCV is a full-stack web application built with Vue.js, Typescript and Flask to automate the process of modifying and uploading various different resumes and cover letters for different job applications. The app uses a number of templated fields in set of resumes and cover letter files on the backend, and the user can modify the contents of these fields from the frontend across several configurable options. Finally, the user can submit these changes and leverage the GitHub REST API for automatically converting these files to PDFs, uploading them to a file storage repository, and downloading them directly from the convenience of the browser.
The app relies on an active installation of LibreOffice on the host system, along with the installed StarOffice executable (soffice
) present in the system PATH
.
brew install --cask libreoffice
Add the location of the soffice
executable to the PATH
variable.
which soffice
/opt/homebrew/soffice/bin
Detailed instructions for the Windows installation can be found in the LibreOffice documentation.
Detailed instructions for the Linux installation can be found in the LibreOffice documentation.
The app can be built and run separately, or using the included Docker build staging.
Using NPM
npm run dev
Using yarn
yarn run dev
The app uses a Python
wrapper around the GitHub REST API (pygithub) - the library is initialized with a Personal Access Token
(steps for generating this token can be found here), and the token is read from the backend through the GITHUB_TOKEN
environment variable.
See more about setting up the backend here.
set GITHUB_TOKEN=INSERT_YOUR_PERSONAL_ACCESS_TOKEN_HERE
python server.py
export GITHUB_TOKEN=INSERT_YOUR_PERSONAL_ACCESS_TOKEN_HERE
python server.py
OR
GITHUB_TOKEN=INSERT_YOUR_PERSONAL_ACCESS_TOKEN_HERE python server.py
docker-compose build
docker-compose up --remove-orphans