3D product configurator
Four years of continuous delivery for a Swiss manufacturer. Browser-based 3D configuration, most recently rebuilt around an AI-assisted redesign.
Proof
This page is the evidence behind the ones on the rest of this site: code in the Linux kernel, peer-reviewed publications, named employers, and shipped products.
01
Code merged into projects maintained by other people, where the bar for acceptance is set by someone with no reason to be generous. Plus the open-source driver SDK built in-house at Sensirion and published for its customers.
Authored the mainline driver for the Sensirion SGP30 and SGPC3 volatile-organic-compound sensors, with its device-tree binding. Extended the IIO subsystem’s ABI with ethanol and H₂ gas modifiers that any gas-sensor driver can use. ANSI C, i²c. Merged upstream in Linux 5.1 and shipping in every kernel since.
Three merged changes to Analog Devices’ libiio, the library applications use to talk to IIO sensors: a crash fix in the iiod network daemon, updated channel type and modifier lists, and corrected channel-identifier heuristics.
Lead contributor to Sensirion’s portable C driver SDK for its gas (SGP), humidity and temperature (SHT, STS), CO₂ (SCD30) and particulate-matter (SPS30) sensors. The drivers share one hardware abstraction layer, embedded-common, that ports to any microcontroller or Linux board. Nearly 700 commits across Sensirion’s public repositories, 2015–2020, including releases, test pipelines and new-sensor support.
Small checkpatch.pl change allowing long lines that contain a URL, so kernel commit messages and comments can carry unbroken links.
Fixed a case where gitweb could emit an HTML link built from unescaped input, producing invalid XHTML or potentially injected markup (a ref name such as “1.0.0&0.0.1”). Acked by the gitweb maintainer, merged by Junio Hamano.
Worked out how to altitude-compensate the SCD40 CO₂ sensor below sea level, where the library’s setSensorAltitude() accepts only positive values. Published as an answer on the vendor’s Arduino driver repository.
02
Peer-reviewed work in embedded and smart-home security.
03
RUAG AG
Switzerland’s primary defense technology company
Led seven engineers across Linux systems, distributed architecture, networking and cryptography. Architected a high-reliability decentralised defense networking platform — routing, switching and firewall components across distributed Linux nodes, in C++17, Python, SQLite on Debian. Built a package manager with dependency resolution and secure distribution for fielded infrastructure. Defined an ISO-90003-compatible development workflow that passed defense audit.
Sensirion AG
ETH Zürich spinoff; MEMS environmental sensors
Led ~5 developers. Primary technical contact for sensor-SDK integration with mobile phone OEMs — face-to-face engineering across hardware and software. Owned live cloud operations (AWS, Azure, Kubernetes) for an internal measurement platform ingesting real-time sensor data.
Sensirion AG
Developed on-chip firmware for a proprietary ASIC sensor architecture, in assembly. Integrated sensor products into customer systems across mobile phones and embedded medical and automotive devices, including application development. Authored and upstreamed the SGP30/SGPC3 kernel driver. Built CI/CD and automated test infrastructure.
04
Four years of continuous delivery for a Swiss manufacturer. Browser-based 3D configuration, most recently rebuilt around an AI-assisted redesign.
Engineering for Prymal’s platform for homesteaders: crop steering, monitoring and open-data integration. ESP32-S3 firmware (MQTT broker on the device, Modbus RTU field nodes, BLE over-the-air updates), a Flutter mobile app, a SvelteKit web UI and a Python emulation environment.
Engineering for Prymal’s Sense box and its companion BLE app, which reads out a truck’s data on the phone. Embedded firmware and mobile app.
An AI pipeline that extracts and structures data from scanned documents without the documents leaving the privacy boundary Aconta’s customers require. Turnaround for those customers went from weeks to hours, and from days to minutes. Python, AWS, Claude.
Website for a forestry contractor in Ontario, Canada: their services, and the equipment they sell across North America.
05
OEM towing and payload specification database. iOS and Android.
A Bible verse matched to every minute of the day.
OBD-II vehicle health monitoring for tow rigs. In development.
Scripture-grounded daily guidance for married couples. In development.
06
Start a conversation
I usually reply within a day or two.