Skip to content

Commit 97ff644

Browse files
authored
Merge pull request #1 from alpoi/build-resume
build resume from config on pr
2 parents b6c9663 + 97c4160 commit 97ff644

File tree

6 files changed

+192
-1
lines changed

6 files changed

+192
-1
lines changed

.github/workflows/build-resume.yml

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
name: Build resume with Typst
2+
3+
on:
4+
workflow_dispatch:
5+
pull_request:
6+
paths:
7+
- "scripts/resume.json"
8+
- "scripts/resume.typ"
9+
10+
permissions:
11+
contents: write
12+
13+
jobs:
14+
build:
15+
runs-on: ubuntu-latest
16+
steps:
17+
- name: Checkout
18+
uses: actions/checkout@v5
19+
with:
20+
ref: ${{ github.head_ref }}
21+
22+
- name: Setup typst
23+
uses: typst-community/setup-typst@v3
24+
with:
25+
typst-version: latest
26+
27+
- name: Download fonts
28+
run: |
29+
mkdir -p fonts
30+
if [ ! -f "./fonts/NotoSans-Regular.ttf" ]; then
31+
curl -sL https://github.com/googlefonts/noto-fonts/raw/main/hinted/ttf/NotoSans/NotoSans-Regular.ttf -o ./fonts/NotoSans-Regular.ttf
32+
curl -sL https://github.com/googlefonts/noto-fonts/raw/main/hinted/ttf/NotoSans/NotoSans-Bold.ttf -o ./fonts/NotoSans-Bold.ttf
33+
curl -sL https://github.com/googlefonts/noto-fonts/raw/main/hinted/ttf/NotoSans/NotoSans-Italic.ttf -o ./fonts/NotoSans-Italic.ttf
34+
curl -sL https://github.com/googlefonts/noto-fonts/raw/main/hinted/ttf/NotoSans/NotoSans-BoldItalic.ttf -o ./fonts/NotoSans-BoldItalic.ttf
35+
fi
36+
37+
- name: Compile pdf
38+
run: typst compile --font-path ./ --root ./ scripts/resume.typ static/resume.pdf
39+
40+
- name: Commit resume
41+
run: |
42+
git config --global user.name "alpoi[bot]"
43+
git config --global user.email "me@angus.buzz"
44+
git add static/resume.pdf
45+
git commit -m "Update resume"
46+
git push
47+
48+

.github/workflows/deploy.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ jobs:
99
runs-on: ubuntu-latest
1010
steps:
1111
- name: Checkout
12-
uses: actions/checkout@v4
12+
uses: actions/checkout@v5
1313

1414
- name: Install pnpm
1515
uses: pnpm/action-setup@v3

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
node_modules
2+
fonts
23

34
# Output
45
.output

scripts/resume.json

