Skip to contents

The autocv package provides a simple, unified workflow for constructing a curriculum vitae (and related job application documents) from data stored in spreadsheets.

Overview

User Interface

The core of the user interface is encapsulated in the following sequence of commands for building and fine-tuning a job application:

  1. Build an application directory. Given a job of interest, construct a directory containing the template data files and folders required to build a tailored job application.

  2. Edit the application data files. Open the data files for a given job of interest and select the information (sections, entries, skills, ordering) to include or exclude from your application.

  3. Render your application documents. For a given job of interest, use the tailored data files to generate the requested application documents (plain text and/or PDF resume, PDF or HTML curriculum vitae, cover letter, etc.).

  4. Check application keywords. Given a term bank of relevant job keywords as well as a job posting and the application documents for a given job of interest, extract keywords from your job application and cross-check them against the job posting.

  5. Review job application data. Retrieve information about your existing job applications.

API reference

Find the documentation for these functions here, along with documentation for additional functions included with the package so that developers may tweak and extend functionality as desired.

Data reference

Included with the package are several template data files which the user should modify to reflect their work experience, skills, application text, and metadata for any job of interest. The core data files are:

  1. example_skill_data: A table with rows representing job-relevant skills, along with ratings of skill level and flags indicating whether or not to include each skill in the present job application.

  2. example_position_data: A table with rows representing professional roles, degrees and certificates earned, professional projects, etc., with optional fields including title, company, timeline, and description text.

  3. example_contact_data: A table with rows containing personal contact information and associated links (address, email, personal website, etc.).

  4. example_text_data: A table with rows containing the textual building blocks of a job application, such as a resume bio or a cover letter.

  5. example_job_metadata: A named list with fields containing the details of a given job application, such as the company, position, associated URLs, and a unique identifier.

  6. example_posting: A string containing the text of an example job posting.

Example documents

The autocv package includes functions and dynamic spreadsheets for generating the following documents:

  1. PDF resume Either a general (“base”) resume for the role you are pursuing or a tailored resume, built upon the base, modified to suit a specific job to which you are applying. Uses the notebook resume.Rmd (see template) and the spreadsheet resume_data.xlsx (see template, as well as the corresponding example datasets example_skill_data and example_position_data). View an example here.

  2. PDF cover letter: A cover letter containing the company and position information for a job of interest. Uses the spreadsheet cover_data.xlsx (see template, as well as the corresponding example datasets example_contact_data and example_text_data).

  3. Plain text resume: A resume containing the same information as the PDF resume and relying on the same template files but rendered in a plain text format for simplicity and ease of data entry. View an example here.

  4. Plain text cover letter: A cover letter containing the same information as the PDF cover letter and relying on the same template files but rendered in a plain text format for simplicity and ease of data entry.

  5. HTML curriculum vitae: An informal, web-friendly curriculum vitae containing an ongoing record of your professional history, a graphical breakdown of your skill set, and a space to include an image. Relies on the notebook cv.Rmd (see template) and the same spreadsheet files as the PDF and plain text resume. View an example here.

  6. PDF curriculum vitae: A curriculum vitae containing the same information as the HTML version and relying on the same template files but rendered as a PDF document for offline distribution.

  7. Professional profile curriculum vitae: A streamlined curriculum vitae, rendered as a PDF using the PDF resume styling, based on concise information, provided in the data spreadsheet, intended for compatibility with an online professional profile such as LinkedIn. Relies on the same template files as the PDF and plain text resume.

Installation

This package is not on CRAN. If you would like to use it, you can install it directly from GitHub by running the following in your console:

remotes::install_github("bainmatt/autocv")

Usage

Follow this demo illustrating the basic end-to-end workflow to get started.

Acknowledgements

This project is inspired by Nick Strayer’s data-driven cv template (exemplar), which extends the pagedown html_resume template. Further inspiration and design refinements were borrowed from Matt Leary’s resume repository (examplar). Thank you to the creators of these projects.