Skip to content

Instantly share code, notes, and snippets.

@Learath2
Created August 19, 2025 16:44
Show Gist options
  • Select an option

  • Save Learath2/00fd14f18b97a5e0a1be1af5bd68ed0b to your computer and use it in GitHub Desktop.

Select an option

Save Learath2/00fd14f18b97a5e0a1be1af5bd68ed0b to your computer and use it in GitHub Desktop.
CV template
%! TeX program = lualatex
\documentclass{article}
\newlength{\myheadlen}
\setlength{\myheadlen}{4.2cm}
\newlength{\myfootlen}
\setlength{\myfootlen}{1cm}
\newlength{\mysubheadlen}
\setlength{\mysubheadlen}{1cm}
\setlength{\marginparwidth}{0cm}
\setlength{\headheight}{\dimexpr\myheadlen + \mysubheadlen\relax}
\setlength{\headsep}{0cm}
\usepackage[top=0cm,hscale=0.9,bottom=0cm,includeall,a4paper]{geometry}
\usepackage{xcolor}
\usepackage{tikz}
\usepackage{fontspec}
\usepackage{tabularx}
\usepackage{ragged2e}
\usepackage{forloop}
\usepackage{enumitem}
\usepackage{hyperref}
\pagestyle{empty}
\setmainfont{"DejaVuSansMono"}
\newfontfamily\symfamily{"SymbolsNerdFont"}
\definecolor{accentcolor}{rgb}{0, .8, 1}
\colorlet{headercolor}{accentcolor!5!black}
\newcolumntype{C}{>{\centering\arraybackslash}X}
\begin{document}%
\noindent\tikz[remember picture,overlay]{%
\node[rectangle, outer sep=0pt, fill=headercolor, anchor=north west, minimum height=\myheadlen, minimum width=\paperwidth](header) at (current page.north west){};%
\node[draw=none, align=left, anchor=west, inner xsep=4cm](name) at (header.west) {%
{\Huge \color{white} John Doe}%
};%
\node[rectangle, outer sep=0pt, fill=headercolor!80!white, anchor=north, minimum height=\mysubheadlen, minimum width=\paperwidth](header) at (header.south){};%
\node[draw=none, align=left, anchor=west, minimum width=\paperwidth](name) at (header.west) {
\noindent\color{lightgray}\begin{tabularx}{\paperwidth}{C|C|C|C}
{\symfamily\symbol{"EA84}} \href{https://github.com/username}{\underline{username}} &%
{\symfamily\symbol{"F08C}} \href{https://linkedin.com/in/example}{\underline{John Doe}} &%
{\symfamily\symbol{"EB1C}} \href{mailto:email@example.com}{\underline{email@example.com}} &%
{\symfamily\symbol{"EB1A}} City, Country \\
\end{tabularx}
};%
}%
\newcolumntype{K}{>{\RaggedLeft\arraybackslash\hsize=.4\hsize\linewidth=\hsize}X}
\newcolumntype{P}{>{\raggedright\arraybackslash\hsize=1.6\hsize\linewidth=\hsize}X}
\setlength\extrarowheight{8pt}
\noindent\begin{tabularx}{\textwidth}{K | P}
\large\textbf{Profile} &
\hspace{1em}Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Etiam euismod, lorem vitae feugiat ultricies, ex orci fermentum erat,
non luctus libero nunc eget nunc.
\end{tabularx}
\bigskip
\noindent\begin{tabularx}{\textwidth}{K | P}
\large\textbf{Education} & \\
\textbf{Example University}\newline\small\color{darkgray}\textbf{(2020--2023)}&%
\textbf{Bachelor of Science in Computer Engineering}\smallskip
\begin{itemize}[nosep, itemsep=1pt, leftmargin=1.5em]
\item Final grade: XX/110
\item Merit scholarship awarded for academic performance
\item Relevant coursework: \emph{Algorithms}, \emph{Computer Architecture}, \emph{Databases}, \emph{Operating Systems}
\end{itemize}
\end{tabularx}
\bigskip
\newcounter{ct}
\noindent\begin{tabularx}{\textwidth}{K | P}
\large\textbf{Experience} & \\
\textbf{Open Source Project}\newline\small\color{darkgray}\textbf{(2015--Present)}&%
\textbf{Contributor and Maintainer}\smallskip
\begin{itemize}[nosep, itemsep=1pt, leftmargin=1.5em]
\item Developed and maintained features in \emph{C++}, \emph{Python}, and \emph{Rust}
\item Collaborated with an international team through code reviews and discussions
\item Improved build systems and automated testing pipelines
\item Deployed and monitored production servers across multiple regions
\end{itemize}\\%
\textbf{TechCorp Ltd.}\newline\small\color{darkgray}\textbf{(2024)}&%
\textbf{Backend Intern}\smallskip
\begin{itemize}[nosep, itemsep=1pt, leftmargin=1.5em]
\item Assisted in migrating services to a modern \emph{Go}-based backend
\item Built internal tooling and automated workflows
\item Worked on fault-tolerant payment and data pipelines
\item Integrated with third-party APIs and services
\end{itemize}\\%
\end{tabularx}
\bigskip
\colorlet{skillfill}{black!60!accentcolor}
\colorlet{skillstroke}{black!60!skillfill}
\newcommand{\rate}[2]{%
\forloop{ct}{0}{\value{ct} < #1}{%
\tikz\draw[color=skillstroke, fill=skillfill] (0,0) circle (.5ex);\thinspace}%
\forloop{ct}{0}{\value{ct} < \numexpr#2 - #1\relax}{%
\tikz\draw[color=skillstroke] (0,0) circle (.5ex);\thinspace}
}
\newcommand{\skillspec}[3]{%
#1\hfill\rate{#2}{#3}%
}
\noindent\begin{tabularx}{\textwidth}{K | P}
\large\textbf{Skills} & \\ &%
{\begin{tabularx}{\hsize}[t]{X|X|X}
\skillspec{C}{5}{5} & \skillspec{C++}{4}{5} & \skillspec{Git}{5}{5} \\
\skillspec{Rust}{2}{5} & \skillspec{Python}{4}{5} & \skillspec{PHP}{3}{5} \\
\skillspec{SQL}{4}{5} & \skillspec{Linux}{5}{5} & \skillspec{Go}{4}{5} \\
\end{tabularx}}%
\end{tabularx}
\bigskip
\newcommand{\langspec}[4]{%
#1{\small\color{darkgray}(#2)}\hfill\rate{#3}{#4}%
}
\noindent\begin{tabularx}{\textwidth}{K | P}
\large\textbf{Languages} & \\ &%
{\begin{tabularx}{.8\hsize}[t]{X|X}
\langspec{English}{C1}{5}{5} & \langspec{Spanish}{B1}{3}{5} \\
\langspec{French}{A2}{2}{5} & \skillspec{German}{1}{5} \\
\end{tabularx}}%
\end{tabularx}
\colorlet{footercolor}{headercolor!90!white}
\noindent\tikz[remember picture,overlay]{%
\node[rectangle, outer sep=0pt, fill=footercolor, anchor=south west, minimum height=\myfootlen, minimum width=\paperwidth](footer) at (current page.south west){};%
\node[draw=none, align=left, anchor=center](name) at (footer.center) {%
{\color{darkgray}\small Made with LaTeX}%
};%
}%
\end{document}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment