From 4c754d3c91f9277ef29c6c0fb8da5e131d3edacd Mon Sep 17 00:00:00 2001 From: eggy Date: Tue, 5 Aug 2025 01:55:48 -0700 Subject: [PATCH] feat: wt5 initial draft --- backend_infra.typ | 132 +++++++++++++++++++++++++++------------------- lib/lib.typ | 18 ++++--- 2 files changed, 89 insertions(+), 61 deletions(-) diff --git a/backend_infra.typ b/backend_infra.typ index d414e89..016454c 100644 --- a/backend_infra.typ +++ b/backend_infra.typ @@ -33,30 +33,58 @@ #indent[ #work_entry( - "Backend Lead", + "Rippling", + "Software Engineering Intern (Incoming Winter 2026)", + company_link: "https://rippling.com", + start_date: "Feb 2026", + end_date: "Apr 2026", + location: "New York, NY", + ) + #work_entry( + "Squint", + "Software Engineering Intern", + company_link: "https://squint.ai", + start_date: "May 2025", + end_date: "Aug 2025", + location: "San Francisco, CA", + tools: "Python, TypeScript, React, Postgres, AWS", + tasks: ( + [Architected *real-time pub/sub notifications framework & pipeline*, enabling + *SLA-compliant alerts* for enterprise clients by routing system events to create + *300+ daily* downstream notifications], + [Integrated notifications system with *roles and subscriptions* to deliver + targeted email, in-app, or SMS messages], + [Built dependency-aware deployment system that performs static analysis on import + graphs and code diffs to identify impacted services, *enabling automated partial + rollouts* and *cutting deployment latency by 90%*], + [Engineered *multi-language data models transformer* by parsing and editing + *TypeScript & Python ASTs*, enabling *unified type safety* across the entire + stack: web, mobile, and backend], + ), + ) + #work_entry( "Hack the North", + "Backend & Infrastructure Lead", company_link: "https://hackthenorth.com", start_date: "Mar 2023", end_date: "Jan 2025", location: "Waterloo, ON", tools: "TypeScript, Express, Postgres, Kubernetes", tasks: ( - [Led 6-person engineering team, shipping shift scheduling system and hardware - inventory system to *6000+ users*], - [Streamlined event check-in times for *1900+* guests by automatically generating - Apple Wallet passes], - [Overhauled CI/CD pipelines, speeding up builds by *35%* by parallelising testing - and type checking with *Buildkite*], - [Resolved slowdowns by *introducing OpenTelemetry tracing* onto *Grafana* - dashboards managed in *Kubernetes*], - [ Slashed dev server reload time by *93%* by introducing threading and - pre-transpiling generated code ], + [*Led 6-person engineering team* to ship shift scheduling and hardware inventory + tools to *1500+ event attendees*], + [*Launched bus registration platform* to *1000+ hackers*, featuring live capacity + tracking and email confirmations], + [Overhauled CI/CD pipelines, *speeding up builds by 35%* by parallelising testing + and type checking with Buildkite], + [Profiled performance bottlenecks by adding *OpenTelemetry tracing* to Grafana + dashboards on *Kubernetes*], ), ) #work_entry( - "Software Engineering Intern", "Magna (YC W22)", + "Software Engineering Intern", company_link: "https://magna.so", start_date: "Sep 2024", end_date: "Dec 2024", @@ -64,12 +92,10 @@ tools: "Rust, TypeScript, Solidity, React, GraphQL", tasks: ( [Enabled *one-click creation and deployment* of - #link("https://claim.paramgaming.com/")[landing] #link("https://claim.moonray.game/")[pages] - that each distribute *1 million+* token allocations], + #link("https://claim.paramgaming.com/")[claim] #link("https://claim.moonray.game/")[portals], + scaling to distribute *1M+* digital asset allocations], [Investigated and *improved initial load times by >60%* for client sites by caching blockchain reads in *Redis*], - [Created and refactored data models, controllers, and *GraphQL APIs* to store and - deploy site configurations], [Migrated internal systems & libraries to an event-based architecture, reducing query boilerplate by *50%*], ), @@ -96,20 +122,20 @@ // ) #work_entry( - "Software Engineering Intern", "Dropbase (YC W20)", + "Software Engineering Intern", company_link: "https://dropbase.io", start_date: "May 2023", end_date: "Aug 2023", location: "Remote", tools: "TypeScript, Python, React, Postgres, AWS", tasks: ( - [Shipped *static analysis tool* for platform's *custom SQL dialect* by + [*Shipped static analysis tool* for platform's *custom SQL dialect* by recursively processing an abstract syntax tree], [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%*], + [*Designed merge conflict resolution system* to handle data mismatches, reducing + user-reported errors by *20%*], [Built a unified API to seamlessly query and filter *8 data sources* such as MySQL, Airtable, and Stripe], // [Developed a serverless microservice to asynchronously ingest email attachments @@ -120,25 +146,25 @@ ), ) - #work_entry( - "Software Developer Intern", - "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 Developer Intern", + // "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 + // ), + // ) ] = Projects @@ -149,8 +175,8 @@ "Python, Qt", repo_link: "https://github.com/potatoeggy/mandown", tasks: ( - [Created a CLI and GUI to convert webcomics into e-ink-optimised files with *50+ - stars* and *7 forks* over *3 years*], + [Created a CLI and GUI to download and convert webcomics into e-ink-optimised + files open-source over *3 years*], [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] @@ -187,18 +213,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 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( + // "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", diff --git a/lib/lib.typ b/lib/lib.typ index 9564cc3..5c3e3c3 100644 --- a/lib/lib.typ +++ b/lib/lib.typ @@ -60,8 +60,8 @@ // Entry for work. #let work_entry( - role, company, + role, tools: none, tasks: none, start_date: none, @@ -70,7 +70,13 @@ company_link: none, ) = { cv_entry(left_content: { - text(JOB_TITLE_FONT_SIZE)[*#role*] + let company_text = if company_link == none { + [#company] + } else { + [#link(company_link)[#company]] + } + + text(JOB_TITLE_FONT_SIZE)[*#company_text*] if tools != none { // text[ | _ #tools _ ] @@ -79,11 +85,7 @@ "\n" set strong(delta: SMALL_STRONG) - if company_link == none { - [_#company _] - } else { - [#link(company_link)[_#company _]] - } + [_#role _] }, right_content: { text(style: "italic")[#start_date -- #end_date] @@ -126,7 +128,7 @@ spacing: DETAILS_LIST_SPACING, marker: [*•*], ) - set text(font: (BODY_FONT), BODY_FONT_SIZE) + set text(font: (BODY_FONT), hyphenate: true, BODY_FONT_SIZE) set par(justify: true, leading: BODY_LINE_HEIGHT) set underline(offset: 0.2em) align(center)[