From 33f4f2520ca3d66fafc84d4e125a638d1321f273 Mon Sep 17 00:00:00 2001 From: eggy Date: Mon, 17 Jun 2024 21:28:48 -0400 Subject: [PATCH] feat: content overhaul --- Daniel Chen.typ | 81 +++++++++++++++++++++++++------------------------ lib.typ | 6 ++-- 2 files changed, 45 insertions(+), 42 deletions(-) diff --git a/Daniel Chen.typ b/Daniel Chen.typ index e8130b6..3bcb738 100644 --- a/Daniel Chen.typ +++ b/Daniel Chen.typ @@ -66,16 +66,17 @@ tools: "Next.js, Spring Boot, PostgreSQL, AWS, Terraform", tasks: ( // [Improved client responsiveness by *80* by employing stale-while-revalidate hooks for caching and ?? SWR performance, caching, error handling], - [?? Performance: optimised dashboard responsiveness by SWR in React / TS, lazy - load with Hibernate, *reducing load times by 50%*], - [?? owned feature for user to upload supplementary documents, *reducing support - tickets by 30%* by automating document verification and storage (doc vault)], - [?? Planned and executed a roadmap to SOC 2 security compliance by *implementing - role-based permissions with JWTs in Java*, sending backend logs to CloudWatch, - and introducing new privacy controls for user data], - [?? created a pipeline to deploy Lambdas from version control ?? *Introduced - CI/CD for AWS Lambdas* by codifying them in Terraform for reproducible and - automatic deployments], + [Optimised dashboard performance by *80%* by employing *stale-while-revalidate* + hooks in *React* and lazily loading backend models with Hibernate, improving + user retention by *30%*], + [Achieved SOC 2 security compliance by implementing *role-based permissions with + JWTs* in *Spring Boot*, logging alerts to CloudWatch, and introducing new + privacy controls for user data], + [Owned the creation of an end-to-end document vault feature for users to upload + and verify supplementary identity documents with *Textract*, *reducing support + tickets by 25%*], + [Created CI/CD pipelines to automatically deploy AWS Lambdas with *Terraform* and + *Jenkins*], ), ) @@ -87,15 +88,16 @@ location: "Remote", tools: "React, Python, PostgreSQL, AWS", tasks: ( - [?? Owned and launched a HubSpot/Airtable to Google Sheets sync feature to - *46000+ enterprise users* with AWS Lambda and Python], - [?? Wrote and deployed a new *React* data query builder and Python backend for - our business intelligence visualisation service to *33000+ users*, eliminating - the need for clients to manually write API calls or Python code], - [Designed a conflict resolution algorithm for merging databases, *reducing - unrecoverable errors by 75%*], - [?? new tool dDeveloped a *serverless microservice* that asynchronously ingests - email attachments directly into ETL pipelines], + [Owned the creation of a new feature to sync *46000+ enterprise users'* + HubSpot/Airtable data to Google Sheets and emailed CSVs to databases with AWS + Lambda and *Python*], + [Engineered a new *React* data query builder and *FastAPI* backend for our + business intelligence visualisation service to *33000+ users*, eliminating the + need for clients to manually write API calls], + [Designed a conflict resolution algorithm to merge databases, reducing + *unrecoverable errors by 75%*], + // [?? new tool dDeveloped a *serverless microservice* that asynchronously ingests + // email attachments directly into ETL pipelines], // [??? emphasise test driven development or remove line *Reduced request errors by 30%* by creating backend testing infrastructure with // *Pytest* to catch regressions and test new features across database engines with // *90% code coverage*], @@ -110,14 +112,15 @@ location: "Waterloo, ON", tools: "Express, Redis, GraphQL, Docker, Kubernetes", tasks: ( - [Shipped a new *bus registration tool* for attendees by creating new database - tables and GraphQL resolvers], - [Created a real-time event statistics dashboard by implementing GraphQL - *subscriptions with Redis PubSub*], - [?? tell story Diagnosed and *recovered from load spike crashes* by debouncing - queries, using rate limiting as a stopgap], - [?? feature first Reduced event check-in times by *80%* for *1900+ attendees* by - generating digital wallet passes over Express], + [Built a new travel tool application leveraging *GraphQL* and *Apollo Server* to + track bus capacity for *500+ attendees* through real-time registration processes], + [Streamlined event check-in times by *80%* for *1900+ guests* by generating + Apple/Google Wallet passes over *Express* and *Node.js*], + [Diagnosed and recovered from crashes due to load spikes up to *800k updates per + hour* at the world's largest student-run hackathon by autoscaling *Redis* and + *Postgres* on *Kubernetes*], + // [Upgraded the event statistics dashboard to update in real time with GraphQL + // *subscriptions with Redis PubSub*], ), ) ] @@ -132,9 +135,9 @@ repo_link: "https://github.com/potatoeggy/mandown", ) - Created a CLI and GUI to scrape, download, and convert webcomics into - e-ink-optimised ebooks (EPUB, PDF) - - Designed a *scalable data conversion system* via a canonical format, allowing - any format to convert to any other + e-ink-optimised PDF/EPUBs + - Designed a scalable ebook converter with a *plugin-based architecture* to + improve compatibility - Implemented *image caching and multithreading* to increase download and update speeds by *300%* @@ -143,10 +146,10 @@ "Rust, Axum", repo_link: "https://github.com/potatoeggy/kobink", ) - - *Reimplemented the Kobo Store Sync protocol* in an Axum backend to instead sync - personal ebook files - - Deployed the service behind an nginx reverse proxy and Cloudflare DNS to allow - syncing over the internet + - Created an *Axum* backend to send custom files to Kobos by *reimplementing the + Kobo Sync API* + - Deployed the service behind an nginx reverse proxy and Cloudflare DNS to sync + over the internet // #project( // "Genshin Rewards Simulator", @@ -165,10 +168,10 @@ repo_link: "https://github.com/potatoeggy/jeopardy", demo_link: "https://jeopardy.eggworld.me/host", ) - - Created a beautiful and polished remote game where participants buzz in on their - devices over WebSockets - - Synchronised game state between clients and the host with shared TypeScript - types and the observer pattern + - Created a beautiful and polished game where participants buzz in on their + devices over *WebSockets* + - Synchronised game state between clients and the host with shared types and the + *observer pattern* // #project( // "RecipeReady", @@ -203,8 +206,8 @@ #indent[ #work_entry( - "University of Waterloo", "B.A.Sc. in Computer Engineering", + "University of Waterloo", start_date: "Sep 2022", end_date: "Apr 2027", location: "Waterloo, ON", diff --git a/lib.typ b/lib.typ index e56bf9c..97d3619 100644 --- a/lib.typ +++ b/lib.typ @@ -7,7 +7,7 @@ #let HEADING_FONT = TITLE_FONT #let BODY_FONT = "New Computer Modern" -#let BODY_FONT_SIZE = 11pt +#let BODY_FONT_SIZE = 11.5pt #let HEADING_FONT_SIZE = 0.95em #let TITLE_FONT_SIZE = 2em @@ -16,7 +16,7 @@ #let BODY_LINE_SPACING = 0.75em // rest = not top -#let PAGE_MARGINS = (right: 0.4in, rest: 0.3in) +#let PAGE_MARGINS = (right: 0.5in, rest: 0.4in) // Format locations. #let format_location(location) = { @@ -110,7 +110,7 @@ // Set name and contact data and format headings #let template(name, color, doc) = { set page(margin: PAGE_MARGINS, paper: "us-letter") - set list(indent: 0.75em, marker: [•]) + set list(indent: 0.65em, marker: [•]) set text(font: (BODY_FONT), BODY_FONT_SIZE) set par(leading: BODY_LINE_HEIGHT) align(center)[