A collection of personal and freelance work
Multi-agent AI platform running on a Proxmox VM — autonomous Claude Code workers coordinated through an MCP mesh for code review, builds, testing, and system operations.
Personal portfolio and blog built with Next.js 16 and Sanity v5 CMS. Fully CMS-driven with automated CI/CD deployment.
Full homelab managed with OpenTofu — 5 VMs, 14 Docker stacks, secrets via Infisical, webhook-triggered deployments.
Self-hosted book and audiobook library manager with .NET backend, React frontend, and multi-provider metadata enrichment.
Docker container update manager with changelog fetching, approval workflow, and a web dashboard. Built with .NET 10 and React.
Quality profile and custom format manager for Sonarr and Radarr. A self-hosted alternative to Recyclarr with more control.
A full-stack recruitment platform connecting employers with jobseekers, featuring token-based profile unlocking, role-based dashboards, and a custom authentication system built on IdentityServer.
A CMS-driven compliance document platform for churches, with dynamic tabbed forms, file uploads, progress tracking, PayPal subscriptions, and Azure hosting.
A financial-operations MVP that ingests inconsistent CSV exports, normalises them, and runs a configurable rules engine to classify, flag, and route transactions automatically — with a clean review UI and a full audit trail.
A task assignment and dispatch platform that routes work to a distributed team and pushes real-time delivery notifications over WhatsApp, with timezone- and locale-correct scheduling and a complete audit trail.
An operations and decision layer for a villa-hospitality business, consolidating booking, guest, and messaging data from several upstream tools into one reconciled source of truth.
An AI-assisted marketing agent that generates and manages brand-safe campaign content, architected multi-brand from day one so it can scale across brands without a costly rebuild.
A bare-metal, high-concurrency self-hosted email platform on Hetzner — a hardened Postfix and Mautic stack with containerised single-tenant environments and correct reverse DNS across a full /28 subnet.
A Manifest V3 Chrome extension for real-time job-shift discovery and end-to-end booking across multiple accounts — fully client-side, with no server, proxy, or backend of any kind.
A Python image-processing pipeline that extracts the overprint from each stamp across reconstructed philatelic sheets — preserving every ink defect and natural irregularity — with per-position masks, a master CSV, and a documented two-stage workflow.
A fully automated cryptocurrency staking bot with 24/7 monitoring, alerting, and profit extraction - deployed on a cloud VM for a private client.