commit a269eebd4233cd0ba237429fdea124d30432881c
parent 185e247243baf2a5363cf030eb949af11322ebb8
Author: Silas Brack <silasbrack@gmail.com>
Date: Tue, 7 Apr 2026 15:57:56 +0200
style: format
Diffstat:
| M | flake.nix | | | 2 | +- |
| M | main.typ | | | 81 | +++++++++++++++++++++++++++++++++++++++++-------------------------------------- |
2 files changed, 43 insertions(+), 40 deletions(-)
diff --git a/flake.nix b/flake.nix
@@ -9,7 +9,7 @@
in {
devShells = forAllSystems (pkgs: {
default = pkgs.mkShell {
- buildInputs = with pkgs; [ typst ];
+ buildInputs = with pkgs; [ typst typstyle ];
};
});
};
diff --git a/main.typ b/main.typ
@@ -21,35 +21,36 @@
#show heading.where(level: 3): set text(size: 12pt)
#align(center)[
- #grid(rows: (auto,auto),
- row-gutter: 2em,
- [#text(size: 16pt)[
- = SILAS BRACK
- ]],
- [
#grid(
- columns: (
- auto,
- auto,
- ),
- gutter: 1em,
- [
- _Copenhagen, Denmark_
- ],
+ rows: (auto, auto),
+ row-gutter: 2em,
+ [#text(size: 16pt)[
+ = SILAS BRACK
+ ]],
[
- #link("https://silasbrack.com")[silasbrack.com]
+ #grid(
+ columns: (
+ auto,
+ auto,
+ ),
+ gutter: 1em,
+ [
+ _Copenhagen, Denmark_
+ ],
+ [
+ #link("https://silasbrack.com")[silasbrack.com]
+ ],
+ )
],
- )
- ],
- // [
- // #align(
- // center,
- // block(width: 10cm)[
- // #set align(left)
- // #lorem(24),
- // ]
- // )
- // ],
+ // [
+ // #align(
+ // center,
+ // block(width: 10cm)[
+ // #set align(left)
+ // #lorem(24),
+ // ]
+ // )
+ // ],
)
]
// #box(clip: true, radius: 2.5cm, width: 2.5cm, height: 2.5cm, image("photo.jpg", height: 2.5cm))
@@ -92,17 +93,18 @@
*AI Research Engineer*
],
align(right)[
- _Teton.ai_
+ _Teton.ai_
],
)
],
text(size: 10pt)[
- Performed an in-depth analysis of thousands of falls to understand which factors are related to falls and how they can be better prevented. Preprocessed data to account for various biases and confounders.
- - Trained various models to predict falls, though ended up converging on a two-stage model with one brute-force optimisation step and one logistic regression to forecast fall likelihood across different time horizons. This approach was chosen to maximise interpretability and actionability for care staff.
- - Based on my analysis and modelling, I designed, implemented and rolled out a new notification system based on resident actions rather than whereabouts, along with an automatic fall risk prediction model which led to a notification volume drop of 56% (mitigating spammy alerts) and a fall rate reduction of 66%. First-hand user feedback on this feature has also been collected and has been consistently positive.
- ]
+ - Trained various models to predict falls, though ended up converging on a two-stage model with one brute-force optimisation step and one logistic regression to forecast fall likelihood across different time horizons. This approach was chosen to maximise interpretability and actionability for care staff.
+ - Based on my analysis and modelling, I designed, implemented and rolled out a new notification system based on resident actions rather than whereabouts, along with an automatic fall risk prediction model which led to a notification volume drop of 56% (mitigating spammy alerts) and a fall rate reduction of 66%. First-hand user feedback on this feature has also been collected and has been consistently positive.
+ ],
)
],
+
[2021--2025],
[
#grid(
@@ -119,7 +121,7 @@
*Machine Learning Engineer*
],
align(right)[
- _Saxo Bank A/S_
+ _Saxo Bank A/S_
],
)
],
@@ -127,7 +129,7 @@
- Designed, built and deployed a real-time recommendation system serving relevant financial news to clients; we learn user and content embeddings, retrieve with nearest neighbour retrieval and apply reranking.
- Built a RAG-based chatbot yielding a 170\% improvement in question-answering accuracy and decreasing the yearly number of manual agent chats by 20k, saving around \$150k in yearly agent costs.
- Built, trained and deployed an NLP-inspired embeddings model for finding similar stocks. As of February 2025, the tool sits at around 110k monthly interactions. // This was the first client-facing machine learning tool my team deployed. // [Gensim, Kubernetes, FastAPI, OpenAPI]
- ]
+ ],
)
],
)
@@ -155,14 +157,14 @@
*M.Sc. Mathematical Modelling and Computation*
],
align(right)[
- _Technical University of Denmark_
+ _Technical University of Denmark_
],
)
],
text(size: 10pt)[
// - Specialisation in _machine learning and signal processing_.
"Effortless Bayesian Deep Learning: Tapping Into the Potential of Modern Optimizers," with Søren Hauberg.
- ]
+ ],
)
],
// [2017--2020],
@@ -178,7 +180,7 @@
// ),
// align(left)[
// *B.Sc. General Engineering* \
- //
+ //
// ],
// align(right)[
// _Technical University of Denmark_
@@ -216,15 +218,16 @@
*Marginal Likelihood Training of Linearized Laplace Approximations Without Hessian Reductions*
],
align(right)[
- _DTU Compute_
+ _DTU Compute_
],
)
],
text(size: 10pt)[
Developed a novel method for computing the Laplace approximation using only Jacobian-vector products in JAX, implementing posterior sampling (inference) and the log-determinant (optimising the marginal likelihood during training) of the Laplace covariance without explicitly instantiating it. Supervised by Søren Hauberg.
- ]
+ ],
)
],
+
[2022--2023],
[
#grid(
@@ -241,13 +244,13 @@
*Bayesian Metric Learning for Uncertainty Quantification in Image Retrieval*
],
align(right)[
- _DTU Compute_
+ _DTU Compute_
],
)
],
text(size: 10pt)[
Developed a method for training Bayesian neural networks in metric learning and demonstrate its effectiveness on small- to large-scale image datasets in yielding well-calibrated uncertainty estimates. We proved that contrastive loss constitutes a valid log-likelihood in spherical space and present a novel decomposition of its Generalized Gauss-Newton (GGN) approximation. Our paper was accepted to NeurIPS 2023 @warburg2023bayesian in New Orleans, which I had the fortune of attending. Supervised by Søren Hauberg.
- ]
+ ],
)
],
)