From 91102c2375dba233906b25a40d9f64de2c61335a Mon Sep 17 00:00:00 2001 From: eggy Date: Mon, 13 Jan 2025 23:59:39 -0500 Subject: [PATCH] feat: add systems --- backend_infra.typ | 4 +- systems.typ | 133 ++++++++++++++++++++++++++-------------------- 2 files changed, 78 insertions(+), 59 deletions(-) diff --git a/backend_infra.typ b/backend_infra.typ index d1000a0..86d2da3 100644 --- a/backend_infra.typ +++ b/backend_infra.typ @@ -65,7 +65,7 @@ CloudWatch, and stronger privacy controls for user data], [Reduced dashboard load time by 38% by implementing a stale-while-revalidate caching strategy], - [Created a parallel CI/CD system from scratch with Terraform and Jenkins to + [Created a parallel *CI/CD system from scratch* with Terraform and Jenkins to automatically deploy AWS Lambdas], // BE-infra only, FE ver is admin dashboard ), ) @@ -82,7 +82,7 @@ [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 + [Shipped an *LSP server for our custom query DSL*, including user-specific autocomplete and syntax highlighting], [Developed a serverless microservice to asynchronously ingest email attachments directly into ETL pipelines], diff --git a/systems.typ b/systems.typ index 6d9d431..d92ed24 100644 --- a/systems.typ +++ b/systems.typ @@ -12,7 +12,7 @@ [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], + Team], ), ) ] @@ -20,10 +20,10 @@ #let skills = indent[ *Languages:* Python, C, C++, Rust, Java, MATLAB, HTML/CSS/JavaScript \ // Dart - *Technologies:* React, Next.js, Spring Boot, Express, Prisma, Apollo, GraphQL \ + *Technologies:* Qt, PySide2, React, Spring Boot, Express, GraphQL \ // Qt, Jest / Pytest, Apollo, Prisma, Rails - *Tools:* Linux, Git, Docker, Postgres, Pytest, Jest, AWS/GCP, Kubernetes, - Terraform, Figma // Jenkins, systemd, Jira + *Tools:* Linux, Git, Docker, Quartus, Pytest, Jest, Postgres, AWS/GCP, + Kubernetes, Terraform // Jenkins, systemd, Jira ] #show: doc => template_common(education, skills, doc) @@ -40,34 +40,33 @@ 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], + [Created tooling to automate building and deploying new customer landing portals + based off of Figma designs], + [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 and audited smart contracts on Solana blockchain to add claim fees to our + token vesting platform], ), ) #work_entry( - "Software Engineering Intern", + "Software Developer", "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", + location: "Remote", + tools: "TypeScript, Spring Boot, React, 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], + [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], + [Created a parallel *CI/CD system from scratch* with Terraform and Jenkins to + automatically deploy AWS Lambdas], // BE-infra only, FE ver is admin dashboard ), ) @@ -77,16 +76,16 @@ company_link: "https://dropbase.io", start_date: "May 2023", end_date: "Aug 2023", - location: "San Francisco, CA (Remote)", - tools: "TypeScript, Python, React, Postgres, AWS", + location: "Remote", + tools: "Python, TypeScript, React, 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], + [Shipped an *LSP server for our custom query DSL*, including user-specific + autocomplete and syntax highlighting], + [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], // + [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*], @@ -102,15 +101,12 @@ 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*], + [Overhauled CI/CD pipelines, speeding up builds by 35% by parallelising testing + and type checking], + [Introduced backend tracing with OpenTelemetry and Grafana to profile performance + issues in production], + [Resolved load spike crashes in prod by caching queries via *Redis* and + horizontally scaling services on *Kubernetes*], ), ) ] @@ -119,29 +115,52 @@ #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( - "Game Boy Advance Emulator", - "Rust, SDL2, Vulkan", - repo_link: "https://github.com/potatoeggy/gbarr", + "Mandown", + "Python, Qt", + repo_link: "https://github.com/potatoeggy/mandown", 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], + [Created a CLI and GUI to scrape and 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( - "Mandown Comic Downloader", - "Python, Qt", - repo_link: "https://github.com/potatoeggy/mandown", + "PNG Crawler", + "C++", 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%*], + [Developed a web crawler to download and parse PNG files from the internet with + *libcurl* and *libpng*], + [Optimised the crawler to download and process images concurrently with *POSIX + threads*], + ), + ) + + #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], ), )