What I use to get things done.

The tools, hardware, and services behind my day-to-day work and my homelab. Not sponsored, not exhaustive — just the things that have earned their keep.

Workstation

  • Windows 11 + WSL2 (Ubuntu)

    My daily driver is Windows with WSL2 running Ubuntu. It sounds like a compromise, but it gives me a real Linux toolchain for development while keeping the Windows side for everything else. All of my projects live inside the WSL filesystem.

  • Windows Terminal

    Fast, tabbed, and it makes juggling WSL, PowerShell, and SSH sessions painless.

Development

  • VS Code

    My main editor for TypeScript, Go, and infrastructure work, with the Remote - WSL extension doing the heavy lifting.

  • pnpm

    My package manager of choice for Node.js projects — fast installs and a strict dependency model that catches mistakes npm lets slide.

  • Docker

    Local containers for anything I don’t want polluting my machine, and the build pipeline for everything that ends up on the homelab cluster.

Homelab

  • Talos Linux + Flux

    Eight Lenovo Tiny mini-PCs running Talos Linux — an immutable, API-only Kubernetes OS with no SSH and nothing to drift. Every workload, secret, and upgrade flows through a Git repository: Renovate proposes updates, CI diffs and validates them, and Flux reconciles them onto the cluster.

  • Rook-Ceph + Volsync

    Distributed storage across the workers’ NVMe drives, with every volume backed up via Volsync and Kopia — including a canary job that periodically restores a backup to prove the backups are real.

  • Home Assistant + Zigbee2MQTT + Frigate

    The home automation stack the household actually notices. Fed by small single-purpose Go services I write when an integration is missing, like turning doorbell presses into MQTT events.