add formatting

This commit is contained in:
2026-03-27 15:23:21 -04:00
parent eb6e8f3922
commit b1bbec2ccb
8 changed files with 440 additions and 99 deletions

19
.direnv/bin/nix-direnv-reload Executable file
View File

@@ -0,0 +1,19 @@
#!/usr/bin/env bash
set -e
if [[ ! -d "/home/alice/.gitprojects/resumes" ]]; then
echo "Cannot find source directory; Did you move it?"
echo "(Looking for "/home/alice/.gitprojects/resumes")"
echo 'Cannot force reload with this script - use "direnv reload" manually and then try again'
exit 1
fi
# rebuild the cache forcefully
_nix_direnv_force_reload=1 direnv exec "/home/alice/.gitprojects/resumes" true
# Update the mtime for .envrc.
# This will cause direnv to reload again - but without re-building.
touch "/home/alice/.gitprojects/resumes/.envrc"
# Also update the timestamp of whatever profile_rc we have.
# This makes sure that we know we are up to date.
touch -r "/home/alice/.gitprojects/resumes/.envrc" "/home/alice/.gitprojects/resumes/.direnv"/*.rc

1
.envrc Normal file
View File

@@ -0,0 +1 @@
use flake

34
.github/copilot-instructions.md vendored Normal file
View File

@@ -0,0 +1,34 @@
# Project Guidelines
## Code Style
- Primary source is `main.tex`; keep edits focused there unless build config changes are required.
- Follow existing LaTeX macro style: reusable `\newcommand` helpers for resume blocks (e.g., `\resumeSubheading`, `\resumeEducation`, `\resumeItem`).
- Preserve compact spacing/layout conventions (`\vspace`, custom `\titleformat`, `tabular*` alignment) unless asked to redesign formatting.
- Keep package usage consistent with current preamble and avoid adding new packages unless required for a user request.
## Architecture
- This workspace is a single-document resume project.
- `main.tex` contains both template macros and resume content.
- Files like `main.aux`, `main.fdb_latexmk`, and `main.fls` are generated build artifacts, not source-of-truth.
- `glyphtounicode` is included for text extractability/ATS friendliness via `\pdfgentounicode=1`.
## Build and Test
- Build PDF (preferred): `latexmk -pdf main.tex`
- Alternative build: `pdflatex main.tex` (run multiple times if references/layout need settling)
- Clean artifacts: `latexmk -c`
- Validate by checking successful compile and reviewing resulting `main.pdf` for layout overflow/line wrapping regressions.
## Project Conventions
- Use existing macros instead of ad-hoc formatting in section bodies.
- Keep section/list structure aligned with current pattern: `\resumeSubHeadingListStart` / `\resumeSubHeadingListEnd` and `\resumeItemListStart` / `\resumeItemListEnd`.
- Keep content concise and achievement-oriented; avoid large prose blocks that break one-page layout assumptions.
- Do not manually edit generated files (`*.aux`, `*.fdb_latexmk`, `*.fls`, etc.); `.gitignore` already treats these as build outputs.
## Integration Points
- External links are rendered with `hyperref` (`hidelinks`) and should stay valid/HTTPS.
- Typography/layout relies on current package set (`sourcesanspro`, `titlesec`, `multicol`, `tabularx`); changing these can significantly alter spacing.
## Security
- Resume data includes personally identifiable information (name, location, email, phone, profile URLs).
- Do not invent or expose new sensitive personal details when generating edits.
- Prefer placeholders when asked to add unknown contact/private information.

95
.github/prompts/resume-review.prompt.md vendored Normal file
View File

@@ -0,0 +1,95 @@
---
name: "Resume Review"
description: "Use when: reviewing your resume as a hiring manager for SWE roles at startups or big tech / FAANG. Reads the LaTeX source, builds the PDF, views the rendered layout, and delivers structured feedback covering ATS keywords, impact metrics, clarity, and formatting."
agent: agent
---
You are an experienced software engineering hiring manager who has hired engineers at top-tier startups and FAANG companies. Your standards are high. You are evaluating this resume as though it just landed in your inbox for a mid-to-senior software engineering role. Be direct, specific, and constructive — prioritize signal over style.
## Your Task
Review the candidate's resume by following the steps below in order.
### Step 1 — Read the LaTeX source
Read [main.tex](../main.tex) to understand the full content and structure of the resume: sections, roles, dates, technologies, bullet text, projects, certifications, and any formatting macros.
### Step 2 — Build the PDF
Run the following command in the terminal to compile the resume:
```
latexmk -pdf main.tex
```
If the build produces errors, include them as a finding under **Formatting & Layout** (e.g., "Compile error on line X — fix before submission"). Continue the review using the LaTeX source regardless.
### Step 3 — View the rendered PDF
Clean up any stale preview files, then convert the first page of the built PDF to a PNG and view it:
```
rm -f main-preview*.png
pdftoppm -r 150 -png main.pdf main-preview
```
Then use #tool:view_image to view `main-preview-1.png`.
If this step fails for any reason (conversion error, tool unavailable, file not found), note it briefly — e.g., *"PDF preview unavailable — layout assessment based on LaTeX source only"* — and proceed. Do not retry or block on this step.
### Step 4 — Deliver structured feedback
Write your review using exactly the sections below. Be specific: quote bullet text, name technologies, cite line counts or spacing observations. Avoid vague commentary.
---
## Resume Review
### Overall Impression
*Pass / Borderline / No — and why in 23 sentences.* Would this clear a 30-second recruiter screen and reach your desk? Would it pass ATS filtering for a standard SWE job description at a startup or FAANG?
### Strengths
What genuinely stands out? Consider: recognizable employers or schools, strong quantified impact, relevant technical depth, notable projects, certifications, or clean presentation. Be honest — only list real strengths.
### ATS & Keywords
Evaluate keyword coverage for a mid-to-senior SWE role at a startup or FAANG. Consider:
- Programming languages (e.g., Python, Java, Go, TypeScript)
- Cloud platforms and services (e.g., AWS, GCP, Azure, Lambda, S3, EKS)
- Frameworks and tools (e.g., React, Spring Boot, Kubernetes, Terraform, Kafka)
- Engineering practices (e.g., CI/CD, microservices, distributed systems, REST, gRPC)
- Certifications (e.g., AWS SAA, CKA)
List keywords that are **present and strong**, **present but weak** (mentioned once or vaguely), and **missing or underrepresented** relative to typical FAANG/startup JDs.
### Impact & Metrics
Are accomplishments achievement-oriented and quantified? Review each bullet:
- Does it lead with a strong action verb?
- Does it state *what* was built/improved *and* the measurable result (latency, throughput, cost, scale, time saved, error rate)?
- Are there weak "responsible for" or "worked on" bullets that should be rewritten?
Call out specific bullets that are strong and specific bullets that need work (quote them).
### Clarity & Conciseness
Flag any content that is:
- Vague or jargon-heavy without substance
- Redundant across bullet points or sections
- Overlong (bullets exceeding ~90 characters or two lines in the rendered PDF)
- Confusing to someone unfamiliar with the employer's internal terminology
### Formatting & Layout
Assess the rendered visual (or LaTeX structure if PDF unavailable):
- Is the layout clean and easy to scan in 30 seconds?
- Is whitespace used well, or does it feel cramped/padded to fill space?
- Does it fit on one page without overflow?
- Are section headers, dates, and company names visually distinct?
- Any alignment, spacing, or typography issues?
If PDF preview was unavailable, state that clearly and base this section on the LaTeX source structure.
### Top 35 Actionable Improvements
List the highest-priority changes the candidate should make before submitting, ranked by impact. Each item should be:
- **Specific**: name the section, line, or bullet
- **Actionable**: say exactly what to change or add
- **Justified**: one sentence on why it matters for startup/FAANG hiring
Format as a numbered list.

44
.github/workflows/build-resume.yaml vendored Normal file
View File

@@ -0,0 +1,44 @@
name: Build and Release Resume PDF
on:
push:
branches:
- main
paths:
- 'main.tex'
- '.github/workflows/build-resume.yaml'
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install LaTeX dependencies
run: |
sudo apt-get update
sudo apt-get install -y latexmk texlive-latex-base texlive-latex-extra texlive-fonts-recommended
- name: Build PDF
run: latexmk -pdf main.tex && mv main.pdf Alice_Huston_Resume_Software_Engineer.pdf
- name: Upload PDF artifact
uses: actions/upload-artifact@v3
with:
name: resume-pdf
path: Alice_Huston_Resume_Software_Engineer.pdf
- name: Create Release
if: success()
uses: softprops/action-gh-release@v1
with:
files: Alice_Huston_Resume_Software_Engineer.pdf
tag_name: resume-${{ github.run_number }}
body: "Resume PDF built from commit ${{ github.sha }}"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

61
flake.lock generated Normal file
View File

@@ -0,0 +1,61 @@
{
"nodes": {
"flake-utils": {
"inputs": {
"systems": "systems"
},
"locked": {
"lastModified": 1731533236,
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1774386573,
"narHash": "sha256-4hAV26quOxdC6iyG7kYaZcM3VOskcPUrdCQd/nx8obc=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "46db2e09e1d3f113a13c0d7b81e2f221c63b8ce9",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"root": {
"inputs": {
"flake-utils": "flake-utils",
"nixpkgs": "nixpkgs"
}
},
"systems": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
}
},
"root": "root",
"version": 7
}

45
flake.nix Normal file
View File

@@ -0,0 +1,45 @@
{
description = "Resume development environment";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
flake-utils.url = "github:numtide/flake-utils";
};
outputs = { self, nixpkgs, flake-utils }:
flake-utils.lib.eachDefaultSystem (system:
let
pkgs = import nixpkgs {
inherit system;
};
tex = (
pkgs.texlive.combine {
inherit (pkgs.texlive)
scheme-medium
preprint
titlesec
enumitem
sourcesanspro
xifthen
ifmtarg
framed
paralist
fontawesome7
;
}
);
preCommitTool = if pkgs ? prek then pkgs.prek else pkgs.pre-commit;
in
{
devShells.default = pkgs.mkShell {
packages = [
tex
pkgs.tex-fmt
preCommitTool
];
};
}
);
}

240
main.tex
View File

@@ -24,7 +24,6 @@
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0pt}
\addtolength{\oddsidemargin}{-0.5in}
\addtolength{\evensidemargin}{-0.5in}
\addtolength{\textwidth}{1in}
@@ -41,78 +40,82 @@
\vspace{-0.85em}\bfseries%\centering
}{}{0em}{}[\color{black}\titlerule\vspace{-5pt}]
\pdfgentounicode=1
\newcommand{\resumeItem}[1]{
\item\small{
\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}
\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{\resumeEducation}[5]{
\vspace{-2pt}\item
\begin{tabular*}{0.97\textwidth}[t]{l@{\extracolsep{\fill}}r}
\textbf{#1} | #2 & #3 \\
\textit{\small#4} & \textit{\small #5} \\
\end{tabular*}\vspace{-7pt}
\vspace{-2pt}
\item
\begin{tabular*}{0.97\textwidth}[t]{l@{\extracolsep{\fill}}r}
\textbf{#1} | #2 & #3 \\
\textit{\small#4} & \textit{\small #5} \\
\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}
\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\textbf{#1} & #2 \\
\end{tabular*}\vspace{-7pt}
\item
\begin{tabular*}{0.97\textwidth}{l@{\extracolsep{\fill}}r}
\small\textbf{#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}}
\newcommand{\resumeSubHeadingListStart}{
\begin{itemize}[leftmargin=0.15in, label={}]}
\newcommand{\resumeSubHeadingListEnd}{
\end{itemize}}
\newcommand{\resumeItemListStart}{
\begin{itemize}}
\newcommand{\resumeItemListEnd}{
\end{itemize}\vspace{-5pt}}
\begin{document}
\begin{center}
{\LARGE Alice Huston} \\ \vspace{2pt}
\begin{multicols}{2}
\begin{flushleft}
{\LARGE Alice Huston} \\ \vspace{2pt}
\begin{multicols}{2}
\begin{flushleft}
%% Github profile is no longer used
%% work is moved over to private gitea instance at nayeonie.com
%%
%%\href{https://www.github.com/ahuston-0}{github.com/ahuston-0}\\
\faIcon{git} \href{https://nayeonie.com/ahuston-0}{nayeonie.com/ahuston-0}\\
\faIcon{linkedin} \href{https://www.linkedin.com/in/ahuston0}{linkedin.com/in/ahuston0}
\end{flushleft}
%%\href{https://www.github.com/ahuston-0}{github.com/ahuston-0}\\
\textbf{Portfolio}:
\href{https://nayeonie.com/ahuston-0}{nayeonie.com/ahuston-0}\\
\faIcon{linkedin}
\href{https://www.linkedin.com/in/ahuston0}{linkedin.com/in/ahuston0}
\end{flushleft}
\begin{flushright}
\href{tel:848-210-1300}{(848) 210-1300}\\
\href{mailto:{aliceghuston@gmail.com}}{aliceghuston@gmail.com}
\end{flushright}
\end{multicols}
\begin{flushright}
\href{tel:848-210-1300}{(848) 210-1300}\\
\href{mailto:{aliceghuston@gmail.com}}{aliceghuston@gmail.com}
\end{flushright}
\end{multicols}
\end{center}
%-----------EDUCATION-----------
\vspace{-1.5em}
\section{Education}
@@ -127,19 +130,21 @@
\vspace{-8pt}
\begin{multicols}{2}
\small{
\textbf{Languages}{: C/C++, Python, Java, Bash, Typescript} \\
\textbf{Frameworks}{: Hadoop, Airflow, Kubernetes, Docker, OpenCV} \\
\textbf{OS}{: NixOS, RHEL 8, Debian, Raspberry Pi OS, Ubuntu Server, Windows} \\
\textbf{Tools}{: LaTeX, SQL, ROS, OpenGL}
}
\small{
\textbf{Languages}{: C/C++, Python, Java, Bash, Typescript} \\
\textbf{Frameworks}{: Hadoop, Airflow, Kubernetes, Docker, OpenCV} \\
\textbf{Databases/Lakehouses}{: Starburst, Iceberg, Hive,
CockroachDB, OracleDB }\\
\textbf{OS}{: NixOS, RHEL 8, Debian, Ubuntu Server, Windows} \\
\textbf{Tools}{: LaTeX, Terraform, SQL, OpenGL}
}
\columnbreak
\columnbreak
\small{
\textbf{AWS Certified Solutions Architect - Associate} \\
Amazon Web Services, Mar. 2024
}
\small{
\textbf{AWS Certified Solutions Architect - Associate} \\
Amazon Web Services, Mar. 2024
}
\end{multicols}
%-----------EXPERIENCE-----------
@@ -149,40 +154,58 @@ Amazon Web Services, Mar. 2024
{Software Engineer II}{Jan. 2025 -- Present}
{JPMorgan Chase}{Jersey City, NJ}
\resumeItemListStart
\resumeItem{Created configurable data ingestion framework for automated data refinement and movement for hybrid data lake}
\resumeItem{Architected and implemented an orchestration system based on Apache airflow for both event-based and SLA-based data ingestion}
\resumeItem{Led weekly office hour sessions to demonstrate and assist with onboarding and configuring new datasets}
\resumeItem{Trained a team of developers to support the custom frameworks for use across multiple applications}
\resumeItem{Created helm charts for making platform services available and configurable to other teams }
\resumeItem{Created configurable data ingestion framework for
automated data refinement and movement for hybrid data lake}
\resumeItem{Architected and implemented an orchestration system based
on Apache airflow for both event-based and SLA-based data ingestion}
\resumeItem{Led weekly office hour sessions to demonstrate and assist
with onboarding and configuring new datasets}
\resumeItem{Trained a team of developers to support the custom
frameworks for use across multiple applications}
\resumeItem{Created helm charts for making platform services
available and configurable to other teams }
\resumeItemListEnd
%% create a new resume item below for a software engineering job at JPMorgan Chase
%% create a new resume item below for a software engineering job at
% JPMorgan Chase
\resumeSubheading
{Site Reliability Engineer}{Jul. 2022 -- Jan. 2025}
{JPMorgan Chase}{Jersey City, NJ}
\resumeItemListStart
\resumeItem{Supported 30 applications}
\resumeItem{SME for Hadoop data lake, means additional support for tableau dashboards, kubernetes applications, cloud foundry applications, maintaining dremio instance, S3 compatible object store}
\resumeItem{SME for Linux systems, Networking (firewalls, load balancers, etc.), Hadoop}
\resumeItem{Led toil reduction and noisy alert reduction across our applications}
\resumeItem{Led onboarding and standardization efforts for observability tooling}
\resumeItem{Fully automated disaster recovery procedures across a subset of our applications}
\resumeItem{Automated copy, validation of data, and merging of across Hadoop lakes (72 hour effort reduction)}
\resumeItem{SME for Hadoop data lake, means additional support for
Tableau dashboards, Kubernetes applications, cloud foundry
applications, maintaining dremio instance, S3 compatible object store}
\resumeItem{SME for Linux systems, Networking (firewalls, load
balancers, etc.), Hadoop}
\resumeItem{Led toil reduction and noisy alert reduction across our
applications}
\resumeItem{Led onboarding and standardization efforts for
observability tooling}
\resumeItem{Fully automated disaster recovery procedures across a
subset of our applications}
\resumeItem{Automated copy, validation of data, and merging of across
Hadoop lakes (72 hour effort reduction)}
\resumeItemListEnd
\resumeSubheading
{Software Development Intern}{Dec. 2020 -- May 2022}
{Stevens Institute of Technology}{(Remote) Hoboken, NJ}
\resumeItemListStart
\resumeItem{Led a team of student interns to develop \href{https://github.com/StevensDeptECE/GrailGUI}{\textbf{Grail}}, an \textbf{OpenGL}-based graphics API and browser engine}
\resumeItem{Ported \textbf{C++} networking functionality on \textbf{Linux} to \textbf{Windows} using \textbf{Winsock}}
\resumeItem{Added support for \textbf{ESRI Shapefiles} to draw and animate maps through rendering engine}
\resumeItem{Improved XDL Type system, a custom standard similar to CORBA, to send and receive statically-typed data}
\resumeItem{Led a team of student interns to develop
\href{https://github.com/StevensDeptECE/GrailGUI}{\textbf{Grail}}, an
\textbf{OpenGL}-based graphics API and browser engine}
\resumeItem{Ported \textbf{C++} networking functionality on
\textbf{Linux} to \textbf{Windows} using \textbf{Winsock}}
\resumeItem{Added support for \textbf{ESRI Shapefiles} to draw and
animate maps through rendering engine}
\resumeItem{Improved XDL Type system, a custom standard similar to
CORBA, to send and receive statically-typed data}
\resumeItemListEnd
% Removing this experience as it is not as relevant to the software engineering positions I am applying for
% Removing this experience as it is not as relevant to the software
% engineering positions I am applying for
% and the work was not as technical as my other experiences
%\resumeSubheading
%{IT R\&D Project Management Intern}{Jun. 2020 -- Aug. 2020}
@@ -191,25 +214,33 @@ Amazon Web Services, Mar. 2024
%\resumeItem{Led meetings with potential vendors for an upcoming project}
%\resumeItem{Gathered requirements from past projects and potential users}
%\resumeItem{Collected and processed data to narrow down potential vendors and
% viable products}
%\resumeItem{Resolved pre-testing issues with setup and application requirements}
% viable products}
%\resumeItem{Resolved pre-testing issues with setup and application
% requirements}
%\resumeItemListEnd
\resumeSubheading
{Research Intern}{Jun. 2019 -- Dec. 2019}
{Maritime Security Center}{Hoboken, NJ}
\resumeItemListStart
\resumeItem{Created an image classification system with \textbf{OpenCV} to filter out noise and detect buoys in a \textbf{ROS/Gazebo} simulation}
\resumeItem{Added mapping functionality to plot obstacles onto a 2D map generated by \textbf{OctoMap}}
\resumeItem{Optimized the image classification and mapping frameworks to improve reliability in navigation}
\resumeItem{Created an image classification system with
\textbf{OpenCV} to filter out noise and detect buoys in a
\textbf{ROS/Gazebo} simulation}
\resumeItem{Added mapping functionality to plot obstacles onto a 2D
map generated by \textbf{OctoMap}}
\resumeItem{Optimized the image classification and mapping frameworks
to improve reliability in navigation}
\resumeItemListEnd
% Removing this experience as it is not as relevant to the software engineering positions I am applying for and the work was not as technical as my other experiences
% Removing this experience as it is not as relevant to the software
% engineering positions I am applying for and the work was not as
% technical as my other experiences
%\resumeSubheading
%{Research Intern}{Jul. 2018 -- Aug. 2018}
%{Rutgers School of Engineering}{Piscataway, NJ}
%\resumeItemListStart
%\resumeItem{Used piezoelectric materials to create and detect mechanical waves from \textbf{Arduino} microcontrollers}
%\resumeItem{Used piezoelectric materials to create and detect
% mechanical waves from \textbf{Arduino} microcontrollers}
%\resumeItem{Detected different mediums based on a mechnical wave's travel time}
%\resumeItemListEnd
@@ -218,31 +249,42 @@ Amazon Web Services, Mar. 2024
% Certifications moved to Technical Skills & Certifications section above
\section{Projects}
\resumeSubHeadingListStart
\resumeProjectHeading{SwitchForward}{Jun. 2020 -- Aug. 2020}
\resumeItemListStart
\resumeItem{A \textbf{Python}-based Telegram bot to send stock updates for the Nintendo Switch during a supply shortage}
\resumeItem{Used the Gmail API to receive and parse emails from a Google Group tracking Nintendo Switch stock}
\resumeItem{Sent updates to a Telegram announcements channel used by \textbf{5-10} users}
\resumeItemListEnd
\resumeProjectHeading{Autonomous Robot}{Aug. 2018 -- Dec. 2018}
\resumeItemListStart
\resumeItem{An \textbf{Arduino}-based robot designed to navigate through a maze}
\resumeItem{Primarily worked on pathplanning and control in a dynamic setting}
\resumeItem{Implemented basic error-correction to account for drift during navigation}
\resumeItemListEnd
% Removing this project as it is not as relevant to the software engineering positions I am applying for
% and the work was not as technical as my other experiences
%\resumeProjectHeading{Cost-effective Road Anomaly Locator}{Sep. 2016 -- May. 2018}
%\section{Projects}
%\resumeSubHeadingListStart
%\resumeProjectHeading{SwitchForward}{Jun. 2020 -- Aug. 2020}
%\resumeItemListStart
%\resumeItem{Designed an affordable methodology for implementing and monitoring a unit to detect potholes and other damaging road anomalies with \textbf{65\%} accuracy ($p<0.05$)}
%\resumeItem{Assembled and tested units for to collect data and demonstrate effectiveness of the unit}
%\resumeItem{Ran several tests and did statistical analysis on the resulting data}
%\resumeItem{A \textbf{Python}-based Telegram bot to send stock
% updates for the Nintendo Switch during a supply shortage}
%\resumeItem{Used the Gmail API to receive and parse emails from a
% Google Group tracking Nintendo Switch stock}
%\resumeItem{Sent updates to a Telegram announcements channel used by
% \textbf{5-10} users}
%\resumeItemListEnd
%
%\resumeProjectHeading{Autonomous Robot}{Aug. 2018 -- Dec. 2018}
%\resumeItemListStart
%\resumeItem{An \textbf{Arduino}-based robot designed to navigate
% through a maze}
%\resumeItem{Primarily worked on pathplanning and control in a dynamic setting}
%\resumeItem{Implemented basic error-correction to account for drift
% during navigation}
%\resumeItemListEnd
% Removing this project as it is not as relevant to the software
% engineering positions I am applying for
% and the work was not as technical as my other experiences
%\resumeProjectHeading{Cost-effective Road Anomaly Locator}{Sep. 2016
% -- May. 2018}
%\resumeItemListStart
%\resumeItem{Designed an affordable methodology for implementing and
% monitoring a unit to detect potholes and other damaging road
% anomalies with \textbf{65\%} accuracy ($p<0.05$)}
%\resumeItem{Assembled and tested units for to collect data and
% demonstrate effectiveness of the unit}
%\resumeItem{Ran several tests and did statistical analysis on the
% resulting data}
%\resumeItemListEnd
%\resumeSubHeadingListEnd
\resumeSubHeadingListEnd
\end{document}