Jake’s Resume LaTeX Code — Full Source, Packages and How to Compile
Download a complete, compilable Jake’s resume example, or edit the same structure with form fields. This source is generated by our editor and adapted from Jake Gutierrez’s MIT-licensed template, based on sb2nov/resume.
Download LaTeX ZIPOpen this example in the editorFull source from a working example
Fictional software engineering profile · Generated by this editor’s actual LaTeX renderer. The MIT notices and attribution are included. The display omits only the long JSON backup comment; downloads retain it.
Template attribution and full MIT notices
% Jake's Resume Builder — unofficial editor
% Original template copyright (c) 2020 Jake Gutierrez; based on sb2nov/resume.
% MIT license files are included in the project ZIP.
% MIT License
%
% Copyright (c) 2020 Jake Gutierrez
%
% Permission is hereby granted, free of charge, to any person obtaining a copy
% of this software and associated documentation files (the "Software"), to deal
% in the Software without restriction, including without limitation the rights
% to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
% copies of the Software, and to permit persons to whom the Software is
% furnished to do so, subject to the following conditions:
%
% The above copyright notice and this permission notice shall be included in all
% copies or substantial portions of the Software.
%
% THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
% IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
% FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
% AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
% LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
% OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
% SOFTWARE.
%
%
% The MIT License (MIT)
%
% Copyright (c) 2026 Sourabh Bajaj
%
% Permission is hereby granted, free of charge, to any person obtaining a copy
% of this software and associated documentation files (the "Software"), to deal
% in the Software without restriction, including without limitation the rights
% to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
% copies of the Software, and to permit persons to whom the Software is
% furnished to do so, subject to the following conditions:
%
% The above copyright notice and this permission notice shall be included in all
% copies or substantial portions of the Software.
%
% THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
% IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
% FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
% AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
% LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
% OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
% SOFTWARE.
%
%
%-------------------------
% Resume in Latex
% Author : Jake Gutierrez
% Based off of: https://github.com/sb2nov/resume
% License : MIT
%------------------------
\documentclass[letterpaper,11pt]{article}
\usepackage[T1]{fontenc}
\usepackage{latexsym}
\usepackage[empty]{fullpage}
\usepackage{titlesec}
\usepackage{marvosym}
\usepackage[usenames,dvipsnames]{color}
\usepackage{verbatim}
\usepackage{enumitem}
\usepackage[hidelinks]{hyperref}
\usepackage{fancyhdr}
\usepackage[english]{babel}
\usepackage{tabularx}
\input{glyphtounicode}
%----------FONT OPTIONS----------
% sans-serif
% \usepackage[sfdefault]{FiraSans}
% \usepackage[sfdefault]{roboto}
% \usepackage[sfdefault]{noto-sans}
% \usepackage[default]{sourcesanspro}
% serif
% \usepackage{CormorantGaramond}
% \usepackage{charter}
\pagestyle{fancy}
\fancyhf{} % clear all header and footer fields
\fancyfoot{}
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0pt}
% Adjust margins
\addtolength{\oddsidemargin}{-0.5in}
\addtolength{\evensidemargin}{-0.5in}
\addtolength{\textwidth}{1in}
\addtolength{\topmargin}{-.5in}
\addtolength{\textheight}{1.0in}
\urlstyle{same}
\raggedbottom
\raggedright
\setlength{\tabcolsep}{0in}
% Sections formatting
\titleformat{\section}{
\vspace{-4pt}\scshape\raggedright\large
}{}{0em}{}[\color{black}\titlerule \vspace{-5pt}]
% Ensure that generate pdf is machine readable/ATS parsable
\pdfgentounicode=1
%-------------------------
% Custom commands
\newcommand{\resumeItem}[1]{
\item\small{
{#1 \vspace{-2pt}}
}
}
\newcommand{\resumeSubheading}[4]{
\vspace{-2pt}\item
\begin{tabular*}{0.97\textwidth}[t]{l@{\extracolsep{\fill}}r}
\textbf{#1} & #2 \\
\textit{\small#3} & \textit{\small #4} \\
\end{tabular*}\vspace{-7pt}
}
\newcommand{\resumeSubSubheading}[2]{
\item
\begin{tabular*}{0.97\textwidth}{l@{\extracolsep{\fill}}r}
\textit{\small#1} & \textit{\small #2} \\
\end{tabular*}\vspace{-7pt}
}
\newcommand{\resumeProjectHeading}[2]{
\item
\begin{tabular*}{0.97\textwidth}{l@{\extracolsep{\fill}}r}
\small#1 & #2 \\
\end{tabular*}\vspace{-7pt}
}
\newcommand{\resumeSubItem}[1]{\resumeItem{#1}\vspace{-4pt}}
\renewcommand\labelitemii{$\vcenter{\hbox{\tiny$\bullet$}}$}
\newcommand{\resumeSubHeadingListStart}{\begin{itemize}[leftmargin=0.15in, label={}]}
\newcommand{\resumeSubHeadingListEnd}{\end{itemize}}
\newcommand{\resumeItemListStart}{\begin{itemize}}
\newcommand{\resumeItemListEnd}{\end{itemize}\vspace{-5pt}}
%-------------------------------------------
%%%%%% RESUME STARTS HERE %%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{document}
\begin{center}
\textbf{\Huge \scshape Alex Morgan} \\ \vspace{1pt}
\small (555) 012-3456 $|$ alex.morgan@example.com $|$ \href{https://linkedin.com/in/alex-morgan}{linkedin.com/in/alex-morgan} $|$ \href{https://github.com/alexmorgan}{github.com/alexmorgan}
\end{center}
\section{Education}
\resumeSubHeadingListStart
\resumeSubheading{University of Washington}{Seattle, WA}{B.S. in Computer Science · GPA: 3.8/4.0}{Expected June 2027}
\resumeItemListStart
\resumeItem{Relevant coursework: Data Structures, Algorithms, Database Systems, Computer Networks}
\resumeItemListEnd
\resumeSubHeadingListEnd
\section{Experience}
\resumeSubHeadingListStart
\resumeSubheading{Software Engineering Intern}{June 2026 – August 2026}{Northstar Labs}{Seattle, WA}
\resumeItemListStart
\resumeItem{Built a Python service that processed 12,000 daily events and reduced manual reconciliation time by 40\%.}
\resumeItem{Added integration tests for 18 API endpoints, catching edge cases before the weekly release.}
\resumeItem{Collaborated with three engineers to ship an internal dashboard used by the support team.}
\resumeItemListEnd
\resumeSubheading{Undergraduate Teaching Assistant}{September 2025 – June 2026}{University of Washington}{Seattle, WA}
\resumeItemListStart
\resumeItem{Led weekly problem-solving sessions for 25 students in an introductory programming course.}
\resumeItem{Reviewed assignments and explained debugging strategies during twice-weekly office hours.}
\resumeItemListEnd
\resumeSubHeadingListEnd
\section{Projects}
\resumeSubHeadingListStart
\resumeProjectHeading{\textbf{Campus Exchange} $|$ \emph{TypeScript, React, PostgreSQL}}{January 2026 – May 2026}
\resumeItemListStart
\resumeItem{Built a marketplace for students to exchange textbooks with search, filtering, and saved listings.}
\resumeItem{Designed a REST API and normalized database schema; deployed a demo with seeded test data.}
\resumeItemListEnd
\resumeProjectHeading{\textbf{Study Session Planner} $|$ \emph{Python, FastAPI, SQLite}}{October 2025 – December 2025}
\resumeItemListStart
\resumeItem{Created a scheduling tool that groups study tasks into focused sessions based on deadlines.}
\resumeItem{Wrote unit tests for scheduling conflicts and documented the API with worked examples.}
\resumeItemListEnd
\resumeSubHeadingListEnd
\section{Technical Skills}
\begin{itemize}[leftmargin=0.15in,label={}]
\small{\item{
\textbf{Languages:} Python, TypeScript, JavaScript, Java, SQL \\
\textbf{Frameworks:} React, Next.js, FastAPI, Node.js \\
\textbf{Developer Tools:} Git, Docker, Linux, VS Code, GitHub Actions \\
\textbf{Libraries:} pandas, NumPy, pytest, React Testing Library
}}
\end{itemize}
\end{document}
For your own content, export a fresh project from the editor. Copying this example does not copy your current draft.
What each package does
These packages are included in the downloaded example’s preamble. Some original template packages are retained even where this example does not actively use them.
| Package | Purpose |
|---|---|
fontenc (T1) | Selects the text font encoding added by this editor. |
latexsym | Provides the template’s legacy LaTeX symbol commands. |
fullpage (empty) | Sets a starting page layout with empty page style; later length adjustments refine it. |
titlesec | Formats section headings and their rules. |
marvosym | Loads the original template’s additional symbols. |
color (usenames, dvipsnames) | Provides named colors and the black section rule. |
verbatim | Retains the original template’s verbatim/comment facilities. |
enumitem | Controls list indentation, labels and spacing. |
hyperref (hidelinks) | Creates contact links without colored link boxes. |
fancyhdr | Clears the header/footer and their rules. |
babel (english) | Selects the document’s English language conventions. |
tabularx | Retains the original preamble’s flexible-table support; entry headings here use tabular*. |
glyphtounicode is loaded with input; pdfgentounicode=1 enables Unicode mappings in pdfTeX. Font packages are additional only when selected.
Local compile command
pdflatex -interaction=nonstopmode -halt-on-error main.texCompile with pdfLaTeX
Download and extract the project ZIP, open a terminal in that folder, and run pdflatex -interaction=nonstopmode -halt-on-error main.tex. A working TeX distribution with the packages listed below must already be installed; this website does not install a desktop compiler for you. The resulting file is main.pdf. Read the first error in main.log if compilation fails.
For Overleaf, upload the ZIP as a new project, use main.tex as the main document, select pdfLaTeX and recompile. You can also use Export resume → Open in Overleaf in the editor; that asks before sending your source. Our browser compiler is a separate local runtime, so always review the PDF after moving to another TeX installation.
The original source uses pdfTeX-specific Unicode mapping commands. Choose pdfLaTeX for this exported project; switching to XeLaTeX or LuaLaTeX without adapting those commands and the font setup can produce errors. This is not an all-language template: check the actual PDF for unsupported characters rather than assuming every script is available.
Change fonts without losing track of the layout
The original article class uses Computer Modern at 11pt with optional font packages commented out. This editor additionally emits T1 font encoding and can enable Charter, Fira Sans, Roboto, Source Sans Pro or Noto Sans. A selected font package must be installed in the compiler you use.
For a hand-edited copy, enable only the font package you intend to use. In the form editor, select the font first and export a fresh project instead. Compare the new line breaks, bullet wrapping and page count with the previous PDF. Changing fonts can make a one-page document longer.
Margins, Letter and A4
In the source, change letterpaper to a4paper in the documentclass options to select A4. In the editor, use the Letter / A4 control and download a fresh project; the generated document class changes with that choice. Verify the PDF’s actual paper dimensions before printing or submitting.
This template uses fullpage plus addtolength adjustments for its margins; it does not load geometry. Edit those existing lengths carefully rather than adding a second margin system blindly. Start by shortening repetitive text and reducing unnecessary bullets before shrinking margins or type to force a single page.
Add a section or a new role
Section titles use the standard section command. Entries are built with resumeSubheading or resumeProjectHeading inside resumeSubHeadingListStart and resumeSubHeadingListEnd. Bullets use resumeItem inside resumeItemListStart and resumeItemListEnd. Preserve each command’s braces and number of arguments when copying an entry.
For a custom section without writing commands, add it in the editor and export again. If you edit TeX directly, escape literal percent signs, ampersands and underscores in ordinary text. The form editor handles these escapes for you. Recompile after each small change so the source of an error stays clear.
Text mapping is useful, but not an ATS guarantee
glyphtounicode is a TeX mapping input file, not a package loaded with usepackage. Together with pdfgentounicode=1, it helps pdfTeX map glyphs to Unicode text. It does not rank your resume or establish compatibility with every employer’s applicant tracking system.
After compiling in this editor, use Text check to inspect extracted contact details, dates and reading order. For an externally compiled PDF, copy its text or use a PDF text extractor and compare it with the visual document. Follow the employer’s requested file format.
Make it yours
Based on Jake Gutierrez’s template, derived from sb2nov/resume. Keep the MIT notices with redistributed source. Read the licenses.