Skip to content

Commit 8f3fe68

Browse files
authored
linked-cv:0.0.1 (#3395)
1 parent ef61d36 commit 8f3fe68

File tree

16 files changed

+1261
-0
lines changed

16 files changed

+1261
-0
lines changed
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2025 ellsphillips
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
# linked-cv
2+
3+
A beautiful CV template that emulates the LinkedIn UI.
4+
5+
## Installation
6+
7+
Simply import the `linked-cv` package and install it using the Typst package manager.
8+
9+
```typ
10+
#import "@preview/linked-cv:0.0.1": *
11+
```
12+
13+
## Usage
14+
15+
Generate started CV by using the `linked-cv` template.
16+
17+
```typ
18+
#show: linked-cv.with(
19+
firstname: "Your",
20+
lastname: "Name",
21+
22+
mobile: "01234 567890",
23+
github: "your-github-username",
24+
linkedin: "your-linkedin-username",
25+
)
26+
```
27+
28+
For a fuller example, see the [example/cv.typ](example/cv.typ) file.
Lines changed: 161 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,161 @@
1+
#import "@preview/linked-cv:0.0.1": *
2+
3+
#show: linked-cv.with(
4+
firstname: "Your",
5+
lastname: "Name",
6+
socials: (
7+
8+
mobile: "01234 567890",
9+
github: "your-github-username",
10+
linkedin: "your-linkedin-username",
11+
),
12+
)
13+
14+
#set text(size: 8pt, hyphenate: false)
15+
#set par(justify: true, leading: 0.52em)
16+
17+
#typography.summary[
18+
#lorem(30)
19+
]
20+
21+
#components.section("Experience")
22+
23+
#components.employer-info(
24+
logo: "example/img/openai.svg",
25+
name: "OpenAI",
26+
duration: ("02-2024", "current"),
27+
)
28+
29+
#frame.connected-frames(
30+
"github",
31+
(
32+
title: [International Startups Lead],
33+
duration: ("05-2025", "current"),
34+
body: [
35+
#components.workstream(
36+
title: "Sora",
37+
tech-stack: ("python", "fastapi", "typescript", "tailwind", "svelte", "mapbox", "postgresql", "drizzle", "gcp", "terraform", "docker")
38+
)
39+
- Deployed global scale infrastructure and services to teams across the world build the apps of the future.
40+
- Presented technical proposals to executive leadership, securing \$5M budget approval for infrastructure modernization initiative spanning two fiscal years.
41+
]
42+
),
43+
(
44+
title: [Software Engineering Lead],
45+
duration: ("01-2025", "05-2025"),
46+
body: [
47+
#components.workstream(
48+
title: "GPT-4",
49+
tech-stack: ("python", "fastapi", "typescript", "postgresql", "gcp", "terraform", "docker")
50+
)
51+
52+
- Developed automated testing framework using Python and Selenium, reducing manual testing time by 60% and improving code coverage across three major product releases while mentoring two junior engineers on best practices.
53+
- Led cross-functional team of 8 engineers to deliver cloud migration project two weeks ahead of schedule, resulting in 40% reduction in infrastructure costs.
54+
- Implemented machine learning algorithm for predictive maintenance that decreased equipment downtime by 35% and saved approximately \$200,000 annually in operational expenses.
55+
]
56+
),
57+
(
58+
title: [Senior Software Engineer],
59+
duration: ("02-2024", "01-2025"),
60+
body: [
61+
#components.workstream(
62+
title: "GPT-4",
63+
tech-stack: ("typescript", "react", "gcp", "docker")
64+
)
65+
66+
- Designed and deployed microservices architecture using Docker and Kubernetes, improving system scalability and reducing deployment time from hours to minutes.
67+
- Collaborated with product managers to define technical requirements for new mobile application, successfully launching to 50,000 users within first month.
68+
- Optimized database queries and indexing strategies, resulting in 70% improvement in application response time and enhanced user experience across platform.
69+
- Spearheaded adoption of CI/CD pipeline using Jenkins and GitLab, automating build and deployment processes for 15 repositories.
70+
]
71+
),
72+
)
73+
74+
75+
76+
#components.employer-info(
77+
logo: "example/img/palantir.svg",
78+
name: "Palantir",
79+
duration: ("09-2023", "02-2024"),
80+
)
81+
82+
#frame.connected-frames(
83+
"palantir",
84+
(
85+
title: [Forward Deployed Engineer],
86+
duration: ("09-2023", "02-2024"),
87+
body: [
88+
#components.workstream(
89+
title: "Palantir",
90+
tech-stack: ("rust", "typescript", "react", "sass", "gcp")
91+
)
92+
- Built data visualization dashboards using Tableau and PowerBI, enabling stakeholders to make data-driven decisions and track key performance indicators.
93+
- Researched emerging technologies and presented findings to leadership team, influencing technology stack decisions for next-generation product development roadmap.
94+
]
95+
)
96+
)
97+
98+
99+
100+
#components.employer-info(
101+
logo: "example/img/github.svg",
102+
name: "GitHub",
103+
duration: ("08-2022", "09-2023"),
104+
)
105+
106+
#frame.connected-frames(
107+
"github",
108+
(
109+
title: [Full Stack Software Engineer],
110+
duration: ("03-2023", "09-2023"),
111+
body: [
112+
#components.workstream(
113+
title: "GitHub Copilot",
114+
tech-stack: ("python", "fastapi", "typescript", "postgresql", "gcp", "terraform", "docker")
115+
)
116+
117+
- Developed automated testing framework using Python and Selenium, reducing manual testing time by 60% and improving code coverage across three major product releases while mentoring two junior engineers on best practices.
118+
- Led cross-functional team of 8 engineers to deliver cloud migration project two weeks ahead of schedule, resulting in 40% reduction in infrastructure costs.
119+
- Implemented machine learning algorithm for predictive maintenance that decreased equipment downtime by 35% and saved approximately \$200,000 annually in operational expenses.
120+
- Implemented security best practices including encryption, authentication protocols, and vulnerability scanning, achieving SOC 2 compliance for organization.
121+
- Automated deployment processes using Terraform and Ansible, reducing configuration errors by 80% and improving infrastructure consistency.
122+
]
123+
),
124+
(
125+
title: [Engineering Intern],
126+
duration: ("08-2022", "03-2023"),
127+
body: [
128+
#components.workstream(
129+
title: "GitHub Codespaces",
130+
tech-stack: ("typescript", "react", "gcp", "docker")
131+
)
132+
133+
- Designed and deployed microservices architecture using Docker and Kubernetes, improving system scalability and reducing deployment time from hours to minutes.
134+
- Collaborated with product managers to define technical requirements for new mobile application, successfully launching to 50,000 users within first month.
135+
- Optimized database queries and indexing strategies, resulting in 70% improvement in application response time and enhanced user experience across platform.
136+
- Spearheaded adoption of CI/CD pipeline using Jenkins and GitLab, automating build and deployment processes for 15 repositories.
137+
]
138+
),
139+
)
140+
141+
#components.section("Qualifications")
142+
143+
#align(center)[
144+
#table(
145+
columns: (30%, 15%, 15%, 40%),
146+
align: (left, left, left, right),
147+
stroke: none,
148+
149+
..(("Qualification", "Grade", "Date", "Institution").map(typography.table-header)),
150+
151+
table.hline(stroke: 0.5pt + colors.gray.lighten(60%)),
152+
153+
..(for item in (
154+
("Mathematics", "1st", "", "University of Exeter"),
155+
("Machine Learning", "", "09-2023", "Microsoft Azure"),
156+
("Artificial Intelligence", "1st", "02-2025", "OpenAI"),
157+
) {
158+
components.qualification(..item)
159+
})
160+
)
161+
]
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
#import "src/colors.typ": colors
2+
#import "src/typography.typ"
3+
#import "src/utils.typ": *
4+
#import "src/components.typ"
5+
#import "src/layout.typ": layout
6+
#import "src/frame.typ"
7+
8+
#let linked-cv(
9+
firstname: "First",
10+
lastname: "Last",
11+
socials: (
12+
email: none,
13+
mobile: none,
14+
github: none,
15+
linkedin: none,
16+
),
17+
position: none,
18+
19+
body,
20+
) = {
21+
show: doc => layout(firstname, lastname, doc)
22+
23+
components.header(
24+
firstname,
25+
lastname,
26+
socials: socials,
27+
position: position,
28+
)
29+
30+
body
31+
}
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
#let colors = (
2+
white: rgb("#FFFFFF"),
3+
black: rgb("#000000"),
4+
darkgray: rgb("#333333"),
5+
gray: rgb("#5D5D5D"),
6+
lightgray: rgb("#999999"),
7+
8+
darktext: rgb("#111111"),
9+
text: rgb("#555555"),
10+
graytext: rgb("#999999"),
11+
lighttext: rgb("#BBBBBB"),
12+
13+
lightbackground: rgb("#EEEEEE"),
14+
darkbackground: rgb("#CCCCCC"),
15+
16+
awesome: rgb("#6694A5"),
17+
awesome-subsection: rgb("#6694A5").darken(30%),
18+
19+
monokai-pink: rgb("#ff6188"),
20+
monokai-orange: rgb("#fc9867"),
21+
monokai-yellow: rgb("#ffd866"),
22+
monokai-green: rgb("#a9dc76"),
23+
monokai-blue: rgb("#78dce8"),
24+
monokai-purple: rgb("#ab9df2"),
25+
)
26+
27+
#let get-color(name) = colors.at(name)

0 commit comments

Comments
 (0)