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 compute and specialized kernels, and 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, and a Radicle implementation — because nothing teaches a system like rebuilding it from scratch or wiring straight into it.
Nearly everything here is free and open source, and 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 maintained and in use today. The same conviction runs through the rest — my code lives on Codeberg rather than a single company's platform, I run my own node instead of renting one, I am building a client for a peer-to-peer forge with no central host, and I have been FOSDEM staff since 2019. Software you cannot read, fork, or host yourself is software you do not really control.
| Language | Total | Active Periods | Projects |
|---|---|---|---|
| Go | 7.8y | December 2018 to present |
|
| TypeScript | 5.3y | June 2021 to present | |
| Python | 3.2y | December 2018 to December 2020; January 2024 to January 2025 | |
| Java | 2.0y | January 2022 to December 2023 | |
| Rust | 1.6y | February 2025 to present |
|
| Zig | 0.8y | May 2024 to June 2024; February 2026 to present |
|
| Name | Role | Dates | Languages |
|---|---|---|---|
| Elimity | Back-end Developer(part-time) | Nov 2018 — Dec 2020 | Go, Python |
| Aviate Labs | Research Engineer | Jan 2021 — Dec 2021 | Go, TypeScript |
| Motive Create | Research Engineer | Jan 2022 — Jan 2025 | Java, Python, TypeScript |
| Stealth Startup | Rust Engineer | Feb 2025 — Mar 2026 | TypeScript, Rust |
| SwissSubnet | Senior Software Engineer, then CTO (since Jul 2026) | Apr 2026 — present | Go, TypeScript, Rust |
| FOSDEM | Staff | Aug 2019 — present |
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, and 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 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 upstream work on Zig's own SPIR-V 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.
Verifiable ID card claims with selective disclosure.
POC for proving properties of a Belgian eID (Belpic) without revealing the full card. smartcard handles APDU-level communication with the chip in Zig; belpic-zkp generates zero-knowledge proofs over the read data in Rust — e.g. "over 18" or "EU citizen" without exposing the underlying fields.
Go agent and Zig CDK for the Internet Computer.
Built agent-go at Aviate Labs — a Go client for calling IC canisters, still the canonical Go agent for the platform. Returning to IC in Zig with cdk-zig, a canister development kit aimed at writing canisters in a systems language.