#import "lib/template_common.typ": template_common, work_entry, project, indent, SMALL_STRONG #let education = indent[ #work_entry( "University of Waterloo", "B.A.Sc. in Computer Engineering — 3.7/4.0 GPA", start_date: "2022", end_date: "2026", location: "Waterloo, ON", tasks: ( // [Courses: Object-oriented programming, data structures & algorithms, concurrency, // operating systems], [*Involvements*: Hack the North (Organiser), UW Orbital Satellite Design Team, Creative Writing Club (Secretary)], [*Awards*: StormHacks 2022 (#link("https://devpost.com/software/perdiem")[EdTech Winner]), YRHacks 2022 (#link("https://devpost.com/software/resketch")[IBM Open Source Winner])], ), ) ] #let skills = indent[ *Languages:* Python, TypeScript/JavaScript, Rust, Java, C++, SQL, HTML/CSS \ // Dart *Frameworks:* Node, React, Vue, GraphQL, Spring Boot, Express, Redis, Terraform, Prisma, Apollo, Axum \ *Tools:* Linux, Postgres, Git, Docker, AWS, GCP, Kubernetes, Figma, Jenkins, nginx // 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: ( [Shipped internal dashboard to *automate website creation* and deployment for *50+ clients* using *Node*, *React*], [Created and refactored data models, controllers, and *GraphQL APIs* to store and deploy site configurations], [Investigated and *improved initial load times by >60%* for client sites by caching blockchain reads in *Redis*], [Led collaboration with engineers, partner teams, designers to identify needs and scope technical requirements], ), ) #work_entry( "Software Developer", "Immigr8", company_link: "https://immigr8now.com", start_date: "Jan 2024", end_date: "Apr 2024", location: "Remote", tools: "TypeScript, Spring Boot, React, Postgres, Terraform, AWS", tasks: ( [Built and launched passport/private document storage platform for *200+ users* using *Spring Boot* and *React*], [Secured REST endpoints with *role-based permissions* and *JWTs*; monitored and logged alerts via CloudWatch], [Implemented document *OCR pipeline* with Lambda, Textract, and *S3* to automatically parse and tag uploads], [Created parallel *CI/CD system from scratch* with *Terraform* and Jenkins to deploy *AWS Lambdas* on commit], // BE-infra only, FE ver is admin dashboard ), ) #work_entry( "Software Engineering Intern", "Dropbase", company_link: "https://dropbase.io", start_date: "May 2023", end_date: "Aug 2023", location: "Remote", tools: "TypeScript, Python, React, Postgres, AWS", tasks: ( [Architected platform to clone, sync, and visualise databases for *3000+ enterprise users* in *Python* and *React*], [Designed *merge conflict resolution system* to handle data mismatches, reducing user-reported errors by *35%*], [Shipped *static analysis tool* for platform's *custom SQL dialect* by recursively processing an abstract syntax tree], [Conceptualised and implemented extensible *classes and abstractions* to easily onboard *8 new database types*], // [Developed a serverless microservice to asynchronously ingest 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 Lead", "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: ( [Streamlined event check-in times for *1900+* guests by automatically generating Apple Wallet passes over *Express*], [Overhauled CI/CD pipelines, speeding up builds by *35%* by parallelising testing and type checking with *Buildkite*], [Investigated backend slowdowns in production by *introducing OpenTelemetry tracing* onto *Grafana* dashboards], [Resolved load spike crashes by caching queries via *Redis* and horizontally scaling services on *Kubernetes*], ), ) ] = Projects #indent[ #project( "Mandown", "Python, Qt", repo_link: "https://github.com/potatoeggy/mandown", tasks: ( [Created a CLI and GUI to convert webcomics into e-ink-optimised files with a *plugin-based architecture*], [Expanded support for new formats and features #link("https://github.com/potatoeggy/mandown/issues/55")[based on] #link("https://github.com/potatoeggy/mandown/issues/89")[user] #link("https://github.com/potatoeggy/mandown/issues/63")[demand], minimising regressions with #link( "https://github.com/potatoeggy/mandown/blob/master/tests/test_source_batoto.py", )[E2E tests]], [Implemented *image caching and multithreading* to increase download and processing speeds by *300%*], ), ) // #project( // "Kobink", // "Rust, Axum", // repo_link: "https://github.com/potatoeggy/kobink", // tasks: ( // [Built a backend to sync custom ebook files to Kobos by reverse-engineering and // mimicking the Kobo Sync API], // [??], // ), // ) // #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 client/server game with *real-time multiplayer* in *Vue* and *WebSockets*], [Designed a *custom JSON protocol* over *WebSockets* to synchronise game state and handle buzzer events], ), ) // #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 ]