I design, build, and operate infrastructure for stateful and distributed systems. My background includes data-centre, telecommunications, and blockchain environments. My work spans bare metal and Linux hosts, cloud-native platforms, networking, storage, observability, and release automation.
I take ownership from architecture through production. I turn operational needs into reproducible systems, automate delivery, and test upgrades and recovery paths. I stay with incidents until the root cause is understood, tracing failures across application, protocol, operating system, network, storage, and hardware layers. Reproducible failures become regression tests.
I build tools that let coding agents work with remote systems and knowledge bases. I focus on controlled tool access, verifiable results, and recovery from failed operations, treating model output as untrusted input.
Most of my production work is private or employer-owned. The public work below provides concrete examples of how I design, build, and operate systems.
- Debian Kernel Current builds Debian Sid kernel packages for Debian 13 with Clang and ThinLTO, tests them in KVM, and publishes them through a signed APT repository.
- k8s-lab provides a self-hosted Cluster API platform with declarative workload clusters in unprivileged LXC/LXD containers on a Debian or Ubuntu host.
- Remote SSH MCP gives coding agents bounded tools for remote Linux administration and verified, resumable file transfers outside model context.
- SSH Wrapper is a typed Python library for sharing one OpenSSH connection across commands. Its heartbeat supervisor cleans up owned remote processes when their caller disappears.
- Elsewindow shows remote Linux application windows locally through Xpra over SSH. Rendering stays on the remote GPU; optional persistent sessions survive client disconnects.
- mini-pig provides Ansible roles for bare-metal hosts, networking, and services. Its firewall rules coexist with Kubernetes, Docker, libvirt, and Podman.
- Joplin tools provide two-way Markdown sync, MCP and ChatGPT Actions access to Joplin notes, and deterministic migration from OneNote.
- FMI for Home Assistant brings Finnish weather forecasts, observations, lightning, and sea-level data into Home Assistant. This maintained fork adds tested migrations and release compatibility checks.
More personal projects and technical details.
My upstream work includes diagnosing a production HTTP/2 failure in HAProxy, fixing serialization and session handling in libnfs and fuse-nfs, and improving Wayland support, video decoding, and packaging in Xpra. Other contributions cover Polkadot deployment automation and SubQuery indexer fixes.




