#import "fontawesome.typ": fa, globe, github, linkedin, envelope #import "lib.typ": template, work_entry, project, indent, SMALL_STRONG, DEFAULT_STRONG // orange!! #let color = rgb("#ff983e") #let name = "Daniel Chen" #let contact_data = ( ( service: fa[#globe], display: "eggworld.me", link: "https://eggworld.me" ), ( service: fa[#github], display: "github.com/potatoeggy", link: "https://github.com/potatoeggy" ), ( service: fa[#linkedin], display: "linkedin.com/in/potatoeggy", link: "https://www.linkedin.com/in/potatoeggy/" ), ( service: fa[#envelope], display: "d7chen@uwaterloo.ca", link: "mailto://d7chen@uwaterloo.ca" ), ) #show: doc => template(name, contact_data, color, doc) // MAIN CONTENT STARTS here = Skills #indent[ *Languages:* Python, TypeScript/JavaScript, Rust, SQL, C++, Java, HTML, CSS \ *Frameworks:* Node.js, Express, React, Next.js, Vue, Flutter, Qt, Prisma, Apollo, Axum \ *Tools:* Linux, Git, Docker, PostgreSQL, Redis, Kubernetes, AWS, GCP, OpenTelemetry, GraphQL ] = Experience #indent[ #work_entry( "Software Engineering Intern", "Dropbase", start_date: "May 2023", end_date: "Aug 2023", location: "Remote", tasks: ( [Automated synchronising Airtable and HubSpot APIs with Google Sheets via *AWS Lambda*], [Engineered a *heuristic algorithm* to guarantee *SQL* aliases referenced in queries match the database schema], [Refactored the frontend to use *react-hook-form* to aggregate and validate user input, improving DX], [Built a service for *importing and validating CSV/Excel* files from personalised email addresses into databases], ) ) #work_entry( "Backend Developer", "Techyon", start_date: "Mar 2023", end_date: "present", location: "Waterloo, ON", tasks: ( [Integrated *OpenTelemetry* and Grafana in a *Kubernetes* cluster to collect traces and improve observability], [Dynamically generated user-specific *Apple Wallet* passes over *Apollo GraphQL* Server to streamline check-in], [Automated judge-to-hacker matching and scheduling with a custom algorithm based on their preferences], [Horizontally scaled the *Node.js* server to handle *1000+ concurrent users* with *Redis* and *Kubernetes*], ) ) ] = Projects #set strong(delta: SMALL_STRONG) #indent[ #project("Mandown Comic Converter", "https://github.com/potatoeggy/mandown", "Python, Qt") - Created a CLI and GUI to scrape, download, and convert webcomics into e-ink-optimised ebooks (EPUB, PDF) - Designed an *intermediate representation* to store metadata and images as a 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("Primoprod Genshin Simulator", "https://github.com/potatoeggy/primoprod", "Vue, TypeScript") - Built an interactive, realistic, and beautiful game simulator with fluid animations based off a popular game - Constructed an *extensible JSON data schema* to let the user dynamically switch between game versions // #project("Kobink — Kobo Sync Server", "https://github.com/potatoeggy/kobink", "Rust, Axum, Postgres") // - ??? something here (reverse engineering) // - ??? something here (synchronisation and DB, HTTP headers) #project("RecipeReady Recipe Aggregator", "https://github.com/vincentjguo/recipeready-server", "Flutter, Selenium, FastAPI, Android") - Developed a *Flutter app* to generate recipes based on ingredients and filters 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 #project("Box Box Revolution", "https://github.com/potatoeggy/boxboxrevolution", "Rust, STM32") - Created a rhythm game to detect punches with an ultrasonic sensor in line wth notes of popular songs - Developed firmware to measure from an ultrasonic sensor, tone a buzzer, and show scrolling notes on an LCD ] = 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 = Education #indent[ #work_entry( "University of Waterloo", "B.A.Sc. in Computer Engineering", start_date: "Sep 2022", end_date: "Apr 2027 (expected)", location: "Waterloo, ON", tasks: ( [Courses: Object-oriented programming, data structures & algorithms, digital computers & circuits], ) ) ]