#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, MATLAB, C, C++, Java, HTML, CSS, Dart \ *Frameworks:* Node.js, Express, React, Next.js, Vue, Flutter, Qt, Prisma, Apollo, Axum, Jest, Pytest \ *Tools:* Linux, Git, Docker, PostgreSQL, Redis, Kubernetes, AWS, GCP, Heroku, OpenTelemetry, GraphQL, Webpack ] = Experience #indent[ #show link: underline #work_entry( "Software Engineering Intern", "Dropbase", start_date: "May 2023", end_date: "Aug 2023", location: "Remote", tasks: ( [Engineered a database-specific *SQL IDE autocompletion tool* via a heuristic algorithm to validate queries], [Developed a service to sync HubSpot and Airtable data with Google Sheets via *AWS Lambda*], [Constructed dynamic forms in *react-hook-form* by generating questions from the backend on-the-fly], [Created testing infrastructure for the backend with *Pytest* to catch regressions across database engines], ), ) #work_entry( "Backend Developer", "Hack the North", start_date: "Mar 2023", end_date: "present", location: "Waterloo, ON", tasks: ( [Streamlined registration by dynamically generating *user-specific Apple Wallet passes* over *Apollo GraphQL*], [Horizontally scaled the *Node.js* server to handle *1000+ concurrent users* with *Redis* and *Kubernetes*], [Automated judging scheduling by creating a *greedy algorithm* to match judges to project themes], [Integrated *OpenTelemetry* and Grafana in a *Kubernetes* cluster to collect traces and improve observability], ), ) ] = Projects #set strong(delta: SMALL_STRONG) #indent[ #project( "RecipeReady", "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( "Genshin Simulator", "https://github.com/potatoeggy/primoprod", "Vue, TypeScript, Capacitor, Android", ) - Built an realistic *cross-platform 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( "Flashcard Generator", "https://github.com/potatoeggy/flashnote", "Java, Android", ) - Created an Android app to generate study *flashcards from handwritten notes* using *Google Cloud* - Interfaced with GCP's Vision and NLP APIs to extract text and keywords from images with *Retrofit* and *Gson* - Isolated key terms with GCP's NLP API to convert declarative sentences into questions and answers #project( "Kobo Sync Server", "https://github.com/potatoeggy/kobink", "Rust, Axum", ) - 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 metadata and covers // #project( // "Comic Downloader & 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("Arch Linux Server", none, "Linux, nginx, systemd") // - Created a *self-hosted CI/CD pipeline* with *Gitea* to automatically deploy // personal projects behind *nginx* // - Set up *Jellyfin* for media streaming, a *Minecraft* server, *Calibre* for ebook // syncing, and other services ] = 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", location: "Waterloo, ON", tasks: ( [Courses: Object-oriented programming, data structures & algorithms, digital computers & circuits], ), ) ]