diff --git a/Daniel Chen.typ b/Daniel Chen.typ index 67e306a..a1b68e9 100644 --- a/Daniel Chen.typ +++ b/Daniel Chen.typ @@ -30,75 +30,92 @@ = Skills #indent[ - *Languages:* Python, TypeScript, JavaScript, Rust, SQL, C, C++, Java, - HTML, CSS \ - // MATLAB, Dart + *Languages:* Python, TypeScript, JavaScript, Rust, SQL, C, C++, Java, HTML, CSS \ + // MATLAB, Dart, Ruby *Frameworks:* Node.js, Express, Spring Boot, React, Next.js, Vue, Flutter, Axum \ - // Qt, Jest / Pytest, Apollo, Prisma - *Tools:* Linux, Git, Docker, PostgreSQL, Redis, Kubernetes, AWS, GCP, - OpenTelemetry, GraphQL, Android + // Qt, Jest / Pytest, Apollo, Prisma, Rails + *Tools:* Linux, Git, Docker, Terraform, PostgreSQL, AWS/GCP, OpenTelemetry, + Kubernetes, GraphQL, nginx // Jenkins, systemd, Jira ] = Experience #indent[ + // #work_entry( + // "Technical Volunteer", + // "Organization for Transformative Works", + // start_date: "Feb 2024", + // end_date: "present", + // location: "Remote", + // tools: "Ruby on Rails, React, MySQL", + // tasks: ( + // [Automated importing NUMBER of fics by scraping it into a database then import to AO3, largest fanfic archive], + // [Increased reliability probably (how?)] + // ) + // ) + #work_entry( "Software Developer Intern", "Immigr8", start_date: "Jan 2024", end_date: "Apr 2024", location: "Clearwater, FL", - tools: "TypeScript, Java, AWS, Next.js, Spring Boot, PostgreSQL", + tools: "Next.js, Spring Boot, PostgreSQL, AWS, Terraform", tasks: ( - [???], // TODO - [???], - [???] - ) + // [Improved client responsiveness by *80* by employing stale-while-revalidate hooks for caching and ?? SWR performance, caching, error handling], + [Set up CI/CD for AWS infrastructure by *codifying it in Terraform* for + reproducible and automatic deployments], + [Reduced CI/CD pipeline build times by *70%* by setting up a staging environment + with *EC2* and *Jenkins*, parallelising builds, and caching dependencies], + [Planned and executed a roadmap to SOC 2 security compliance by *implementing + role-based permissions with JWTs*, sending backend logs and alerts to + *CloudWatch*, and introducing new privacy controls for user data], + [Shipped an *internal admin panel* from end-to-end to visualise client data and + manage user permissions, reducing the need for manual database queries by *90%*], + ), ) -] -#indent[ #work_entry( "Software Engineering Intern", "Dropbase", start_date: "May 2023", end_date: "Aug 2023", - location: "San Francisco, CA", - tools: "Python, TypeScript, FastAPI, AWS, React, PostgreSQL", + location: "Toronto, ON", + tools: "React, FastAPI, PostgreSQL, AWS", tasks: ( - [Designed a conflict resolution algorithm for business smart tables, *reducing + [Designed a conflict resolution algorithm for merging databases, *reducing unrecoverable errors by 75%*], - [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], - // [Launched a service to validate and import CSV/Excel attachments into DBs by - // expanding engine support by *6x*], - [*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*], + [Owned and launched 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 for our business + intelligence visualisation service to *33000+ users*, eliminating the need for + clients to manually write API calls or Python code], + [Developed a scalable 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*], ), ) #work_entry( - "Backend Developer & Organiser", + "Backend Developer & Event Organiser", "Hack the North", start_date: "Mar 2023", end_date: "present", location: "Waterloo, ON", - tools: "TypeScript, GraphQL, Docker, Kubernetes", + tools: "Express, GraphQL, Docker, Kubernetes", tasks: ( - [Streamlined event check-in times by *80%* by generating user-specific Apple Wallet passes over *Express*], - [Horizontally scaled the *Node* server to handle *1000+ concurrent users* with - *Redis* and *Kubernetes*], + [Streamlined event check-in times by *80%* for *1900+ attendees* by generating + digital wallet passes over *Express*], [Integrated backend *tracing* to monitor performance and trigger alerts with *OpenTelemetry* and *Grafana*], - [Deployed a new attendee bus registration platform by creating new database + [Diagnosed system scaling issues during load spikes and *recovered from a system + crash* by asking the frontend team to debounce their queries, implementing rate + limiting as a temporary stopgap measure], + [Shipped a new *bus registration tool* for attendees by creating new database tables and *GraphQL* resolvers], - [Slashed boot and reload times by *93%* by introducing *threading, profiling*, - and pre-transpiling generated code], ), ) ] @@ -107,7 +124,7 @@ #set strong(delta: SMALL_STRONG) #indent[ - // #project("Comic Downloader", "Python, Qt", + // #project("Comic Downloader", "Python, Qt", // 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) @@ -120,14 +137,18 @@ "Genshin Simulator", "Vue, TypeScript", repo_link: "https://github.com/potatoeggy/primoprod", - demo_link: "https://primoprod.vercel.app" + demo_link: "https://primoprod.vercel.app", ) - 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 - #project("Kobo Sync Server", "Rust, Axum", repo_link: "https://github.com/potatoeggy/kobink") + #project( + "Kobo Sync Server", + "Rust, Axum", + repo_link: "https://github.com/potatoeggy/kobink", + ) - Developed an Axum backend to *automatically convert and sync* ebooks to a Kobo eReader over the network - *Reverse-engineered* the Kobo eReader Sync API to support updating ebook @@ -150,14 +171,16 @@ // personal projects behind *nginx* // - Containerised services with *Docker* and *systemd* to simplify deployment and // management - - #project("Game Boy Advance Emulator", "Rust, SDL2, Vulkan", repo_link: "https://github.com/potatoeggy/gbarr") - // - Implemented a *GBA emulator* with *SDL2* and *Vulkan* to run games on modern - // hardware - // - Optimised the CPU core to run at *full speed* by *precompiling* instructions and - // *parallelising* execution - - ??? - - ??? + + // #project( + // "Game Boy Advance Emulator", + // "Rust, SDL2, Vulkan", + // repo_link: "https://github.com/potatoeggy/gbarr", + // ) + // - Implemented a *ARMv7 emulator* for old games to run on modern x86_64 platforms + // with *SDL2* and *Vulkan* + // - WebGPU and WASM for portability, typestate to guarantee everything is always + // valid ] = Education @@ -172,16 +195,7 @@ tasks: ( [Courses: Object-oriented programming, data structures & algorithms, digital computers & circuits], - [Extracurriculars: Creative Writing Club, Hack the North, UW Orbital Design Team] + [Extracurriculars: Creative Writing Club, Hack the North, UW Orbital Design Team], ), ) ] - -// = Awards - -// #show link: underline - -// - Winner of the #link("https://github.com/anyuan-chen/resketch")[EdTech] prize at -// StormHacks 2022 from 350+ participants -// - Winner of the #link("https://github.com/anyuan-chen/perdiem")[IBM Open Source] prize -// at YRHacks 2022 from 90+ participants