Bradley Batten

Developer. Most of my work sits where operational technology meets IT — the unglamorous seams where the shop floor has to talk to the business systems.

A year on a warehouse floor, a year leading the team, then into IT at the same manufacturer in 2026. Before that, machine operating, customer service and retail management, going back to 2018. So the systems I build now, I have mostly been on the receiving end of first.

I like problems where the constraint is real: hardware that already exists, data that has to stay correct, and people who need it working tomorrow morning. Most of my spare time goes into infrastructure I run myself.

Projects

PVE Command

C# · ASP.NET Core · Blazor WebAssembly · SQLite

Remote monitoring and management for a Proxmox VE hypervisor, as an installable web app that works properly on a phone. It discovers virtual machines and containers from the cluster inventory rather than a config file, so anything created in Proxmox appears on its own within seconds.

The part I find most interesting is the authorisation model. Actions run under each operator's own Proxmox API token rather than a shared service account, so the hypervisor's native task log independently records who did what — a second record the application itself cannot edit. Every mutating request writes an audit entry, including the ones the app refuses.

It runs behind Cloudflare Zero Trust with no inbound ports open, and guards the containers carrying its own remote access: stopping the one your connection depends on takes a typed confirmation, because otherwise it is a single tap away from cutting you off from the machine entirely.

certwatch

C# · .NET

A TLS certificate expiry checker. Small on purpose: the expiry rules live in their own evaluator, separate from the code that goes and fetches a certificate, so the logic that decides what counts as "expiring soon" is testable without a network or a clock.

What I work with

Building
C#, .NET, ASP.NET Core, Blazor, Entity Framework Core, PowerShell
Data
SQL Server, DB2 for i, SQLite, reporting and integration between systems that were never meant to meet
Infrastructure
Proxmox VE, Linux, Docker, WireGuard, Cloudflare Zero Trust, Git and CI