Compare commits

...

4 Commits

Author SHA1 Message Date
eggy
03d85a07bb chore: refactor sources 2023-07-20 16:08:37 -04:00
eggy
69fd72579c feat: make a viable resume 2023-07-20 15:55:42 -04:00
eggy
3b220c1bc5 reduce mandown codecov 2023-07-13 23:05:07 -04:00
eggy
017479f6ad feat: increase font size and clean text 2023-07-13 22:13:31 -04:00
2 changed files with 30 additions and 29 deletions

View File

@@ -43,9 +43,9 @@
= Skills
#indent[
*Languages*: Python, JavaScript/TypeScript, Rust, SQL, C++, HTML, CSS, Bash, Java \
*Frameworks*: Node.js, Express, React, Next.js, Vue, Flutter, Qt, Prisma, Apollo \
*Tools*: Linux, Git, Docker, Postgres, Kubernetes, AWS, GCP, Terraform
*Languages*: Python, TypeScript/JavaScript, Rust, SQL, C++, Dart, Bash, Java, HTML, CSS \
*Frameworks*: Node.js, Express, React, Next.js, Vue, Flutter, Qt, Prisma, Apollo, Axum, Diesel \
*Tools*: Linux, Git, Docker, PostgreSQL, Redis, Kubernetes, AWS, GCP, OpenTelemetry, GraphQL
]
= Experience
@@ -57,59 +57,60 @@
start_date: "May 2023", end_date: "Aug 2023",
location: "Remote",
tasks: (
"??? Query builder ORM",
"??? Integrating Airtable/HubSpot w/AWS Lambda",
"??? Major frontend refactor",
"??? Dropbase things"
"Designed a type-safe ORM-style query builder to dynamically generate JSON forms based on external data",
"Integrated Airtable and HubSpot APIs with the core product via AWS Lambda to automate data migration",
"Refactored the frontend to use react-hook-form to aggregate and validate user input, improving DX",
"Created a Pytest testing framework to verify core functionality across many different databases"
)
)
#work_entry(
"Backend Developer",
"Techyon",
"Hack the North",
start_date: "Mar 2023", end_date: "present",
location: "Waterloo, ON",
tasks: (
"??? Telemetry and observability w/K8s, Grafana, OpenTelemetry",
"??? Registration ticket w/Apollo Server + GraphQL, w/Google + Apple Wallet",
"??? Went back and documented old code and endpoints for FE, APOLLO UPGRADE",
"??? Provisioned more Redis instances to avoid downtime"
"Integrated OpenTelemetry and Grafana into a Kubernetes cluster to collect traces and improve observability",
"Dynamically generated Apple Wallet URLs over Apollo Server and GraphQL for a registration ticket",
"Increased API reliability with Redis Sentinel to automatically failover to backup Redis instances",
"Slashed dev server reload time by 1500% by pre-transpiling GraphQL resolvers and offloading type-checking"
)
)
]
= GitHub Projects
= Projects
#indent[
#project("Mandown", "https://github.com/potatoeggy/mandown", "Python, Qt")
- Created a real-time site scraper for metadata and images to automatically download comics
- Implemented comic conversion between CBZ/EPUB/PDF as well as image processing to optimise for e-ink screens
- Increased download and update speed by more than 100% by implementing image caching and multiprocessing
- Designed a responsive and accessible CLI with Typer and GUI with Qt 6
- Wrote extensive unit tests to minimise regressions between release cycles
- Abstracted 4 ebook creation libraries into a common comic conversion API for e-ink devices
- Implemented image caching and multiprocessing to increase download and update speeds by 300%
- Minimised regressions between release cycles by writing unit and integration tests with 55% code coverage
#project("Kobink", "https://github.com/potatoeggy/kobink", "Rust, Axum, Postgres")
- ??? something here
- ??? something here
// #project("Kobink", "https://github.com/potatoeggy/kobink", "Rust, Axum, Postgres")
// - ??? something here (reverse engineering)
// - ??? something here (synchronisation and DB, HTTP headers)
#project("RecipeReady", "https://github.com/github.com/vincentjguo/recipeready-server", "Flutter, Selenium, FastAPI, Android")
#project("RecipeReady", "https://github.com/vincentjguo/recipeready-server", "Flutter, Selenium, FastAPI, Android")
- Scraped thousands of websites for recipes to build a database with a robust many-to-many tag system
- Designed a REST API to filter and query recipes along with ingredient pricing from Walmart
#project("\"Pillow\" Water Quality Sensor", "https://github.com/potatoeggy/ece198", "Rust, STM32")
- Created a water quality statistics aggregator and visualiser on an embedded platform in safe Rust
- Engineered an embedded system with a STM32 microcontroller, matrix keypad, and an LCD display
- Engineered an embedded system with an STM32 microcontroller, matrix keypad, and an LCD display
#project("Primoprod", "https://github.com/potatoeggy/primoprod", "Vue, TypeScript")
- Mocked a video game UI using CSS to create a hyper-realistic, cross-platform game simulator
- Reverse-engineered an API to allow Primoprod to interoperate with a popular web service (paimon.moe)
- Constructed an extensible JSON data schema to concisely simplify adding new game content
]
= Awards
- Winner of the EdTech category at StormHacks 2022
- Winner of the IBM Open Source category at YRHacks 2022
- 2nd place in the Industry 4.0 engineering analytics competition
#show link: underline
- Winner of the #link("https://github.com/anyuan-chen/resketch")[EdTech category] at StormHacks 2022 from 350+ participants
- Winner of the #link("https://github.com/anyuan-chen/perdiem")[IBM Open Source category] at YRHacks 2022 from 90+ participants
- 2nd place in the Industry 4.0 2021 engineering analytics competition from 200+ participants
= Education

View File

@@ -4,7 +4,7 @@
// Reduce space between headings and descriptions.
#let sep_space = par_space + 0.1em
let subtitle_space = par_space - 0.2em
#let subtitle_space = par_space - 0.2em
// Format start and end dates.
#let format_date(start_date: none, end_date: none) = {
@@ -23,7 +23,7 @@ let subtitle_space = par_space - 0.2em
// Format locations.
#let format_location(location) = {
[_#block(above: par_space, location)_]
[_#block(above: 0.7em, location)_]
}
#let indent(content) = {
@@ -117,7 +117,7 @@ let subtitle_space = par_space - 0.2em
#let template(name, contact_data, color, doc) = {
set page(margin: (rest: 0.5in, top: 0.4in), paper: "us-letter")
set list(indent: 1.25em, marker: [])
set text(font: "Latin Modern Sans", 10pt)
set text(font: "Latin Modern Sans", 11pt)
set par(justify: true, leading: 0.65em)
align(center)[
#text(size: 2em)[*#name*]