Files
cv/Main.typ
2026-03-23 10:19:51 +01:00

246 lines
7.3 KiB
Typst

#import "@preview/cetz:0.4.0": canvas, draw
#import "@preview/cades:0.3.1": qr-code
#import "@preview/zebra:0.1.0": datamatrix, qrcode
#import "@preview/grayness:0.5.0": image-grayscale
#let FeatureColor = rgb("292929")
#let BackgroundColor = rgb("#fcfcfc")
#let font = { "Helvetica" }
#let titlefont = { "Libre Caslon Text" }
#set text(font: font)
#let section2(body) = {
v(15pt)
grid(
columns: (1fr, auto, 1fr),
column-gutter: 5pt,
[#v(5pt) #line(length: 100%)], [#text(size: 16pt, body)],[#v(5pt) #line(length: 100%)]
)
}
#let blob(inverse: false, body) = {
set text(size: 10pt)
if inverse {
box(stroke: (FeatureColor +1pt), radius: 8pt, outset: (top:4pt, bottom: 4pt))[#h(4pt) #text(body) #h(4pt)]
} else {
box(fill: FeatureColor, radius: 8pt, outset: (top:4pt, bottom: 4pt))[#h(4pt) #text(fill: white,body) #h(4pt)]
}
}
#let section3(body) = {
v(0.8cm)
text(size:16pt, weight: "extralight", font: titlefont)[#body]
}
#show heading: set text(
size: 18pt,
weight: "extralight",
)
#let progress(Number)= {
rect(width: 100%, height: 8pt, stroke: FeatureColor, fill: FeatureColor, inset: 0pt)[
#align(end)[#rect(width: (1%*(100-Number)), height: 8pt, fill: BackgroundColor)]
]
}
// REAL
#set page(
paper: "a4",
margin: (
top: 0cm,
bottom: 0cm,
x: 0cm,
),
fill: BackgroundColor
)
#grid(
columns: (1fr, 8cm),
column-gutter: 10pt,
inset: (left:0.5cm),
[
#v(0.5cm)
#stack(
spacing: 8pt,
[#text(size: 82pt, weight: 500, font: titlefont)[#align(start)[Samantha]]],
[#text(size: 41pt, weight: 500, font: titlefont)[#align(start)[Vero Friis]]]
)
#set text(size: 12pt)
#section3[Summary]\
Finance and business student with a genuine interest in how companies
work and why some don't. I spend time outside of university doing my
own equity research, building small automation tools, and getting
unreasonably invested in optimizing things that probably didn't need
optimizing. I enjoy finding inefficiencies, whether in a balance sheet
or a workflow, and figuring out a cleaner way through them. Looking for
an analyst or finance-adjacent role where I can contribute while I study.
#grid(
columns: (75pt, 1fr),
[
#align(center)[
#v(20pt)
#circle(width: 20pt)[
#place(center + horizon)[
#image("Assets/candlestick-chart.svg", width: 15pt, height: 15pt)
]
#line(angle: 90deg, start: (0pt, 12pt), end: (0pt, 164pt))
]
#v(137pt)
#circle(width: 20pt)[
#place(center + horizon)[
#image("Assets/git.svg", width: 15pt, height: 15pt)
]
#line(angle: 90deg, start: (0pt, 12pt), end: (0pt, 152pt))
]
#v(125pt)
#circle(width: 20pt)[
#place(center + horizon)[
#image("Assets/graduation-cap.svg", width: 15pt, height: 15pt)
]
#line(angle: 90deg, start: (0pt, 12pt), end: (0pt, 32pt))
#line(angle: 90deg, start: (0pt, 1pt), end: (0pt, 53pt))
#line(angle: 90deg, start: (0pt, 0pt), end: (0pt, 100pt))
]
#v(10pt)
#blob(inverse: true)[2025--Today]
#v(48pt)
#blob(inverse: true)[2020--2023]
]
],
[
#section3[Independent Equity Research]\
I analyse publicly listed companies using SEC filings, earnings reports,
and whatever data I can get my hands on. I look at profitability,
liquidity, and long-term sustainability. When information is sparse
or inconsistent, I cross-validate across sources until the picture gets
clearer. There is something satisfying about turning a messy 10-K into
a clean set of conclusions.
#section3[Technical Tools & Automation]\
I build small tools to cut out repetitive work, mostly in Python for
data processing and validation, and Go for lightweight backend services
where speed matters. I have a tendency to keep refining things past the
point of necessity, which means what starts as a quick script usually
ends up well-documented and slightly over-engineered. Practical, but
built with care.
#section3[Education History]\
#v(0.5cm)
Bachelor of Economics & Business Administration (HA)\
Aalborg University, In progress (Expected 2028)
#v(0.5cm)
HTX - Technical Upper Secondary Education \
Viden Gymnasier \
Study focus: Mathematics A, Biology B \
Study project: Mathematics & Technology
]
)
],
[
#block(width: 100%, height: 100%,inset: 0.5cm)[
#grid(
columns: (1fr, 1fr),
[CV],
[#align(end)[English]]
)
#block(height: 9cm, width: 100%)[
#let imagshadowsize = 0.25cm
#place(right + bottom)[#block(fill: FeatureColor, width: 100% - imagshadowsize, height: 100%-imagshadowsize)]
#place(left + top)[
#let data = read("Assets/profile.png", encoding: none)
#image-grayscale(data, width: 100% - imagshadowsize, height: 100%-imagshadowsize)
]
]
#section2[Contact]
#set align(end)
#set image(width: 14pt)
#grid(
columns: (auto, 1fr),
row-gutter: 2pt,
[#align(start)[#v(2pt) #image("Assets/map-pin.svg")]], [#v(5pt) Denmark, Aalborg],
[#align(start)[#v(2pt) #image("Assets/at-sign.svg")]], [#v(5pt) me@\samantha42.xyz],
[#align(start)[#v(2pt) #image("Assets/www.svg")]], [#v(5pt) #link("samantha42.xyz")],
[#align(start)[#v(2pt) #image("Assets/repository.svg")]], [#v(5pt) #link("git.samantha42.xyz")]
)
#set align(start)
#section2[Application Skills]
#grid(
columns: (1fr, 1fr),
row-gutter: 10pt,
[Excel],
[#progress(82)],
[Python],
[#progress(73)],
[SQL],
[#progress(55)],
[Go],
[#progress(90)],
[Git],
[#progress(40)]
)
#section2[Interests]
#stack(
spacing: 10pt,
[#blob[Cinema] #blob(inverse: true)[TV Shows] #blob[Economics] #h(1fr)],
[#blob(inverse: true)[Gaming] #blob[Board Games] #blob(inverse: true)[Design] #h(1fr)],
[#blob[Financial Markets] #blob(inverse: true)[Investing] #h(1fr)],
[#blob(inverse: true)[Programming] #blob[Open Source] #blob(inverse: true)[Tech] #h(1fr)],
)
#section2[Languages]
#grid(
columns: (1fr, 1fr),
row-gutter: 10pt,
[Danish],
[#progress(95)],
[English],
[#progress(80)]
)
#v(12pt)
#grid(
columns: (1fr, 1fr),
[#align(start)[
#block(width: 60pt)[
#stack(spacing: 5pt)[
#align(center)[#text(size: 10pt)[Website]]
][
#qr-code(error-correction: "H", "samantha42.xyz", color: FeatureColor, width: 60pt)
]]]],
[#align(end)[
#block(width: 60pt)[
#stack(spacing: 5pt)[
#align(center)[#text(size: 10pt)[Repository]]
][
#qr-code(error-correction: "H", "git.samantha42.xyz", color: FeatureColor, width: 60pt)
]]]],
)
]
]
)