├── .gitignore ├── .gitattributes ├── Kunalan_Kevin_Subagaran_Resume.pdf ├── README.md ├── src ├── heading.tex ├── education.tex ├── skills.tex ├── projects.tex └── experience.tex ├── .github └── workflows │ └── main.yml ├── styles.css ├── index.html ├── custom-commands.tex └── resume.tex /.gitignore: -------------------------------------------------------------------------------- 1 | **/*.out 2 | **/*.log 3 | **/*.aux 4 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | -------------------------------------------------------------------------------- /Kunalan_Kevin_Subagaran_Resume.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KnlnKS/resume/HEAD/Kunalan_Kevin_Subagaran_Resume.pdf -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Kunalan Kevin Subagaran's Resume 2 | Welcome to my resume! 3 | [View Resume here](https://knlnks.github.io/resume/Kunalan_Kevin_Subagaran_Resume.pdf). 4 | -------------------------------------------------------------------------------- /src/heading.tex: -------------------------------------------------------------------------------- 1 | %----------HEADING---------- 2 | \begin{center} 3 | \textbf{\Huge \scshape Kunalan Kevin Subagaran} \\ \vspace{5pt} 4 | \small 647-284-0714 $|$ 5 | \href{kunalan.k.subagaran@gmail.com}{\underline{kunalan.k.subagaran@gmail.com}} $|$ 6 | \href{https://www.linkedin.com/in/knlnks/}{\underline{linkedin.com/in/knlnks/}} $|$ 7 | \href{https://github.com/KnlnKS}{\underline{github.com/KnlnKS}} 8 | \end{center} 9 | -------------------------------------------------------------------------------- /src/education.tex: -------------------------------------------------------------------------------- 1 | %-----------EDUCATION----------- 2 | \section{Education} 3 | \resumeSubHeadingListStart 4 | 5 | \resumeSubheading 6 | {Queen's University}{September 2019 --- May 2023} 7 | {Bachelors of Computing (Honours) in Software Design}{Kingston, ON} 8 | \resumeItemListStart 9 | \resumeItem{\textbf{Relevant Coursework:} Data Structures, Algorithms, OOP, Operating Systems, System Level Programming} 10 | \resumeItem{\textbf{Awards:} Ratehub.ca Award in Computing, Dean's Honour List × 2} 11 | \resumeItemListEnd 12 | 13 | \resumeSubHeadingListEnd 14 | -------------------------------------------------------------------------------- /src/skills.tex: -------------------------------------------------------------------------------- 1 | %-----------PROGRAMMING SKILLS----------- 2 | \section{Technical Skills} 3 | \begin{itemize}[leftmargin=0.15in, label={}] 4 | \small{\item{ 5 | \textbf{Languages}{: TypeScript, JavaScript, Go, Python, HTML/CSS, Java, Rust, Bash, C, SQL} \\ 6 | \textbf{Frameworks}{: Express.js, React, Next.js, Svelte, jQuery, Flask, Bootstrap, Gin, Tailwind} \\ 7 | \textbf{Technologies}{: Node.js, REST APIs, GraphQL, MySQL, MongoDB, Redis, Selenium, Git, MySQL, Postgres} \\ 8 | \textbf{DevOps}{: Docker, Kubernetes, GitHub Actions, Google Cloud Platform, Amazon Web Services, CI/CD, Terraform, Pulumi} 9 | }} 10 | \end{itemize} 11 | -------------------------------------------------------------------------------- /.github/workflows/main.yml: -------------------------------------------------------------------------------- 1 | name: Build LaTeX document 2 | on: [push] 3 | jobs: 4 | Build_LaTeX_Resume: 5 | runs-on: ubuntu-latest 6 | steps: 7 | - name: Set up Git repository 8 | uses: actions/checkout@v2 9 | 10 | - name: Compile Resume 11 | uses: dante-ev/latex-action@latest 12 | with: 13 | root_file: resume.tex 14 | compiler: pdflatex 15 | args: -interaction=nonstopmode -shell-escape 16 | 17 | - name: Commit Resume 18 | run: | 19 | mv resume.pdf Kunalan_Kevin_Subagaran_Resume.pdf 20 | git config --global user.name "knlnks/resume" 21 | git config --global user.email "soulkks@hotmail.ca" 22 | git add . 23 | git commit -m '📄🔨 Generate Resume' || echo 24 | git push 25 | -------------------------------------------------------------------------------- /styles.css: -------------------------------------------------------------------------------- 1 | :root { 2 | --color-text-primary: #c9d1d9; 3 | --color-bg-primary: #0d1117; 4 | --color-border-primary: #c9d1d9; 5 | } 6 | 7 | html { 8 | -webkit-text-size-adjust: 100%; 9 | font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Helvetica, Arial, 10 | sans-serif, Apple Color Emoji, Segoe UI Emoji; 11 | background-color: var(--color-bg-primary); 12 | } 13 | 14 | body { 15 | display: flex; 16 | justify-content: center; 17 | align-items: center; 18 | } 19 | 20 | #markdown-body { 21 | color-scheme: dark; 22 | color: var(--color-text-primary); 23 | font-size: 14px; 24 | line-height: 1.5; 25 | word-wrap: break-word; 26 | box-sizing: border-box; 27 | background-color: var(--color-bg-primary); 28 | border: 1px solid var(--color-border-primary); 29 | border-radius: 6px; 30 | padding: 24px; 31 | margin-top: 10%; 32 | max-width: 80%; 33 | } 34 | -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Kunalan Kevin Subagaran's Resume 8 | 9 | 10 | 11 | 12 | 25 | 26 | 27 | 28 |
29 | 30 |
31 | 32 | 33 | -------------------------------------------------------------------------------- /custom-commands.tex: -------------------------------------------------------------------------------- 1 | %------------------------- 2 | % Custom commands 3 | \newcommand{\resumeItem}[1]{ 4 | \item\small{ 5 | {#1 \vspace{-2pt}} 6 | } 7 | } 8 | 9 | \newcommand{\resumeSubheading}[4]{ 10 | \vspace{-2pt}\item 11 | \begin{tabular*}{0.97\textwidth}[t]{l@{\extracolsep{\fill}}r} 12 | \textbf{#1} & #2 \\ 13 | \textit{\small#3} & \textit{\small #4} \\ 14 | \end{tabular*}\vspace{-7pt} 15 | } 16 | 17 | \newcommand{\resumeSubSubheading}[2]{ 18 | \item 19 | \begin{tabular*}{0.97\textwidth}{l@{\extracolsep{\fill}}r} 20 | \textit{\small#1} & \textit{\small #2} \\ 21 | \end{tabular*}\vspace{-7pt} 22 | } 23 | 24 | \newcommand{\resumeProjectHeading}[2]{ 25 | \item 26 | \begin{tabular*}{0.97\textwidth}{l@{\extracolsep{\fill}}r} 27 | \small#1 & #2 \\ 28 | \end{tabular*}\vspace{-7pt} 29 | } 30 | 31 | \newcommand{\resumeSubItem}[1]{\resumeItem{#1}\vspace{-4pt}} 32 | 33 | \renewcommand\labelitemii{$\vcenter{\hbox{\tiny$\bullet$}}$} 34 | 35 | \newcommand{\resumeSubHeadingListStart}{\begin{itemize}[leftmargin=0.15in, label={}]} 36 | \newcommand{\resumeSubHeadingListEnd}{\end{itemize}} 37 | \newcommand{\resumeItemListStart}{\begin{itemize}} 38 | \newcommand{\resumeItemListEnd}{\end{itemize}\vspace{-5pt}} 39 | -------------------------------------------------------------------------------- /src/projects.tex: -------------------------------------------------------------------------------- 1 | %-----------PROJECTS----------- 2 | \section{Projects} 3 | \resumeSubHeadingListStart 4 | 5 | \resumeProjectHeading 6 | {\textbf{Jobby} $|$ \emph{Golang, PostgreSQL, SQL, Webhooks}}{} 7 | \resumeItemListStart 8 | \resumeItem {Developed a Golang application that scrapes APIs, gathering software job postings and storing them in PostgreSQL} 9 | \resumeItem{Integrated with a Discord server boasting over \textbf{75,000 members} and a website built with Next.js and Tailwind} 10 | \resumeItem{Established a strategic partnership with Simplify.jobs, a Y Combinator (YC) company, to integrate their job postings} 11 | \resumeItemListEnd 12 | 13 | \resumeProjectHeading 14 | {\textbf{Resume Parser} $|$ \emph{React, Next.js, JavaScript, jQuery, HTML/CSS, Vercel, Redis}}{} 15 | \resumeItemListStart 16 | \resumeItem{Created web app with over \textbf{150,000 page views}, that shows parsed resume information} 17 | \resumeItem{Made custom analytics solution using Redis with backend hosted as a Vercel edge function} 18 | \resumeItemListEnd 19 | 20 | \resumeProjectHeading 21 | {\textbf{Course Central} $|$ \emph{React, Next.js, TypeScript, Chakra-UI, Python, Selenium, MongoDB}}{} 22 | \resumeItemListStart 23 | \resumeItem{Engineered a website with \textbf{14,000+ users} and \textbf{100,000+ page views}, that shows a course's historical GPA and data} 24 | \resumeItem{Utilized Python web scrapers to collect, aggregate, and then upload the data of over 850 courses to MongoDB} 25 | \resumeItemListEnd 26 | 27 | \resumeProjectHeading 28 | {\textbf{Forex Trading Algorithm} $|$ \emph{Python, Jupyter Notebooks, NumPy, pandas, scikit-learn}}{} 29 | \resumeItemListStart 30 | \resumeItem{Developed a Python trading algorithm that made a \textbf{profit of over \$90,000} from an investment of \$10,000} 31 | \resumeItem{Formulated ARIMA model to place orders and sells based on correlation between forex and commodities} 32 | \resumeItemListEnd 33 | 34 | \resumeSubHeadingListEnd 35 | -------------------------------------------------------------------------------- /resume.tex: -------------------------------------------------------------------------------- 1 | %------------------------- 2 | % Resume in Latex 3 | % Author : Jake Gutierrez 4 | % Based off of: https://github.com/sb2nov/resume 5 | % License : MIT 6 | %------------------------ 7 | 8 | \documentclass[letterpaper,11pt]{article} 9 | 10 | \usepackage{latexsym} 11 | \usepackage[empty]{fullpage} 12 | \usepackage{titlesec} 13 | \usepackage{marvosym} 14 | \usepackage[usenames,dvipsnames]{color} 15 | \usepackage{verbatim} 16 | \usepackage{enumitem} 17 | \usepackage[hidelinks]{hyperref} 18 | \usepackage{fancyhdr} 19 | \usepackage[english]{babel} 20 | \usepackage{tabularx} 21 | \input{glyphtounicode} 22 | 23 | 24 | %----------FONT OPTIONS---------- 25 | % sans-serif 26 | % \usepackage[sfdefault]{FiraSans} 27 | % \usepackage[sfdefault]{roboto} 28 | % \usepackage[sfdefault]{noto-sans} 29 | % \usepackage[default]{sourcesanspro} 30 | % \usepackage{nunito} 31 | \usepackage[default]{lato} 32 | 33 | % serif 34 | % \usepackage{CormorantGaramond} 35 | % \usepackage{charter} 36 | 37 | 38 | \pagestyle{fancy} 39 | \fancyhf{} % clear all header and footer fields 40 | \fancyfoot{} 41 | \renewcommand{\headrulewidth}{0pt} 42 | \renewcommand{\footrulewidth}{0pt} 43 | 44 | % Adjust margins 45 | \addtolength{\oddsidemargin}{-0.5in} 46 | \addtolength{\evensidemargin}{-0.5in} 47 | \addtolength{\textwidth}{1in} 48 | \addtolength{\topmargin}{-.5in} 49 | \addtolength{\textheight}{1.0in} 50 | 51 | \urlstyle{same} 52 | 53 | \raggedbottom 54 | \raggedright 55 | \setlength{\tabcolsep}{0in} 56 | 57 | % Sections formatting 58 | \titleformat{\section}{ 59 | \vspace{-4pt}\scshape\raggedright\large 60 | }{}{0em}{}[\color{black}\titlerule\vspace{-5pt}] 61 | 62 | % Ensure that generate pdf is machine readable/ATS parsable 63 | \pdfgentounicode=1 64 | 65 | %------------------------- 66 | % Custom commands 67 | \include{custom-commands} 68 | 69 | %------------------------------------------- 70 | %%%%%% RESUME STARTS HERE %%%%% 71 | 72 | \begin{document} 73 | 74 | %----------HEADING---------- 75 | \input{src/heading} 76 | 77 | %-----------EDUCATION----------- 78 | \input{src/education.tex} 79 | 80 | %-----------EXPERIENCE----------- 81 | \input{src/experience} 82 | 83 | %-----------PROJECTS----------- 84 | \input{src/projects} 85 | 86 | %-----------SKILLS----------- 87 | \input{src/skills.tex} 88 | 89 | %------------------------------------------- 90 | \end{document} 91 | -------------------------------------------------------------------------------- /src/experience.tex: -------------------------------------------------------------------------------- 1 | %-----------EXPERIENCE----------- 2 | \section{Experience} 3 | \resumeSubHeadingListStart 4 | 5 | \resumeSubheading 6 | {Retool}{July 2023 - Present} 7 | {Software Engineer}{San Francisco, CA} 8 | \resumeItemListStart 9 | \resumeItem{Working on scaling Retool's platform as part of the Infrastructure team} 10 | \resumeItemListEnd 11 | 12 | \resumeSubheading 13 | {Snapchat}{May 2022 - August 2022} 14 | {Software Engineer Intern}{Toronto, ON} 15 | \resumeItemListStart 16 | \resumeItem{Implemented hybrid encryption to secured the sensitive data of over \textbf{100 million users} on AWS and GCP} 17 | \resumeItem{Created a high-performance microservice using Golang and gRPC, aggregating and processing \textbf{1.7 million} daily requests for model training, resulting in improved accuracy} 18 | \resumeItem{Enhanced a core authorization utility, empowering services with streamlined user authorization flow} 19 | \resumeItemListEnd 20 | 21 | \resumeSubheading 22 | {Bonsai}{May 2021 - August 2021} 23 | {Full-Stack Developer Intern}{Toronto, ON} 24 | \resumeItemListStart 25 | \resumeItem{Engineered an external order fulfillment system that has fulfilled over \textbf{\$1,600,000} in processing volume} 26 | \resumeItem{Added features to React dashboard such as filters, exporting orders as a CSV, and product verification pipeline} 27 | \resumeItem{Reduced API load of Node.js + GraphQL backend by \textbf{66\%} by optimizing frontend queries, improving response times} 28 | \resumeItem{Strengthened the platform's security by implementing a password reset flow with reset tokens, IP address and Browser validation, and integrated Sendgrid's Email API for secure confirmation emails} 29 | \resumeItemListEnd 30 | 31 | \resumeSubheading 32 | {Bonsai}{January 2021 - April 2021} 33 | {Site Reliability Engineer Intern}{Toronto, ON} 34 | \resumeItemListStart 35 | \resumeItem{Improved monorepo by transitioning to Yarn V2 with local caching, speeding up CI/CD workflows by \textbf{18 minutes}} 36 | \resumeItem{Reduced Docker build size by over \textbf{90\%} with multistage builds and parent images resulting in less storage costs} 37 | \resumeItem{Automated the deployment of Google Cloud services and the creation of MongoDB clusters using Terraform} 38 | \resumeItem{Revamped TypeScript + Node.js image API by splitting into microservices, significantly minimizing response time} 39 | \resumeItemListEnd 40 | 41 | \resumeSubHeadingListEnd 42 | --------------------------------------------------------------------------------