AUG 2026
About
I'm Kyle. I live in Victoria, Australia, and most of my time goes into Nosdesk, an open source helpdesk with a Rust backend.
Before that I spent three and a half years in IT operations, which is where I learned what breaks and why. The programming came earlier and I taught myself all of it.
How I started
I owe the basics to Scratch. My first real programs were Lua, running on a ComputerCraft computer, which only existed inside Minecraft.
Then I wanted to make my own games, which meant Love2D, then Unity and C++. I stopped playing games somewhere along the way, but the joy of building things stuck with me.
My first server was an amalgamation of parts from hard rubbish, or in other words a heap of junk. It ran Debian, with Minecraft and Plex on top, and that's where self-hosting and networking started for me. Arch came later, and I daily drove it for three years and tuned the configuration endlessly.
The web side started in high school. My first domain came out of the GitHub Student Developer Pack, and what I put on it has been through plain HTML, CSS and JavaScript, then Eleventy, then Astro, and now Svelte. You're reading the current end of that.
OCT 2022 → JUN 2025
On site
I started at Nossal High School as the on-site technician. The documentation was thin, the cabinet layouts had drifted from any consistent scheme, and a few core configuration problems had been lived with for years rather than fixed. I worked alongside an IT manager who really knew his stuff. The school motto was "Embrace the challenge," which is still roughly how I pick what to work on.
I traced cable by hand to rebuild the physical-layer documentation, redesigned the cabinets, modernised the network and the VMware cluster, and moved the helpdesk onto Zammad. Most of it is still running. You learn a different set of things when you're the one who gets called if any of it stops.
JUN 2025 → APR 2026
Migrations
In June 2025 I moved into Solution One's corporate team as an infrastructure engineer. Same job, bigger blast radius. I led the observability migration off Graylog onto Grafana, Prometheus, Loki and Alertmanager, laid the infrastructure-as-code foundations on Docker and Azure DevOps, and wrote the tooling that moved 150 or so WordPress customer sites onto a modern CloudLinux stack without losing anything.
Automation work has a funny endpoint. Do it well and there's less of the job left, including your part of it. The role wound down, and I went on to Neuroscale AI, working on AI pipelines and the interactive parts of their site.
MAY 2023 → APR 2026
Attention
I've been trying phones that ask less of me since 2023. E-paper phones weren't ready then. The Mudita Kompakt got closer two years later. The Minimal Phone was a longer story.
I'm still looking, and I still think someone will get it right. The screen was never the hard part. Same goes for social platforms that optimised away the part that was social.
JAN 2025 → NOW
Where the effort went
Nosdesk started on nights and weekends in early 2025 and ran alongside everything else. Most of my time has gone to it since.
The Human Patch is about what happens when you automate around the person absorbing a system's failures instead of fixing the system underneath them. The AI I want in a helpdesk is the kind you stop noticing, and 120,000 lines of Rust is the engineering underneath that. Pygmalion is about the gap between the version of Nosdesk I could see in my head and the one that existed, and what changed once other people started using it.
NOW
Where things are
- Working on Nosdesk every day.
- Mostly writing Rust. The backend is around 120,000 lines across 260 modules, with roughly 1,030 tests.
- Still looking for a phone that asks less of me.
- Slowly turning a Macintosh Classic II into an e-ink terminal.
Colophon
This site is SvelteKit and Svelte 5. Posts are Markdown through mdsvex, with syntax highlighting by Shiki and styling in Tailwind. It deploys to Vercel, and the pages you're most likely to read are prerendered, including this one.
I wrote the moving parts myself instead of reaching for a library. The ASCII statue on the Pygmalion post, the wireframe Macintosh and the timeline above are all small renderers. The timeline takes its model from another project I'm building in Rust, where time is the only real axis and everything else is a way of looking at it.
No ads, and nothing here is trying to sell you anything. Traffic counts come from Vercel Analytics, which doesn't set cookies or build a profile of you.