diff --git a/backend_infra.typ b/backend_infra.typ index 2beec79..3b2b002 100644 --- a/backend_infra.typ +++ b/backend_infra.typ @@ -40,12 +40,12 @@ location: "New York, NY", tools: "Rust, TypeScript, Solidity, React, GraphQL", tasks: ( - [Created an internal tool to spin up new custom Airdrop landing portals based off - of Figma designs with Vercel's API], - [Developed a new external REST API for customers who wanted to access our token + [Created tooling to build and deploy new customer landing portals based off of + Figma designs with Vercel's API], + [Developed a new external REST API for customers who wanted to access their token data programmatically], // termination display (FE), external API for customers not using our platform (BE) - [Wrote smart contracts for the Solana blockchain to add claim fees to our token - vesting platform], + [Wrote and audited smart contracts on Solana blockchain to add claim fees to our + token vesting platform], ), ) @@ -83,7 +83,7 @@ their data warehouses by custom-tailoring forms on-the-fly, supporting complex nested logic for 3000+ enterprise users across 8 database types], // [Shipped an LSP server for our custom query DSL, including customer-specific - autocomplete and syntax highlighting], // TODO + autocomplete and syntax highlighting], [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 @@ -105,8 +105,8 @@ mobile wallet passes over Express], [Overhauled CI/CD pipelines, speeding up builds by 35% by parallelising testing and type checking], - [Resolved four production downtime incidents within 30 minutes of first report as - part of the on-call team], + [Introduced backend tracing with OpenTelemetry and Grafana to profile performance + issues in production], ), ) ] diff --git a/web_fullstack.typ b/web_fullstack.typ index 6b1d720..4b2957c 100644 --- a/web_fullstack.typ +++ b/web_fullstack.typ @@ -9,16 +9,14 @@ end_date: "Apr 2027", location: "Waterloo, ON", tasks: ( - [Courses: Object-oriented programming, data structures & algorithms, operating - systems], [Extracurriculars: Hack the North Organising Team, UW Orbital Satellite Design - Team, Creative Writing Club Secretary], + Team, Creative Writing Club], ), ) ] #let skills = indent[ - *Languages:* TypeScript/JavaScript, HTML, CSS, SQL, Python, Java, Rust \ + *Languages:* TypeScript/JavaScript, HTML/CSS, SQL, Python, Java, Rust \ // Dart *Technologies:* React, Vue, Next.js, Spring Boot, Express, Prisma, Apollo, GraphQL, Axum \ @@ -40,10 +38,12 @@ location: "New York, NY", tools: "Rust, TypeScript, React, GraphQL, Figma", tasks: ( - [?? Portal claim config (db, FE, BE, how lucrative it is) padding padding - padding, automated deployments], - [?? launched a new design from figma to revamp our service], - [?? perf and databasest], + [Created tooling to build and deploy new customer landing portals based off of + Figma designs with Vercel's API], + [Developed a new external REST API for customers who wanted to access their token + data programmatically], + [Revamped error propagation to support returning multiple errors per request, + reducing support tickets by *20%*], ), ) @@ -56,14 +56,13 @@ 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], + [Owned end-to-end development of a secure document vault for users to upload ID + documents with S3 and Textract], + [Championed and shipped features for *SOC 2 security compliance*, including + *role-based permissions with JWTs* in Spring Boot, alert logging with + CloudWatch, and stronger privacy controls for user data], + [Reduced dashboard load time by 38% by implementing a stale-while-revalidate + caching strategy], ), ) @@ -76,13 +75,13 @@ 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], + [Architected a data query builder and executor engine for customers to visualise + their data warehouses by custom-tailoring forms on-the-fly, supporting complex + nested logic for 3000+ enterprise users across 8 database types], // + [Shipped an LSP server for our custom query DSL, including customer-specific + autocomplete and syntax highlighting], + [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*], @@ -100,11 +99,10 @@ 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], - [deploying otel and traces], + [Streamlined event check-in times for *1900+* guests by generating scannable + mobile wallet passes over Express], + [Introduced tracing with OpenTelemetry and Grafana to profile performance issues + in production], // [Upgraded the event statistics dashboard to update in real time with GraphQL // *subscriptions with Redis PubSub*], ), @@ -115,33 +113,36 @@ #set strong(delta: SMALL_STRONG) #indent[ - - // #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", + "Mandown", + "Python, Qt", + repo_link: "https://github.com/potatoeggy/mandown", 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], + [Created a CLI and GUI to scrape, download, and convert webcomics into + e-ink-optimised comic files], + [Redesigned the ebook converter with a *plugin-based architecture* to increase + accessibility for new contributors], + [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( + // "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", @@ -155,18 +156,18 @@ ), ) - // #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( + "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",