When I'm not shipping code, I'm usually outside on a trail. I like work that stays close to the fundamentals: small surface area, sharp tooling, and things that keep working without much fuss.
// background
I've been writing software professionally for about ten years. The work has ranged from low-level to product-facing: a Windows OPC UA server that exposes hardware functions and diagnostics of B&R industrial PCs, shipped as an official B&R product, and the ETOPay SDK, an open-source Rust SDK for wallets, Web3 payments, and KYC flows.
That mix is why I ended up on Rust. The same language covers an embedded sensor driver, a payments backend, and a web UI, and the compiler catches the mistakes I'd rather not debug in production.
// going solo
Today most of my time goes into my own products. Three of them sit on the infrastructure side: Infra.page pulls a project's hosting, analytics, errors, and deploys into one view, Bollwark replaces reCAPTCHA with a proof-of-work check that needs no cookies, and mcpi keeps an MCP server directory honest by re-probing every listing.
The other two help product teams talk to users: SeggWat collects feedback, ratings, and surveys, and Stepshots records clickable product demos. I write about building them on Oxidt, and about the trail on Hike & Code.
Alongside the products, I publish libraries and developer tools as open source: embedded-hal sensor drivers, a Dioxus docs kit, testing helpers, and more, with over 55k crate downloads so far. See the open-source work →
// stack
Day-to-day, I reach for Rust for backends, drivers, and CLIs; Dioxus for fullstack web UIs; Tailwind CSS + DaisyUI for styling; and self-hosted infrastructure wherever it makes sense. My own products run on a small self-hosted cluster rather than a hyperscaler, which keeps costs predictable and the data in Europe.
// connect
Want to get in touch? Find me on GitHub, X, Bluesky, Threads, or LinkedIn - all linked from the home page. Looking to work with me? See the freelance page.