├── .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 |
--------------------------------------------------------------------------------