diff --git a/backend_infra.typ b/backend_infra.typ index baf077c..740ac58 100644 --- a/backend_infra.typ +++ b/backend_infra.typ @@ -119,17 +119,6 @@ #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", @@ -145,17 +134,17 @@ ), ) - // #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( + "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", @@ -195,9 +184,13 @@ // - 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 + #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 ] \ No newline at end of file diff --git a/lib/template_common.typ b/lib/template_common.typ index df2bd46..ad0a3d2 100644 --- a/lib/template_common.typ +++ b/lib/template_common.typ @@ -1,7 +1,7 @@ #import "fontawesome.typ": fa, globe, github, linkedin, envelope #import "lib.typ": template, work_entry, project, indent, SMALL_STRONG, DEFAULT_STRONG, render_contact_data -#let SEQUENCE = ("education", "skills", "content") +#let SEQUENCE = ("skills", "content", "education") // orange!! #let color = blue // rgb("#ff983e") diff --git a/web_fullstack.typ b/web_fullstack.typ index 2c47466..6b1d720 100644 --- a/web_fullstack.typ +++ b/web_fullstack.typ @@ -1,3 +1,4 @@ + #import "lib/template_common.typ": template_common, work_entry, project, indent, SMALL_STRONG #let education = indent[ @@ -8,8 +9,8 @@ end_date: "Apr 2027", location: "Waterloo, ON", tasks: ( - [Courses: Object-oriented programming, data structures & algorithms, digital - logic & circuits, operating systems], + [Courses: Object-oriented programming, data structures & algorithms, operating + systems], [Extracurriculars: Hack the North Organising Team, UW Orbital Satellite Design Team, Creative Writing Club Secretary], ), @@ -17,12 +18,12 @@ ] #let skills = indent[ - *Languages:* TypeScript/JavaScript, HTML, CSS, SQL, Python, Java, C, C++, Rust \ + *Languages:* TypeScript/JavaScript, HTML, CSS, SQL, Python, Java, Rust \ // 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 + *Technologies:* React, Vue, Next.js, Spring Boot, Express, Prisma, Apollo, + GraphQL, Axum \ + *Tools:* Linux, Git, Docker, Postgres, Jest, AWS/GCP, Kubernetes, Figma, + Terraform // Jenkins, systemd, Jira ] #show: doc => template_common(education, skills, doc) @@ -37,12 +38,11 @@ start_date: "Sep 2024", end_date: "Dec 2024", location: "New York, NY", - tools: "Rust, TypeScript, Solidity, React, GraphQL", + tools: "Rust, TypeScript, React, GraphQL, Figma", 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], + [?? launched a new design from figma to revamp our service], [?? perf and databasest], ), ) @@ -56,17 +56,14 @@ 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%*], + [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], ), ) @@ -107,7 +104,7 @@ [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], + [deploying otel and traces], // [Upgraded the event statistics dashboard to update in real time with GraphQL // *subscriptions with Redis PubSub*], ), @@ -118,57 +115,46 @@ #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( - "Game Boy Advance Emulator", - "Rust, SDL2, Vulkan", - repo_link: "https://github.com/potatoeggy/gbarr", + "Kobo Sync Server", + "Rust, Axum", + repo_link: "https://github.com/potatoeggy/kobink", 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], + [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( - "Mandown Comic Downloader", - "Python, Qt", - repo_link: "https://github.com/potatoeggy/mandown", + "Genshin Rewards Simulator", + "Vue, TypeScript", + repo_link: "https://github.com/potatoeggy/primoprod", + demo_link: "https://primoprod.vercel.app", 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%*], + [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( - // "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", @@ -194,7 +180,11 @@ // - 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") + // #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