diff --git a/backend_infra.typ b/backend_infra.typ index 8639d03..16472be 100644 --- a/backend_infra.typ +++ b/backend_infra.typ @@ -39,6 +39,7 @@ start_date: "May 2026", end_date: "Aug 2026", location: "New York, NY", + logo: "jane_street.jpg", tasks: ([???], [???], [???]), ) @@ -49,9 +50,10 @@ start_date: "Feb 2026", end_date: "Apr 2026", location: "New York, NY", + logo: "rippling.jpg", tasks: ([???], [???], [???]), ) - + #work_entry( "Squint", "Software Engineering Intern", @@ -60,6 +62,7 @@ end_date: "Aug 2025", location: "San Francisco, CA", tools: "Python, TypeScript, React, Postgres, AWS", + logo: "squint.jpg", tasks: ( [Architected *real-time pub/sub notifications framework & pipeline*, enabling *SLA-compliant alerts* for enterprise clients by routing system events to create @@ -83,6 +86,7 @@ end_date: "Jan 2025", location: "Waterloo, ON", tools: "TypeScript, Express, Postgres, Kubernetes", + logo: "hackthenorth.png", tasks: ( [*Led 6-person engineering team* to ship shift scheduling and hardware inventory tools to *1500+ event attendees*], @@ -142,6 +146,7 @@ end_date: "Aug 2023", location: "Remote", tools: "TypeScript, Python, React, Postgres, AWS", + logo: "dropbase.jpg", tasks: ( [*Shipped static analysis tool* for platform's *custom SQL dialect* by recursively processing an abstract syntax tree], diff --git a/lib/lib.typ b/lib/lib.typ index f7224c1..7922fc7 100644 --- a/lib/lib.typ +++ b/lib/lib.typ @@ -24,6 +24,9 @@ #let JOB_TITLE_FONT_SIZE = 1.05em +#let LOGO_IMAGE_HEIGHT = 2.25em +#let LOGO_IMAGE_GAP = 0.75em + // rest = not top #let PAGE_MARGINS = (right: 0.425in, top: 0.3in, left: 0.375in, bottom: 0.4in) @@ -70,24 +73,49 @@ end_date: none, location: none, company_link: none, + logo: none, ) = { cv_entry(left_content: { + let logo_img = if logo != none { + // image("../logos/" + logo, height: LOGO_IMAGE_HEIGHT) + none + } else { + none + } + let company_text = if company_link == none { [#company] } else { [#link(company_link)[#company]] } - text(JOB_TITLE_FONT_SIZE)[*#company_text*] + // company title + role + let left_text = stack( + align(horizon, { + text(JOB_TITLE_FONT_SIZE)[*#company_text*] + "\n" + set strong(delta: SMALL_STRONG) + [_#role _] + }) + ) + + // render with logo if exists + if logo_img != none { + stack( + dir: ltr, + spacing: LOGO_IMAGE_GAP, + logo_img, + left_text, + ) + } else { + left_text + } + + if tools != none { // text[ | _ #tools _ ] } - - "\n" - set strong(delta: SMALL_STRONG) - - [_#role _] }, right_content: { text(style: "italic")[#start_date -- #end_date] diff --git a/logos/dropbase.jpg b/logos/dropbase.jpg new file mode 100644 index 0000000..4964cc0 Binary files /dev/null and b/logos/dropbase.jpg differ diff --git a/logos/hackthenorth.png b/logos/hackthenorth.png new file mode 100644 index 0000000..b3aaea5 Binary files /dev/null and b/logos/hackthenorth.png differ diff --git a/logos/jane_street.jpg b/logos/jane_street.jpg new file mode 100644 index 0000000..d2a9a2d Binary files /dev/null and b/logos/jane_street.jpg differ diff --git a/logos/magna.jpg b/logos/magna.jpg new file mode 100644 index 0000000..4523294 Binary files /dev/null and b/logos/magna.jpg differ diff --git a/logos/otw.jpg b/logos/otw.jpg new file mode 100644 index 0000000..8e80441 Binary files /dev/null and b/logos/otw.jpg differ diff --git a/logos/rippling.jpg b/logos/rippling.jpg new file mode 100644 index 0000000..57560d9 Binary files /dev/null and b/logos/rippling.jpg differ diff --git a/logos/squint.jpg b/logos/squint.jpg new file mode 100644 index 0000000..caa301d Binary files /dev/null and b/logos/squint.jpg differ