SCIM
A SCIM v2 server library for Go.
Started at Elimity to back their IAM product. Grew into a widely-used community implementation of RFC 7643 / 7644. Still maintained across employer changes, with a companion filter-parser and test-suite.
Backend / Systems Engineer. Writing Rust at SwissSubnet; Go since 2018; Zig in free time. FOSDEM staff since 2019.
I build the layers most people never look at: parsers and compilers, GPU backends and the compute shaders they emit, the plumbing that holds distributed systems together. Professionally that has meant implementing specs other people depend on, research engineering and now sovereign infrastructure. In my own time it mostly means Zig. Grammar toolkits, compute kernels, a Radicle implementation. Nothing teaches a system like rebuilding it from scratch or wiring straight into it.
Most of that sits one layer below the application: toolchains, build systems and the machines they run on. I build my own machine from a flake so it comes back identical every time. I run my own hardware on NixOS instead of renting a box, with the metrics and alerting to know when it is unhappy. The feedback loop is the product.
Nearly everything here is free and open source. That is the point rather than a side effect: I care about work that outlives its employer. A SCIM library I started in 2018 outlasted the job it was written for and is still the implementation other teams build on. I have been FOSDEM staff since 2019 for the same reason. Software you cannot read, fork or host yourself is software you do not really control. Lately that has pulled me toward peer-to-peer systems. No host to lose in the first place.
| Language | Total | Active Periods | Projects |
|---|---|---|---|
| Go | 8.0y | December 2018 to present (8y) |
|
| TypeScript | 5.5y | June 2021 to present (5y 6m) | |
| Python | 3.2y | December 2018 to December 2020 (2y 1m); January 2024 to January 2025 (1y 1m) | |
| Java | 2.0y | January 2022 to December 2023 (2y) | |
| Rust | 1.8y | February 2025 to present (1y 10m) | |
| Zig | 1.0y | May 2024 to June 2024 (2m); February 2026 to present (10m) |
|
| Name | Role | Dates | Languages |
|---|---|---|---|
| Elimity | Back-end Developer(part-time) | Nov 2018 — Dec 2020 (2y 2m) | Go, Python |
| Aviate Labs | Research Engineer | Jan 2021 — Dec 2021 (1y) | Go, TypeScript |
| Motive Create | Research Engineer | Jan 2022 — Jan 2025 (3y 1m) | Java, Python, TypeScript |
| Stealth Startup | Rust Engineer | Feb 2025 — Mar 2026 (1y 2m) | TypeScript, Rust |
| SwissSubnet | Senior Software Engineer, then CTO (since Jul 2026) | Apr 2026 — present (8m) | Go, TypeScript, Rust |
| FOSDEM | Staff(Volunteer (2 editions), 2018 — 2019) | Aug 2019 — present (7y 4m) | |
| EuroZig | Founding Member | Sep 2026 — present (3m) |
A SCIM v2 server library for Go.
Started at Elimity to back their IAM product. Grew into a widely-used community implementation of RFC 7643 / 7644. Still maintained across employer changes, with a companion filter-parser and test-suite.
A grammar parser toolkit for Zig.
Latest in a long line of parser experiments (parser, upeg, pars). Handles ABNF, BNF, PEG, CFG, ERE and S-expression grammars through one pipeline: comptime parser combinators, a bytecode VM with peephole optimizer, native AArch64/x86_64 JIT compilers, AOT compilation to portable .zpar blobs. Includes tree-sitter-style structural queries over parse trees.
Zig compute kernels compiled to SPIR-V and dispatched via Vulkan.
spritz compiles Zig compute kernels to SPIR-V and dispatches them through Vulkan. On Apple Silicon it runs via MoltenVK, so GPU code is written in Zig rather than MSL while still landing on Metal. spirv-zig underpins it with idiomatic Zig wrappers around the Khronos SPIR-V toolchain. Alongside both runs ongoing work on Zig's own GPU backends: upstream SPIR-V plus an experimental native AMDGCN backend.
A Radicle client and node in Zig.
Implementation of the Radicle protocol: a sovereign, peer-to-peer code forge built on git with no central host. Covers both the client and the node, bringing the stack to a systems language with no runtime.