Systems & automation
I design platforms, governance frameworks, and automation solutions that help teams work with clarity and confidence. The goal is always the same: reliable systems that get out of the way and let people do their best work.
Automation • Cloud • Governance • Making stuff
Hey, I'm William. I build and improve systems for a living — somewhere between automation, cloud, governance, service management, and making complicated things feel simple.
I care about solving real problems, reducing toil, and creating solutions that are reliable, maintainable, and actually useful. I like the deep technical stuff, but I'm equally interested in the people and processes that make it successful.
My technical interests span Python, Rust, Ruby, and C, with hands-on experience across Windows, Linux, and macOS. I pick tools based on what fits — not what's fashionable.
Outside work: family, coffee, whiskey, side projects that weren't supposed to take all weekend, and an ongoing personal journey understanding my own neurodiversity. Both experiences shape how I approach accessibility, adaptive design, and systems that genuinely support people.
I design platforms, governance frameworks, and automation solutions that help teams work with clarity and confidence. The goal is always the same: reliable systems that get out of the way and let people do their best work.
From low-level systems experiments in Rust and C to scripting in Python and Ruby, I enjoy the full range. Cross-platform by instinct — shaped by years across Windows, Linux, and macOS.
I write concise, practical pieces grounded in real-world experience. Most of them sit somewhere between software quality, engineering leadership, governance, accessibility, neurodiversity, and parenting, with a recurring interest in how cross-platform tools and terminal interfaces can make modern systems feel clearer and more humane.
Not everything here is about work. Food, cooking, music, coffee, beer, and whiskey all shape how I think about craft, hospitality, rhythm, and the pleasure of getting details right.
I share practical snippets from things I am actively learning and testing across different languages, platforms, and ways of working. Use the copy button to grab examples for your own experiments.
use tracing::{error, info};
pub fn run_job(name: &str) {
info!(job = name, "starting");
if let Err(err) = do_work(name) {
error!(job = name, ?err, "failed");
return;
}
info!(job = name, "finished");
}
{
"change_window": "weekly",
"risk_review": true,
"rollback_plan": "required",
"service_owner_signoff": true
}
Want to collaborate, discuss architecture, or explore one of my projects? The fastest way to reach me is through GitHub.