01 projects

Things I built, and what they run on.

Software that shipped — consoles, dashboards, tools — and the infrastructure underneath it, because I built that too.

Remote SSH/WinRM Console with AI Copilot

alpha · mvp · 2026

A browser-based console that speaks SSH to Linux and WinRM to Windows, with an AI copilot that reads the session and suggests the next command.

One pane of glass for a mixed fleet. Sessions are brokered server-side so credentials never reach the browser, and the copilot gets the scrollback as context — it explains what a box is doing before you break it further. A Python sidecar handles the WinRM transport to Windows hosts; the copilot runs on a cloud Ollama model by default. The same console also ships as an Electron desktop build for Windows and Linux, for the machines where a browser is the wrong tool.

Node.js · Python · WebSockets · SSH · WinRM · React · Electron · Ollama

live

TailorFit — Résumé Tailoring

in service · 2025

A résumé tailoring tool that rewrites a CV against a specific job posting and scores it the way an applicant tracking system would.

Paste a résumé and a job description; TailorFit aligns the wording to the posting, flags the keywords an ATS screens for, and shows a fit score before a human ever sees the page. The tailoring runs on a local Ollama model on a Mac Mini — no résumé ever leaves the network — with MongoDB holding the postings and revisions.

React · Vite · Node.js · MongoDB · Ollama · Mac Mini

live

CVE Patch Console

in service · internal · 2026

A patch console that pulls live CVEs off every Windows, macOS, and Linux endpoint, checks NVD for whether a fix actually exists yet, and then applies it.

An EDR platform and an RMM platform both know things about an endpoint that the other does not, so the console reads both APIs and reconciles them into one CVE list per machine. Each finding is checked against the NVD API to answer the only question that matters — is there a patch, and is it out. Remediation is not a ticket: a Python sidecar speaks WinRM to Windows and SSH to everything else, so patching and uninstalling happen from the same pane that found the problem. MERN stack, running in Docker on a Hyper-V VM.

React · Node.js · Express · MongoDB · Python · Docker · Hyper-V · EDR · RMM · NVD API · WinRM · SSH

Navision Monitoring Dashboard

in service · internal · 2026

One dashboard that answers whether the Dynamics NAV stack is healthy, built from Zabbix metrics and SQL Server DMV queries instead of guesswork.

Zabbix knows the hosts are up; the DMVs know whether SQL Server is actually serving Navision or quietly drowning in blocked sessions. Joining the two gives a single view of the stack — service state, host health, and query-level performance — so a slow morning can be diagnosed before the calls start rather than after. MERN in Docker on a Hyper-V VM, same shape as the patch console.

React · Node.js · Express · MongoDB · Docker · Hyper-V · Dynamics NAV · Zabbix · MSSQL · T-SQL / DMVs

Bell CDR Console

in service · internal · 2026

Call detail records out of the Bell phone system, turned into call centre performance monitoring the floor can actually act on.

The phone system emits CDR; on its own that is a pile of rows nobody reads. The console parses it into the numbers a call centre runs on — volume, handle time, abandonment, who is carrying the queue — and presents them per agent and per interval rather than as a monthly export. MERN in Docker on a Hyper-V VM, same as the other two.

React · Node.js · Express · MongoDB · Docker · Hyper-V · Bell CDR · Telephony

Raspberry Pi Dayforce Punch Clock

handed off · 12 units · 2023

Twelve Raspberry Pi punch clocks running a React kiosk against a .NET service, deployed across the floor and still clocking people in.

Purpose-built time clocks: touchscreen React kiosk on each Pi, a .NET backend brokering Dayforce, and an update path that does not involve walking to twelve devices with a keyboard.

Raspberry Pi · React · .NET · C# · MSSQL · Linux · Kiosk

ShipFD — Freight Rate Calculator

handed off · 2023

A freight cost calculator that returns real-time shipping rates and drops them straight into whatever needs them — an ERP, a WMS, an online store. An in-house answer to Shipit.

Query carriers, return live freight costs, and feed them back through one API into an ERP, WMS, or storefront. Built in 2023 for a logistics employer on the same stack as the punch clocks: a .NET/C# backend over MSSQL, a React front end, running on a Windows Server 2022 VM under ESXi.

React · .NET · C# · MSSQL · Windows Server 2022 · ESXi

robotrights.com

you are here · 2026

This site. React and Express in two containers behind that same Caddy, arguing that machines deserve better error handling than they get.

A portfolio that doubles as the manifesto. Express serves both the API and the built SPA on a single port; MongoDB holds the projects and field notes; the whole thing comes up with one compose command.

React · Vite · Express · MongoDB · Docker · Tailwind

live

K8s Homelab Cluster

humming · 2024

A Kubernetes cluster in the basement that exists so production never has to be the place where I learn something.

Bare-metal control plane, persistent storage, ingress, and the full unglamorous middle: certificates, DNS, backups, and the slow accumulation of things that only break at 2am.

Kubernetes · Docker · Linux · Helm · Proxmox · TrueNAS

Single-Port Caddy Edge

load bearing · 2025

Every service on the network terminates at one Caddy instance that handles TLS, so no container ever thinks about certificates again.

Automatic HTTPS, one reverse proxy, and a strict rule that applications publish exactly one port and know nothing about the edge. The UniFi stack handles everything upstream of Caddy: VLANs, routing, and which traffic is allowed to reach the host at all. This site is downstream of it.

Caddy · Docker · TLS · DNS · UniFi