You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

183 lines
4.7 KiB

1 year ago
#import "typst-fontawesome/fontawesome.typ": *
#import "self.typ"
#set page("a4", margin: 1cm)
#set text(
1 year ago
font: ("Inter", "Noto Color Emoji"),
size: 10pt)
1 year ago
#let accent_color = rgb("#B00B69")
#let colors = (
1 year ago
accent: rgb("#b00b69"),
muted: rgb("#af4682"),
dark: rgb("#353133"),
mid: rgb("#635e61"),
light: rgb("#d8d0d4"),
1 year ago
)
#set text(fill: colors.dark)
#show heading: it => {
1 year ago
set text(fill: black)
it
1 year ago
}
#show heading.where(level: 2): it => {
1 year ago
it
v(-8pt)
line(length: 100%, stroke: 2pt + colors.muted)
1 year ago
}
#let accent(body, fill: accent_color) = {
1 year ago
text(fill)[#body]
1 year ago
}
#let skillbox(percent) = {
1 year ago
v(-2pt)
rect(width: 100%, fill: colors.light, inset: 0pt, height: 10pt, radius: 3pt)[#rect(width: percent, fill: accent_color, radius: 3pt)]
1 year ago
}
#let skill(desc: none, name, percent) = {
1 year ago
grid(
columns: (1fr, 2cm),
[*#name*],
skillbox(percent)
)
if desc != none {
v(-8pt)
text(size: 8pt)[#desc]
}
1 year ago
}
#let work_item(
1 year ago
ref: none,
time: none,
location: none,
title: none,
1 year ago
) = {
1 year ago
[=== #title]
if ref != none {
}
grid(
columns: (1fr, auto),
[=== #title],
ref
)
grid(
columns: (1fr, 1fr),
{
if time != none [
#fa-calendar-alt() #time
]
},
{
if location != none [
#fa-map-marker-alt() #location
]
}
)
1 year ago
}
#let meta_item(icon, body) = {
1 year ago
accent()[#icon]
h(5pt)
text(size: 9pt, baseline: -2pt, fill: colors.mid)[*#body*]
1 year ago
}
#let meta_items = (
1 year ago
(fa-at(), self.email),
(fa-id-card(), [they/them]),
(fa-map-marker-alt(), [Germany])
1 year ago
)
#let machine_reading_keyword_dump = [ // the future we live in... this actually does help and i hate that
1 year ago
// based in part on the stackoverflow dev survey
Rust, Python, Nix, JS, CSS, HTML, Web, Desktop, Embedded, Scalable, Server, Service, SAAS, Network, Administration,
Java, Backend, High performance Async, Serverless, React, NextJS, Scala, Erlang, Haskell, COBOL, Kubernetes, K8s, k3s,
Docker, Podman, Ansible, Terraform, Container, .NET, C\#, PHP, MySQL, Nginx, Apache, Database, SQLite, SQL, NoSQL,
MongoDB, npm, yarn, Unity, Unreal, Elixir, Clojure, TypeScript, Go, Kotlin, Swift, Dart, Bash, Ruby, C++, Lua,
Fortran, Assembly, Redis, Elasticsearch, Firebase, AWS, OVH, GCP, OpenStack, OpenShift, Phoenix, Svelte, Deno,
ASP.NET, FastAPI, Node.js, Django, Laravel, Flask, jQuery, Flutter, Keras, NumPy, Spring, React Native, Electron,
Git, CI/CD, DevOps, Observability, Grafana, Prometheus, OpenTelemetry, OTel, Microservice, debugging, gdb
1 year ago
]
#let section_skills = [
1 year ago
#set text(size: 9pt)
== Skills
//I am confident in my skills with: \
//- *Rust*—my current favorite language, which I picked up in 2020 and used for anything from embedded development to web backends or network proxies
//- *Python*—my first major language which i've used since 2012, sometimes interleaving with C (and recently Rust) for performance critical code
//- *PCB EDA tools*—designing digital circuits from component choice to finished boards, specifically using kicad
//- *Hardware design*—primarily using 3d printing and other maker accessible techniques
//Additionally, I have used and am somewhat fluent with: \
//- *Programming languages:* C, Java
//- *Web languages:* HTML, CSS, JS, Sass
1 year ago
]
#let section_natlang = [
1 year ago
== Natural Languages
#skill("English", 100%, desc: [Native Language])
#skill("German", 100%, desc: [Native Language])
#skill("Spanish", 20%, desc: [
Studied in school \
Self assessment: *A2*
])
1 year ago
]
#let section_competitions = [
1 year ago
== Competitions
#accent[#link("https://codingcontest.org")[*codingcontest.org*]]
1 year ago
1 year ago
#fa-calendar-alt() 2019-11-08
1 year ago
1 year ago
#set text(size: 9pt)
Worldwide level-based coding game.
- University of Salzburg: *1#super[st]* place
- Worldwide: *47#super[th]* place
1 year ago
]
#let section_work = [
1 year ago
== Work
#work_item(
ref: accent[#link("https://rami.io")[rami.io]],
title: "Software Engineer",
time: "2020 - 2021",
location: "Remote"
)
1 year ago
]
#let section_exp = []
// start layouting
#place(top + right, hide[#machine_reading_keyword_dump])
#text(size: 18pt)[= #upper(self.name)]
#v(-4pt)
#accent()[*#self.tagline*]
#meta_items.map(
1 year ago
((icon, body)) => meta_item(icon)[#body]
1 year ago
).join(h(1cm))
#show link: it => [
1 year ago
#fa-link() #it
1 year ago
]
#grid(
1 year ago
columns: (58mm, 1fr),
rows: auto,
gutter: 16pt,
[
#section_skills
#section_natlang
#section_competitions
],
[
#section_work
#section_exp
]
1 year ago
)