Projects

~/projects $ ls # what I build at home and deliver at work

Work

Delivered in a professional context.

01 marketing-automation live

Event-based integration underpinning a marketing automation rollout — designed around what the enterprise would need at scale rather than the immediate ask, so the fix did not become the next problem.

  • crm
  • event-driven
  • integration
  • enterprise

Homelab

One system, built and operated in pieces.

01 homelab-platform live

Proxmox and ZFS on a Minisforum MS-A2 — the virtualisation and storage layer everything else in the lab sits on, split across a fleet of LXC containers and VMs.

  • proxmox
  • zfs
  • lxc
  • virtualisation
02 segmented-network live

MikroTik routing with VLAN segmentation keeping trusted, IoT, and lab traffic apart, and Pi-hole handling DNS filtering across all of it.

  • mikrotik
  • vlans
  • firewall
  • pi-hole
  • dns
03 infrastructure-as-code live

Ansible and OpenTofu managing the container and VM fleet, with Renovate keeping dependencies current — rebuilds are reproducible rather than remembered.

  • ansible
  • opentofu
  • renovate
  • iac
04 backup-recovery live

Proxmox Backup Server running scheduled snapshots across the fleet, with retention policy and restore verification — the part most homelabs skip until the day it matters.

  • proxmox-backup-server
  • zfs
  • disaster-recovery
05 observability live

Loki and Grafana aggregating logs across every host and service, with CrowdSec watching auth and edge traffic. Operating the lab, not just building it.

  • loki
  • grafana
  • crowdsec
  • monitoring
06 self-hosted-git live

Forgejo on the LAN with step-ca issuing internal TLS — source control that does not depend on anyone else’s uptime, pricing, or terms of service.

  • forgejo
  • git
  • step-ca
  • self-hosted
07 home-automation live

Home Assistant with Zigbee2MQTT tying lighting, sensors, and the rest of the house together — local control, no cloud dependency, no vendor deciding when it stops working.

  • home-assistant
  • zigbee2mqtt
  • mqtt
  • automation
08 self-hosted-ai live

Ollama running LLM inference on local hardware, integrated via OpenClaw — useful models without handing the prompts to someone else.

  • ollama
  • openclaw
  • ai
  • self-hosted

Side projects

Built for the sake of it.

01 ez-site live

The page you are reading — Astro static output, no tracking, no external font requests, deployed to Cloudflare Pages straight from a self-hosted Forgejo repo.

  • astro
  • typescript
  • cloudflare-pages