Lines changed: 140 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,140 @@
1+
{
2+
"candidate-name": "Angus Pointer",
3+
"job-title": "Software Engineer",
4+
"links": [
5+
{
6+
"display": "me@angus.buzz",
7+
"destination": "mailto:me@angus.buzz"
8+
},
9+
{
10+
"display": "github.com/alpoi",
11+
"destination": "https://github.com/alpoi"
12+
},
13+
{
14+
"display": "linkedin.com/in/alpoi",
15+
"destination": "https://linkedin.com/in/alpoi"
16+
},
17+
{
18+
"display": "angus.buzz",
19+
"destination": "https://angus.buzz"
20+
}
21+
],
22+
"sections": [
23+
{
24+
"title": "Summary",
25+
"subsections": [
26+
{
27+
"text": "Highly motivated and experienced engineer with a strong background in building, deploying, and maintaining scalable and reliable systems. Proven ability to automate processes, optimize performance, and lead technical initiatives within fast-paced environments. Expertise across a diverse technology stack including Go, Python, C\\#, Terraform, AWS, and data technologies like Elasticsearch and Redis."
28+
}
29+
]
30+
},
31+
{
32+
"title": "Skills",
33+
"subsections": [
34+
{
35+
"items": {
36+
"Programming Languages": "Go, Python, C#, Java, Rust, Bash, TypeScript (Backend and Frontend)",
37+
"Cloud and Infrastructure": "AWS (Lambda, ECS, S3, etc.), Terraform, CloudFormation, Docker, Temporal",
38+
"Databases and Data Stores": "MongoDB, DynamoDB, Elasticsearch, Redis, SQL/RDS, Milvus",
39+
"Development Practices": "Version Control (Git), Agile (Jira, Scrum), CI/CD (GitHub Actions, AWS CodePipeline), Unit Testing (pytest, XUnit), Integration Testing (testcontainers), Load Testing (k6)",
40+
"Observability and Monitoring": "Elastic APM, OpenTelemetry, Grafana, Prometheus, Incident.io"
41+
}
42+
}
43+
]
44+
},
45+
{
46+
"title": "Work Experience",
47+
"subsections": [
48+
{
49+
"title": "Senior Platform Engineer",
50+
"subtitle": "Xapien",
51+
"location": "London",
52+
"from": {
53+
"year": 2024,
54+
"month": 12
55+
},
56+
"to": {
57+
"year": 2025,
58+
"month": 6
59+
},
60+
"items": [
61+
"Designed and implemented CI/CD pipelines with GitHub Actions, integrating automated testing, Terraform validation, semantic release, and infrastructure deployment across multiple environments and tenants.",
62+
"Led Agile ceremonies, including sprint planning, backlog grooming, and retrospectives.",
63+
"Architected infrastructure for a microservice-based entity resolution project.",
64+
"Developed a content pipeline for web scraping (Playwright, TypeScript), document conversion (Python, LLMs), and image processing (Go, libvips), optimized to produce LLM-friendly output.",
65+
"Founded and led the Code Standards Group, improving code clarity and review efficiency with industry-aligned style guides.",
66+
"Served as SME for Temporal, creating extension libraries and optimising production components.",
67+
"Implemented Elastic APM and OpenTelemetry logging, developing reusable libraries, streamlining adoption.",
68+
"Built extensible ECS container healthcheck libraries.",
69+
"Represented Xapien at Elasticon and Temporal Replay, showcasing expertise and fostering community engagement."
70+
]
71+
},
72+
{
73+
"title": "Systems and Infrastructure Engineer",
74+
"subtitle": "Xapien",
75+
"location": "London",
76+
"from": {
77+
"year": 2023,
78+
"month": 5
79+
},
80+
"to": {
81+
"year": 2024,
82+
"month": 12
83+
},
84+
"items": [
85+
"Streamlined deployments by migrating legacy CloudFormation stacks to modular, versioned Terraform.",
86+
"Deployed and maintained Fluenci™ (our NLP pipeline) using optimized AMIs for GPU and Inferentia models.",
87+
"Enhanced Photon, an open-source address parsing service (Java), by migrating from integrated Elasticsearch to external cluster support, optimizing read-only workloads with k6 testing.",
88+
"Built a new IDAM system with AWS Cognito and RDS, migrating users from Auth0.",
89+
"Rebuilt a high-performance cache access service, achieving over 1M TPM with a low-latency Go API.",
90+
"Configured OpsGenie and Incident.io alerting, participating in on-call rotations to triage incidents."
91+
]
92+
},
93+
{
94+
"title": "Technical Test Engineer",
95+
"subtitle": "Xapien",
96+
"location": "London",
97+
"from": {
98+
"year": 2022,
99+
"month": 5
100+
},
101+
"to": {
102+
"year": 2023,
103+
"month": 5
104+
},
105+
"items": [
106+
"Automated regression testing using Python and React tools, streamlining QA processes.",
107+
"Developed CRISPE (Customer Report Indicators Serving Priority Estimation) in C#, enabling Customer Success to effectively prioritize manual report reviews.",
108+
"Built a Kibana dashboard for Sales and Customer Success, leveraging an AWS Lambda triggered by an event rule for automated data ingestion to query internal data stores and display key user metrics."
109+
]
110+
}
111+
]
112+
},
113+
{
114+
"title": "Education",
115+
"subsections": [
116+
{
117+
"title": "Mathematics MMath (1st Class)",
118+
"subtitle": "University of Nottingham",
119+
"from": {
120+
"year": 2017,
121+
"month": 9
122+
},
123+
"to": {
124+
"year": 2021,
125+
"month": 6
126+
},
127+
"items": [
128+
"Thesis title: An introduction to algebras and space time block coding."
129+
]
130+
}
131+
]
132+
}
133+
],
134+
"style": {
135+
"font": "Noto Sans",
136+
"font-size": "7pt",
137+
"header-color": "#000035",
138+
"divider-color": "#800000"
139+
}
140+
}

scripts/resume.typ

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
#import "@preview/kiresume:0.1.17": resume
2+
#resume(..json("resume.json"))

static/resume.pdf

11 KB
Binary file not shown.

0 commit comments

Comments
 (0)