%! TeX program = lualatex
\documentclass[9pt]{article}

\usepackage{titlesec,titling}
\usepackage{multicol}
\setlength\multicolsep{0pt}
\setlength\columnseprule{0pt}
\usepackage[margin=0.5in,bottom=0.1in,top=0.2in]{geometry}
\usepackage{enumitem}
\setlist{noitemsep,after=\vspace{-0.5em}}
\usepackage{hyperref}
\hypersetup{
	colorlinks=true,
	urlcolor=cyan
}
\usepackage{fontspec}
\setmainfont{Sauce Code Pro Nerd Font}

\titleformat{\section}
{\LARGE\lowercase}{}{0em}{}[\titlerule]
\titlespacing{\section}
{0em}{-0.8em}{0.3em}

\titleformat{\subsection}
{\large\color{cyan}\bfseries}{}{0em}{}
\titlespacing{\subsection}
{0em}{0.45em}{0.25em}

\titleformat{\subsubsection}[runin]
{\bfseries\lowercase}{}{0em}{}
\titlespacing{\subsubsection}
{1em}{0.1em}{0.5em}

\thispagestyle{empty}

\renewcommand{\maketitle}{
	\begin{center}
		{\huge\theauthor}

		\vspace{0.5em}

		\href{https://danieliu.xyz}{爵 website} | \href{https://github.com/MrPicklePinosaur}{  github} | \href{https://devpost.com/pinosaur}{ devpost} | \href{https://pinosaur.itch.io/}{ itch.io} | \href{mailto:d278liu@uwaterloo.ca}{﫮 d278liu@uwaterloo.ca} | \color{cyan} 226-759-3635
	\end{center}
}

% push long words to next line
\tolerance=1
\emergencystretch=\maxdimen
\hyphenpenalty=10000
\hbadness=10000

\setlength\parindent{0pt}
\begin{document}

\title{Resume}
\author{Daniel Liu}
\maketitle

\section{Projects}

\subsection{\href{https://github.com/KaratsubaLabs/takoyaki-backend}{Takoyaki\textsuperscript{}} : Cloud Hosting Platform \hfill  Nov 2021-present}
\begin{itemize}
    \item Cloud hosting platform that lets users create \textbf{virtual private servers} on demand and with features like automatic snapshots and support for various Linux distributions
    \item \textbf{Golang} backend that interfaces with \textbf{PostgreSQL} database along with a utility CLI to run database migrations and authorize virtual machine creation requests
    \item Makes use of \textbf{Libvirt} and \textbf{CloudInit} cloud images to quickly build a preconfigured virtual machine. Also \textbf{dockerized} and configured with \textbf{Envoy} as a reverse proxy
\end{itemize}

\subsection{A9E : ASCII Game Engine \hfill  Dec 2021}
\begin{itemize}
    \item Game library written in \textbf{C++} for creating games that run on the terminal using \textbf{Ncurses}
    \item Features an \textbf{entity component system} (ECS), full color support, as well as a rigid body \textbf{physics engine} with collision detection and handling
\end{itemize}

\subsection{\href{https://github.com/DiscourseVR}{DiscourseVR\textsuperscript{}} : Multiplayer VR Debate \hfill  Apr 2021}
\begin{itemize}
	\item Built a \textbf{multiplayer VR} application with networked voice and text chat using the \textbf{Unity Game Engine} along with packages like Mirror, Dissonance, and RockVR
	\item Created a companion \textbf{Vue} webapp using \textbf{Nuxt} and \textbf{TailwindCSS} to playback the recorded debate, along with a \textbf{Google speech-to-text API} generated live transcript
	\item Served video files through \textbf{NGINX} and wrote a \textbf{shell script} to automatically format videos with \textbf{ffmpeg} and upload to the main server via \textbf{rsync}
\end{itemize}

\subsection{\href{https://github.com/NaiveGit/9it-cli}{9it-cli\textsuperscript{}} : Lightweight Version Control System \hfill  Jan 2021}
\begin{itemize}
	\item Implemented a \textbf{version control system} from scratch in \textbf{C} that supports the essential features like staging, committing, reverting and branching
	\item Involved binary I/O, command line argument parsing, and packaging for various popular \textbf{linux distributions} like debian, arch and gentoo
\end{itemize}

\section{Experience}

\subsection{Enzuzo Data Privacy : Full Stack Web Developer \hfill  2021}
\begin{itemize}
    \item Introduced \textbf{multilingual support} to flagship cookiebar application and \textbf{ReactJS} admin app, bringing in customers from new regions like Japan and Greece
    \item Wrote migrations in \textbf{Golang} using \textbf{Gorm} to introduce a property bag model for storing customer settings in \textbf{PostgreSQL} database as well as validation for existing data
\end{itemize}

\subsection{UW Computer Science Club : Term Com \hfill  2021-present}
\begin{itemize}
    \item Used \textbf{Ansible} to automate the creation of development VMs for both \textbf{Qemu} and \textbf{Libvirt}
    \item Worked on \textbf{Golang} script to sync Linux package repositories with the \textbf{\href{https://mirror.csclub.uwaterloo.ca/}{CSC mirror\textsuperscript{}}}
\end{itemize}

\subsection{TOHacks : Backend Developer \hfill  2021-present}
\begin{itemize}
    \item \textbf{VueJS} web app for judges to intuitively grade submitted hackathon projects
    \item Built \textbf{Express Typescript} backend from the ground up with \textbf{OpenAPI} based request and response validation, type generation and client sdk
\end{itemize}

\begin{multicols}{2}
\section{Skills}
\subsection{Languages}
\subsubsection{Programming}
C, C++, Go, Haskell, Java, Javascript/Typescript, Python, Rust
\subsubsection{Markup}
HTML, CSS, \LaTeX, Roff
\subsubsection{Other}
Unix Shell/Bash, Makefile, SQL

\subsection{Tools/Frameworks}
\subsubsection{Frontend}
Vue, React, Django
\subsubsection{Backend}
Node, Express, PostgreSQL, GraphQL, OpenAPI/Swagger, ORM
\subsubsection{Game Dev}
Unity, Blender
\subsubsection{Sysadmin/Devops}
Ansible, Docker, Envoy, NGINX, Libvirt/KVM, Linux (Arch, Debian)

\vfill

\section{Education}
\subsection{University of Waterloo \hfill  2020-2025}
Bachelor's of Computer Science with Digital Hardware

\section{Interests}
\subsection{Hackathons and Game Jams}
Participated and submitted to 20+ hackathons winning 6 times, as well as 5+ game jams
\subsection{Manga Scanlation}
Translate, clean, and typeset a variety of Japanese manga
\end{multicols}


\end{document}

