I write UEFI firmware (EDK II, DXE drivers) and Linux systems code in C and Rust. I contribute to the Mango Wayland compositor and build most of the tooling around it.
I run my own infrastructure. My portfolio is self-hosted on a home server I architected and configured from bare metal up.
| Domain | Technologies |
|---|---|
| Firmware & UEFI | |
| Systems & Wayland | |
| Infrastructure & Ops |
C, EDK II, UEFI BDS, Raspberry Pi Pico W, MicroPython
A pre-boot remote authorisation system: the machine won't boot until a network-issued ticket says it can. This is the reference implementation for an academic paper.
The host firmware hands all network operations (WiFi, TLS, HTTP) to a USB-attached Pico W, so the code running in UEFI stays small and auditable. An EDK II DXE driver finds the Pico over USB CDC-ACM, and a BDS-phase application checks the authorisation ticket against NVRAM state before it chain-loads the next boot option. On failure it drops into a recovery UI instead.
C, EDK II, USB, WiFi2 protocol
A UEFI DXE driver that turns a €7 Raspberry Pi Pico W into a WiFi adapter for firmware with no native WiFi stack. It detects the Pico on the USB bus, drives it over bulk CDC-ACM transfers, and publishes the standard EFI_WIRELESS_MAC_CONNECTION_II protocol, so any UEFI application can scan and connect through it. Useful for pre-boot provisioning and lab setups where there's no vendor WiFi driver to be found.
I contribute upstream to Mango, a dwm-style Wayland compositor, and maintain a set of tools around it:
| Project | What it is |
|---|---|
| mango-ext | My extension fork of Mango, with custom transition shaders and experimental features. |
| mplug | Lightweight IPC-based plugin manager and Lua scripting engine for MangoWC. (Rust) |
| mdisplay | GUI monitor layout manager for MangoWC. (Rust) |
| mlint | Linter for mplug plugins. (Rust) |
| dunsh | Trying to make the most out of dunst. (Lua) |
| useful_plugins | The mplug plugins I run daily. |
Older projects
- hwprofiler is a cross-platform hardware fingerprinting CLI in C, built with Meson for Linux, Windows, macOS, and the BSDs.
- InputRelay translates controller inputs into keyboard and mouse events, in C.
- RustyRoom is a TCP text chat in Rust with a terminal UI.
- unix-topic-chat is a topic-based chat in C built on Unix IPC (pipes) with an ncurses interface.
- MyCOLL is a full-stack logistics app: .NET MAUI/Blazor client, .NET Web API, EF Core.
Home Server
Hardware (Custom Build):
- Compute: Intel Core i7-14700KF (20 Cores) @ 5.6 GHz
- Memory: 32GB DDR5 ECC (Error Correction Code)
- Motherboard: Gigabyte B860M
- Networking: 2.5 GbE Uplink
Service Orchestration (Docker/Nginx):
- Core: Nginx Proxy Manager, Portainer, Watchtower
- Network: Pi-hole (DNS/Adblock), WireGuard (VPN)
- Storage & Productivity: Nextcloud, Joplin, Glance
- Gaming: Dedicated Game Server containers

