Backend systems, developer tooling, and the hardware in-between.
Software engineer in Toronto working on backend systems, infrastructure, and developer tooling. On the side, home automation, 3D printing, and the occasional PCB.
Repositories
-
01
unilux-uart
Reverse-engineered UART protocol library for a smart thermostat, in C++23.
C++ ★ 0 Jul 2026C++★ 0Jul 2026→ -
02
jean
Computational-biology library for Rust: sequence alignment, genome annotation, and file I/O.
Rust ★ 5 Jan 2026Rust★ 5Jan 2026→ -
03
threedy
Home Assistant card for live 3D-printer status and progress.
TypeScript ★ 209 Apr 2024TypeScript★ 209Apr 2024→ -
04
gnome-egpu
eGPU switcher for GNOME, driven by udev rules.
Rust ★ 55 Dec 2025Rust★ 55Dec 2025→ -
05
ha-card-workbench
Browser IDE for building and testing Home Assistant dashboard cards.
TypeScript ★ 22 Jun 2021TypeScript★ 22Jun 2021→ -
06
edgy
Sobel edge detection implemented from scratch in Rust.
Rust ★ 17 Mar 2019Rust★ 17Mar 2019→
Recent writing
-
01
2026-07-29 · 14 min read
Safe state machines with Effect.ts and XState
Of all the theoretical concepts taught in my undergraduate computer science program, finite state machines (FSMs) are the one that has proved most useful in my professional work. At its…
-
02
2026-07-04 · 10 min read
Reverse-engineering the Unilux thermostat
I recently moved to Toronto, into a high-rise condo -- the glass-tower kind where you own everything from the paint inward and nothing past it. About the only thing…
Résumé
The full résumé is a PDF. It's GPG-signed and published with a SHA-256 checksum, so you can verify it before you read it.