Skip to content

Latest commit

 

History

24 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Expressive Resume

A beautiful resume/cover letter LaTeX template pair that are extraordinarily easy to use.

Joseph Hale's software engineering blog

Example Expressive Resume

Why Expressive Resume??

  • Declarative: Use semantically meaningful commands like \experience, \role, and \achievement instead of worrying about LaTeX plumbing.
  • Cover Letter: Expressive includes both a resume template and a matching cover letter template.
  • Machine/ATS Friendly: Expressive Resume was designed by an engineer with experience building automated resume parsers for Applicant Tracking Systems
  • Maintainability: Most LaTeX resume/cover letter templates start with 100-200 lines of formatting code (or more). With Expressive Resume, you simply specify the documentclass and begin writing!
  • Compatibility: Expressive Resume is written in LaTeX2e, so it is compatible with most LaTeX typesetting engines.

⚡️ Start writing in 5 minutes: Quickstart ↩️

Expressive Resume is graciously sponsored by

Zapply
Zapply helps job seekers apply faster with its Chrome autofill extension, dedicated job board, multiple resume profiles, and application tracking tools.

Quickstart

The recommended way to use Expressive Resume is via the included "VS Code devcontainer" which has LaTeX pre-installed in an sandboxed environment compatible with Windows, Linux, and MacOS.

If you already have LaTeX installed, you can clone the repository and skip straight to Create Your Expressive Resume.

Installation + Setup

Start by making sure Docker and VS Code (including the Remote Containers Extension) are installed on your machine.

Then create a copy of Expressive Resume and open it in VS Code:

  1. Press the Use this template button OR create a fork.
  2. Clone your copy of Expressive Resume onto your computer and open it in VS Code.
git clone https://github.com/YOUR_GITHUB_USERNAME/expressive-resume.git
cd expressive-resume
code .

VS Code should prompt you to Reopen in Container. Accept that prompt.

  • If you don't see this pop-up, go to View -> Command Palette -> Remote-Containers: Re-Open Folder in Container

  • Note that opening Expressive Resume for the first time may take several minutes as it downloads and prepares the 4 GB sandboxed LaTeX installation. Successive launches will be much faster.

Create Your Expressive Resume

Create an empty .tex file in the src folder alongside the .cls files.

Use a documentclass of ExpressiveResume

\documentclass{ExpressiveResume}

\begin{document}

% You will write your resume here.

\end{document}

Start by writing your name in the resumeheader command.

\resumeheader{Your Name}
  {contact info - 1}{contact info - 2}
  {contact info - 3}{contact info - 4}

Some built-in options for contact-info

\email{you@example.com}
\phone{123-456-7890}
\linkedin{username} % e.g. From linkedin.com/in/username
\github{username} % e.g. From github.com/username
\location{City, State}

Tip

Here's a complete example

\resumeheader{John N. Doe}
 {\email{john.doe@example.com}}{\linkedin{thehale}}
 {\github{thehale}}{\phone{123-456-7890}}

Then add any of the following components relevant to your experience and the job description.

Summary/Objective Statement

\objective{
    % Write your objective statement here.
}
\summary{
    % Write your summary statement here.
}

Work/Volunteer Experience

\experience{Organization}{Location}{
    \role{Job Title}{Start Date - End Date}{
        \achievement{
            % Describe your achievement here
        }
        \achievement{
            % Describe another achievement here.
        }
    }
}

If you have been promoted while at an organization, simply list multiple \roles

\experience{Organization}{Location}{
    \role{Promoted Title}{Start Date - End Date}{
        \achievement{
            % Describe your achievement here
        }
        \achievement{
            % Describe another achievement here.
        }
    }
    \role{Starting Title}{Start Date - End Date}{
        \achievement{
            % Describe your achievement here
        }
    }
}

If your actual job title doesn't match your duties, consider writing an \equivalent title instead.

\role{Renamed Title \equivalent}{Start Date - End Date}{
    \achievement{
        % Describe your achievement here
    }
}

Part-time roles can be indicated with \parttime.

