Created
March 26, 2026 14:18
-
-
Save jenningsb2/351d9a3477c47fd70a8ec718bd08ba31 to your computer and use it in GitHub Desktop.
Typst Resume
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #import "@preview/scienceicons:0.1.0": orcid-icon | |
| #let resume( | |
| author: "", | |
| author-position: left, | |
| personal-info-position: left, | |
| pronouns: "", | |
| location: "", | |
| email: "", | |
| github: "", | |
| linkedin: "", | |
| phone: "", | |
| personal-site: "", | |
| orcid: "", | |
| accent-color: "#000000", | |
| font: "Garamond", | |
| paper: "us-letter", | |
| author-font-size: 20pt, | |
| font-size: 11pt, | |
| lang: "en", | |
| body, | |
| ) = { | |
| // Sets document metadata | |
| set document(author: author, title: author) | |
| // Document-wide formatting, including font and margins | |
| set text( | |
| // LaTeX style font | |
| font: font, | |
| size: font-size, | |
| lang: lang, | |
| // Disable ligatures so ATS systems do not get confused when parsing fonts. | |
| ligatures: false | |
| ) | |
| // Reccomended to have 0.5in margin on all sides | |
| set page( | |
| margin: (0.5in), | |
| paper: paper, | |
| ) | |
| // Link styles | |
| show link: underline | |
| // Small caps for section titles | |
| show heading.where(level: 2): it => [ | |
| #pad(top: 0pt, bottom: -10pt, [#smallcaps(it.body)]) | |
| #line(length: 100%, stroke: 1pt) | |
| ] | |
| // Accent Color Styling | |
| show heading: set text( | |
| fill: rgb(accent-color), | |
| ) | |
| show link: set text( | |
| fill: rgb(accent-color), | |
| ) | |
| // Name will be aligned left, bold and big | |
| show heading.where(level: 1): it => [ | |
| #set align(author-position) | |
| #set text( | |
| weight: 700, | |
| size: author-font-size, | |
| ) | |
| #pad(it.body) | |
| ] | |
| // Level 1 Heading | |
| [= #(author)] | |
| // Personal Info Helper | |
| let contact-item(value, prefix: "", link-type: "") = { | |
| if value != "" { | |
| if link-type != "" { | |
| link(link-type + value)[#(prefix + value)] | |
| } else { | |
| value | |
| } | |
| } | |
| } | |
| // Personal Info | |
| pad( | |
| top: 0.25em, | |
| align(personal-info-position)[ | |
| #{ | |
| let items = ( | |
| contact-item(pronouns), | |
| contact-item(phone), | |
| contact-item(location), | |
| contact-item(email, link-type: "mailto:"), | |
| contact-item(github, link-type: "https://"), | |
| contact-item(linkedin, link-type: "https://"), | |
| contact-item(personal-site, link-type: "https://"), | |
| contact-item(orcid, prefix: [#orcid-icon(color: rgb("#AECD54"))orcid.org/], link-type: "https://orcid.org/"), | |
| ) | |
| items.filter(x => x != none).join(" | ") | |
| } | |
| ], | |
| ) | |
| // Main body. | |
| set par(justify: true) | |
| body | |
| } | |
| // Generic two by two component for resume | |
| #let generic-two-by-two( | |
| top-left: "", | |
| top-right: "", | |
| bottom-left: "", | |
| bottom-right: "", | |
| ) = { | |
| [ | |
| #top-left #h(1fr) #top-right \ | |
| #bottom-left #h(1fr) #bottom-right | |
| ] | |
| } | |
| // Generic one by two component for resume | |
| #let generic-one-by-two( | |
| left: "", | |
| right: "", | |
| ) = { | |
| [ | |
| #left #h(1fr) #right | |
| ] | |
| } | |
| // Cannot just use normal --- ligature becuase ligatures are disabled for good reasons | |
| #let dates-helper( | |
| start-date: "", | |
| end-date: "", | |
| ) = { | |
| start-date + " " + $dash.em$ + " " + end-date | |
| } | |
| // Section components below | |
| #let edu( | |
| institution: "", | |
| dates: "", | |
| degree: "", | |
| gpa: "", | |
| location: "", | |
| // Makes dates on upper right like rest of components | |
| consistent: false, | |
| ) = { | |
| if consistent { | |
| // edu-constant style (dates top-right, location bottom-right) | |
| generic-two-by-two( | |
| top-left: strong(institution), | |
| top-right: strong(dates), | |
| bottom-left: emph(degree), | |
| bottom-right: emph(location), | |
| ) | |
| } else { | |
| // original edu style (location top-right, dates bottom-right) | |
| generic-two-by-two( | |
| top-left: strong(institution), | |
| top-right: location, | |
| bottom-left: emph(degree), | |
| bottom-right: emph(dates), | |
| ) | |
| } | |
| } | |
| #let work( | |
| title: "", | |
| dates: "", | |
| company: "", | |
| location: "", | |
| roles: (), | |
| ) = { | |
| // Single role format: company at top, title below | |
| generic-two-by-two( | |
| top-left: strong(company), | |
| top-right: strong(dates), | |
| bottom-left: emph(title), | |
| bottom-right: emph(location), | |
| ) | |
| } | |
| #let project( | |
| role: "", | |
| name: "", | |
| url: "", | |
| dates: "", | |
| ) = { | |
| generic-one-by-two( | |
| left: { | |
| if role == "" { | |
| [*#name* #if url != "" and dates != "" [ (#link("https://" + url)[#url])]] | |
| } else { | |
| [*#role*, #name #if url != "" and dates != "" [ (#link("https://" + url)[#url])]] | |
| } | |
| }, | |
| right: { | |
| if dates == "" and url != "" { | |
| link("https://" + url)[#url] | |
| } else { | |
| dates | |
| } | |
| }, | |
| ) | |
| } | |
| #let certificates( | |
| name: "", | |
| issuer: "", | |
| url: "", | |
| date: "", | |
| ) = { | |
| [ | |
| *#name*, #issuer | |
| #if url != "" { | |
| [ (#link("https://" + url)[#url])] | |
| } | |
| #h(1fr) #date | |
| ] | |
| } | |
| #let extracurriculars( | |
| activity: "", | |
| dates: "", | |
| ) = { | |
| generic-one-by-two( | |
| left: strong(activity), | |
| right: dates, | |
| ) | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #import "@local/basic-resume-optimized:0.1.0": * | |
| // Put your personal information here, replacing mine | |
| #let name = "Bailey Jennings" | |
| #let location = "Richmond, VA" | |
| #let email = "jenningsebailey@gmail.com" | |
| #let linkedin = "linkedin.com/in/baileyjennings" | |
| #let phone = "+1 (804) 386-7180" | |
| #let personal-site = "baileyjennings.com" | |
| #show: resume.with( | |
| author: name, | |
| // All the lines below are optional. | |
| // For example, if you want to to hide your phone number: | |
| // feel free to comment those lines out and they will not show. | |
| location: location, | |
| email: email, | |
| linkedin: linkedin, | |
| phone: phone, | |
| personal-site: personal-site, | |
| accent-color: "#000", | |
| font: "Garamond", | |
| paper: "us-letter", | |
| author-position: left, | |
| personal-info-position: left, | |
| ) | |
| /* | |
| * Lines that start with == are formatted into section headings | |
| * You can use the specific formatting functions if needed | |
| * The following formatting functions are listed below | |
| * #edu(dates: "", degree: "", gpa: "", institution: "", location: "", consistent: false) | |
| * #work(company: "", dates: "", location: "", title: "") | |
| * #project(dates: "", name: "", role: "", url: "") | |
| * certificates(name: "", issuer: "", url: "", date: "") | |
| * #extracurriculars(activity: "", dates: "") | |
| * There are also the following generic functions that don't apply any formatting | |
| * #generic-two-by-two(top-left: "", top-right: "", bottom-left: "", bottom-right: "") | |
| * #generic-one-by-two(left: "", right: "") | |
| */ | |
| == Work Experience | |
| #work( | |
| title: "Lead Product Manager, Worker Experience & Applied AI", | |
| location: "Remote", | |
| company: "JobGet", | |
| dates: dates-helper(start-date: "Nov. 2024", end-date: "Present"), | |
| ) | |
| - Lead the snagajob.com team building production-grade AI features and foundational infrastructure using LLMs with prompting, evals, and RAG. | |
| - *Example Features*: Suggested application answers, Voice-to-work history, Resume PDF extraction. | |
| - *Key Results*: +14.7% improvement in resume upload rate; +3% in screening question completion rate. | |
| - *Stack*: Braintrust; Vercel’s AI SDK; OpenAI; Anthropic; Gemini; MongoDB | |
| - Launched a new registration page within our native application flow. | |
| - *Key Results*: +20% improvement in application completion rate for unauthenticated users. | |
| - Designed and shipped a search results deduplication system ("brand stacking") that groups jobs by employer and role. | |
| - *Key Results*: +16.5% apply clicks/user (100% daily win rate), +31% job saves, +8.1% revenue/user (~\$850K annualized incremental revenue). | |
| - Designed and launched SMS and Email OTP authentication option. | |
| - *Key Results*: +28% login success rate for existing users. | |
| #work( | |
| company: "Snagajob (Acq. JobGet 2024)", | |
| location: "Richmond, VA", | |
| dates: dates-helper(start-date: "May 2016", end-date: "Nov. 2024"), | |
| ) | |
| #v(-1.0em) | |
| _Senior Product Manager_ | _Apr. 2022 – Nov. 2024_ | |
| - Designed and launched a new product-led-sales buying model and platform for small to medium-sized businesses. | |
| - Designed and implemented an automated bidding algorithm resulting in notable pricing stability and a measurable increase in account growth, demonstrating a direct impact on revenue. | |
| _Product Manager_ | _Apr. 2021 – Apr. 2022_ | |
| - Led a team to develop Snagajob's first customer-facing job advertising tool and grew self-service adoption from an initial beta group to more than half of our clients. | |
| - Spearheaded a transition of Snagajob's primary revenue stream from subscription to a usage-based pricing model, which enabled the company to experience significant growth during the post-COVID labor market boom. | |
| _Product Operations Analyst_ | _Dec. 2018 – Jan. 2020_ | |
| - Partnered with sales teams to deliver data-driven insights for client QBRs and new business opportunities, enabling strategic account management decisions. | |
| _Ad Trafficker_ | _May 2016 – Dec. 2018_ | |
| == Education | |
| #edu( | |
| institution: "Virginia Commonwealth University", | |
| location: "Richmond, VA", | |
| dates: "Dec. 2016", | |
| degree: "Bachelor of Business Administration (BBA)", | |
| // Uncomment the line below if you want edu formatting to be consistent with everything else | |
| consistent: true | |
| ) | |
| - *GPA*: 3.9\/4.0 | Summa Cum Laude | |
| == Skills, Technologies & Interests | |
| - *Skills*: Product Management; Prompt Engineering; AI Evaluations; SQL; Strategic Planning; Public Speaking; Data Analysis; Leadership; UX Design; A/B Testing; Python | |
| - *Technologies*: Excel; PostHog; Figma; JIRA; Linear | |
| - *Interests*: Weightlifting; Tennis; Disc Golf; Traveling; Reading; Architecture; Walking My Dog Toro; Cooking |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment