diff --git a/Daniel Chen.typ b/Daniel Chen.typ index 4923c95..5043cda 100644 --- a/Daniel Chen.typ +++ b/Daniel Chen.typ @@ -64,26 +64,39 @@ end_date: "Aug 2023", location: "San Francisco, CA", tasks: ( - [Designed a conflict resolution algorithm for business smart tables, *reducing unrecoverable errors by 75%*], - [Solely planned and shipped to *46 000+ enterprise users* a Google Sheets sync feature with HubSpot and Airtable by writing *AWS Lambda* functions in Python], - [Productionised a service importing CSV/Excel attachments into DBs by expanding DB engine support by *6x*], - [Spearheaded the creation of backend testing infrastructure with *Pytest* to catch regressions and test new features across database engines with *90% code coverage*], + [Designed a conflict resolution algorithm for business smart tables, *reducing + unrecoverable errors by 75%*], + [Launched a service to validate and import CSV/Excel attachments into DBs by + expanding engine support by *6x*], + [Shipped a HubSpot/Airtable to Google Sheets sync feature to *46000+ enterprise + users* by writing *AWS Lambda* functions in Python, abstracting interfaces to + easily support future sources], + [Wrote and deployed a new *React* data query builder to *33000+ users* by + standardising and enforcing protocols between interfaces across the stack, + eliminating the need for business users to manually write API calls], + [*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*], ), ) #work_entry( - "Backend Developer", + "Backend Developer & Organiser", "Hack the North", start_date: "Mar 2023", end_date: "present", location: "Waterloo, ON", tasks: ( - [Streamlined registration times by *80%* by generating *user-specific mobile ticket - passes* over *Apollo GraphQL*], - [Horizontally scaled the *Node.js* server to handle *1000+ concurrent users* with + [Streamlined event check-in times by *80%* by generating user-specific mobile + ticket passes over *Express*], + [Deployed a new attendee bus registration platform by creating new database + tables and *GraphQL* resolvers], + [Horizontally scaled the *Node* server to handle *1000+ concurrent users* with *Redis* and *Kubernetes*], - [Integrated backend *tracing* with *OpenTelemetry* and *Grafana* to monitor performance and trigger alerts], - [Slashed dev server reload time by *93%* by splitting parallelisable tasks across threads, pre-transpiling GraphQL resolvers, and profiling then cutting unnecessary work] + [Integrated backend *tracing* to monitor performance and trigger alerts with + *OpenTelemetry* and *Grafana*], + [Slashed boot and reload times by *93%* by introducing *threading, profiling*, + and pre-transpiling generated code], ), ) ] @@ -103,8 +116,6 @@ standardised conversion target - 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( "Kobo Sync Server", @@ -117,12 +128,12 @@ metadata and covers #project( - "Genshin Simulator", + "Genshin Wish Simulator", "https://github.com/potatoeggy/primoprod", "Vue, TypeScript", ) - - Built an realistic and beautiful *loot box simulator* with fluid animations - based off a popular game + - Built a realistic and beautiful *loot box simulator* with fluid animations based + off a popular game - Reduced action latency by *90%* by lazily loading art assets at opportune times, such as during cutscenes @@ -135,8 +146,8 @@ through a FastAPI server - Scraped thousands of websites for recipes to build a database with a robust *many-to-many tag system* - - Aggregated common ingredients heuristically to build a shopping list and a meal - plan for each week + // - Aggregated common ingredients heuristically to build a shopping list and a meal + // plan for each week // #project("Arch Linux Server", none, "Linux, nginx, systemd") // - Created a *self-hosted CI/CD pipeline* with *Gitea* to automatically deploy diff --git a/lib.typ b/lib.typ index 40e26d4..1790dfa 100644 --- a/lib.typ +++ b/lib.typ @@ -23,7 +23,7 @@ } #let indent(content) = { - block(inset: (left: 1em, right: 0.5em), content) + block(inset: (left: 0.75em, right: 0.5em), content) } // General entry that is split into a left and right half (for experience and education). @@ -93,7 +93,7 @@ // Set name and contact data and format headings #let template(name, contact_data, color, doc) = { set page(margin: PAGE_MARGINS, paper: "us-letter") - set list(indent: 1.25em, marker: [•]) + set list(indent: 1em, marker: [•]) set text(font: (BODY_FONT), BODY_FONT_SIZE) set par(justify: true, leading: BODY_LINE_HEIGHT) align(center)[