\role{Evening Job \parttime}{Start Date - End Date}{
    \achievement{
        % Describe your achievement here
    }
}

Technologies/Skills

% For example...
\tech{Python}
\tech{Docker}
\tech{Terraform}

Educational degrees

\degree{Degree Name}{Institution}{Year}{
    % Extra information, e.g. \achievement's
}
\degree{Degree Name \honors{e.g. Summa Cum Laude}}{Institution}{Year}{
    % Extra information, e.g. \achievement's
}

Awards

\award{Award Name}{Institution}{Year}{
    % Extra information, e.g. \achievement's
}

And that's it! Take a look at the resume example to see just how cleanly all of these pieces work together in a simple, readable .tex file to produce a beautiful resume.

Create Your Expressive Cover Letter

Create an empty .tex file in the src folder alongside the .cls files.

Use a documentclass of ExpressiveCoverLetter

\documentclass{ExpressiveCoverLetter}

\begin{document}

% You will write your cover letter here.

\end{document}

Create your cover letter header with the coverletterheader command.

\coverletterheader{Full Name}
    {contact info - 1}{contact info - 2}
    {contact info - 3}{contact info - 4}

For contact fields, you can reuse the same helper commands available in resume headers:

\email{you@example.com}
\phone{123-456-7890}
\linkedin{username} % e.g. From linkedin.com/in/username
\github{username} % e.g. From github.com/username
\location{City, State}

From there, just write out the text of your cover letter, using a blank line between paragraphs.

You can also easily add inline highlights for the technologies and skills relevant to the job position you are applying for.

\tech{
    % Name your familiar technology or skill
}

And that's it! Take a look at the cover letter example to see just how cleanly all of these pieces work together in a simple, readable .tex file to produce a beautiful cover letter.

Examples

Example Expressive Resume

Example Expressive Resume

\documentclass{ExpressiveResume}

% ----- Resume -----
\begin{document}

% ----- Name + Contact Information -----
\resumeheader{John N. Doe}
  {\email{john.doe@example.com}}{\linkedin{thehale}}
  {\github{thehale}}{\phone{123-456-7890}}

\objective{A software engineering graduate with 2 years of work
    experience at various internships seeking opportunities to develop
    web/mobile applications for Company XYZ.}

% ----- Work Experience -----
\section{Work Experience}

\experience{Radiant Software Systems}{Super City, State}{%
    \role{Software Engineer}{2021 - 2024}{
        \achievement{
            Developed a mobile app in \tech{React Native} that was
            downloaded 100k times on Google Play.
        }
    }
    \role{Summer Intern}{2021}{
        \achievement{
            Collaborated in an \tech{Agile/Scrum} team of 8 engineers to
            deliver new features every 2 weeks.
        }
    }
}

% ----- Technical Projects -----
\section{Technical Projects}

\project{Expressive Resume}{2021 - 2024}{
    \achievement{
        Created a \tech{\LaTeX} class that enables anyone to
        quickly create a beautiful resume and cover letter.
    }

}

% ----- Education -----
\section{Education}

\degree{B.S. Software Engineering \honors{Summa Cum Laude}}{Super Duper University}{2022}{
    \achievement{Ranked \#15 out of 463 students}
}

% ----- Awards -----
\section{Awards}

\award{Employee of the Month}{Radiant Software Systems}{2023}{
    \achievement{Did some amazing stuff that really benefitted the company}
}

\end{document}

Example Expressive Cover Letter

Example Expressive Cover Letter

\documentclass{ExpressiveCoverLetter}

\begin{document}

\coverletterheader{John N. Doe}
    {\email{john.doe@example.com}}{\linkedin{thehale}}
    {\phone{123-456-7890}}{\location{Town, State}}

\vspace{0.25in}
\today
\vspace{0.15in}


To whom it may concern:

Lorem ipsum dolor sit amet ...

Sincerely,

\vspace{.15in}

John Doe

\end{document}

About

A beautiful resume/cover letter LaTeX template pair that are extraordinarily easy to use.

Topics

Resources

Stars

441 stars

Watchers

8 watching

Forks

Sponsor this project

Contributors

Languages