#import "lib/template_common.typ": template_common, work_entry, project, indent, SMALL_STRONG #let education = indent[ #work_entry( "B.A.Sc. in Computer Engineering", "University of Waterloo", start_date: "Sep 2022", end_date: "Apr 2027", location: "Waterloo, ON", tasks: ( [Courses: Object-oriented programming, data structures & algorithms, digital logic & circuits, operating systems], [Extracurriculars: Hack the North Organising Team, UW Orbital Satellite Design Team, Creative Writing Club Secretary], ), ) ] #let skills = indent[ *Languages:* Python, C, C++, Rust, Java, MATLAB, HTML/CSS/JavaScript \ // Dart *Technologies:* React, Next.js, Spring Boot, Express, Prisma, Apollo, GraphQL \ // Qt, Jest / Pytest, Apollo, Prisma, Rails *Tools:* Linux, Git, Docker, Postgres, Pytest, Jest, AWS/GCP, Kubernetes, Terraform, Figma // Jenkins, systemd, Jira ] #show: doc => template_common(education, skills, doc) = Experience #indent[ #work_entry( "Software Engineering Intern", "Magna", company_link: "https://magna.so", start_date: "Sep 2024", end_date: "Dec 2024", location: "New York, NY", tools: "Rust, TypeScript, Solidity, React, GraphQL", tasks: ( [?? Portal claim config (db, FE, BE, how lucrative it is) padding padding padding, automated deployments], [?? Solana claim fees Wrote a Rust smart contract to add a fee for claiming tokens on Solana], [?? perf and databasest], ), ) #work_entry( "Software Engineering Intern", "Immigr8", company_link: "https://immigr8now.com", start_date: "Jan 2024", end_date: "Apr 2024", location: "Tampa, FL (Remote)", tools: "TypeScript, Spring Boot, React, Postgres, Terraform, AWS", tasks: ( // [Owned the creation of an end-to-end document vault feature in React for users to // upload and verify identity documents with Textract, reducing support tickets by // *25%*], [Planned and executed a roadmap to *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], [?? be specific Investigated and improved initial load time by *80%* for tool using async data fetching and optimising relations], [?? make it clear that you deployed the entire setup, atm makes it seem like you clicked some buttons Created CI/CD pipelines to automatically deploy AWS Lambdas with Terraform and Jenkins], ), ) #work_entry( "Software Engineering Intern", "Dropbase", company_link: "https://dropbase.io", start_date: "May 2023", end_date: "Aug 2023", location: "San Francisco, CA (Remote)", tools: "TypeScript, Python, React, Postgres, AWS", tasks: ( [??? make it clearer what this is 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], [?? what is it Shipped a new database sync tool for *46000+* users by abstracting data sources behind an adapter-based architecture and AWS Lambdas], [?? data focus, 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*], ), ) #work_entry( "Backend Developer", "Hack the North", company_link: "https://hackthenorth.com", start_date: "Mar 2023", end_date: "Oct 2024", location: "Waterloo, ON", tools: "TypeScript, Express, Postgres, Kubernetes", tasks: ( [Built a new travel registration application leveraging GraphQL to track bus capacity for *500+* attendees in real time], [??? Apple wallet, mention it's a new feature], [Diagnosed and recovered from crashes due to load spikes up to *800k* updates per hour at the world's largest student-run hackathon by maintaining and autoscaling Redis and Postgres on Kubernetes], [??? CI/infra focus, deploying otel and traces], // [Upgraded the event statistics dashboard to update in real time with GraphQL // *subscriptions with Redis PubSub*], ), ) ] = Projects #set strong(delta: SMALL_STRONG) #indent[ #project( "Game Boy Advance Emulator", "Rust, SDL2, Vulkan", repo_link: "https://github.com/potatoeggy/gbarr", tasks: ( [Implemented an *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], ), ) #project( "Mandown Comic Downloader", "Python, Qt", repo_link: "https://github.com/potatoeggy/mandown", tasks: ( [Created a CLI and GUI to scrape, download, and convert webcomics into 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%*], ), ) // #project( // "Kobo Sync Server", // "Rust, Axum", // repo_link: "https://github.com/potatoeggy/kobink", // tasks: ( // [Developed a *Rust* backend to sync custom ebook 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", // "Vue, TypeScript", // repo_link: "https://github.com/potatoeggy/primoprod", // demo_link: "https://primoprod.vercel.app", // tasks: ( // [Built a realistic and beautiful *loot box simulator* with CSS animations based // off a popular game], // [Reduced action latency by *90%* by lazily loading art assets at opportune times, // such as during cutscenes], // ), // ) // #project( // "Jeopardy!", // "Vue, TypeScript, WebSockets", // repo_link: "https://github.com/potatoeggy/jeopardy", // demo_link: "https://jeopardy.eggworld.me/host", // tasks: ( // [Developed 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", // "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("Arch Linux Server", "Linux, Docker, nginx, systemd", demo_link: "https://eggworld.me") // - Created a *self-hosted CI/CD pipeline* with *Gitea* to automatically deploy // personal projects behind *nginx* // - Containerised services with *Docker* and *systemd* to simplify deployment and // management ]