Builds · 17 drawings
Built with AI, checked like flight hardware.
RF test tools, hardware, software products and the infrastructure they run on. Each page covers what was built, the decisions that mattered, and exactly how AI agents were used.
Instrument control and analysis tools for the RF lab, built for how RF engineers actually work.

RF CAT: RF compliance & analysis tool
A web application that turns raw RF test data (S-parameters, power sweeps, noise figure) into pass/fail compliance reports against each unit's requirements. It cut data review from about 60 minutes to 1 and has saved roughly 1,500 engineering hours. Nine months of development, 59 versioned releases, in daily production use.
- 60 → 1
- minutes per data review
- ~1,500
- engineering hours saved
- 59
- versioned releases in 9 months

RF Workbench
Browser RF tools on this site. Draw a signal chain and get a live cascade of gain, noise figure, IP3, P1dB and sensitivity; load Touchstone files and compare parts on rectangular or Smith axes. Nothing is uploaded.
- 150
- unit tests on the RF math
- 2 + 1
- parallel agents + me
- 0
- bytes uploaded

PA Characterization Bench
A browser-driven RF power-amplifier test bench. It runs a vector signal generator, a signal analyzer and a 4-channel supply over raw SCPI, and turns a morning of manual measurements into one button per test.
- 71
- commits in 12 days
- 107
- independent math checks
- 7 → 0
- SCPI errors per sweep after bring-up

S-Parameter Viewer
A VNA-style Touchstone viewer for comparing parts. Overlay up to ten .sNp files, one-click return loss, insertion loss or isolation, snap-to-point markers, cross-grid trace math, and slide-ready export.
- 1
- day, first commit to deployed
- 10
- files overlaid at once
- N-port
- any port count
Boards and mechanical parts, from mains-rated PCBs to parametric 3D-printed designs.

4-Zone Fermentation Controller
A mains-switching brewery controller designed as a real, manufacturable product. ESP32-S3, four triac heater zones and four relay pump zones, 288 parts on a 4-layer board. Taken from written brief to routed PCB in three days, with AI agents driving KiCad.
- 288
- components, 9 schematic sheets
- 43
- logged design decisions
- 0 / 0
- ERC errors / warnings

Parametric Tabletop Token System
A fully parametric OpenSCAD system of 3D-printable grid tokens, with 47 base tiles that drop flush into ring frames for Large, Huge and Gargantuan creatures. The build script exports and verifies 191 meshes, and a Blender scene built entirely in code renders the product shots.
- 191
- meshes built and verified
- 47
- tiles fit one print bed
- 4.0
- mm, flush assembly

Two-Door Guinea Pig Cottage
A parametric, 3D-printable hideout designed around animal behavior and printability. Five parts, no fasteners, no glue, no supports, and a build script that refuses to package a non-manifold mesh.
- 0
- supports, fasteners or glue
- 1.27
- kg PETG, five prints
- 0.35
- mm dovetail fit
Products in real use: AI vision and voice, invoicing, e-commerce, and a whole shop run on one system.

ShopJig
A complete shop-management platform, built in seven days for a working off-road fabrication shop and now offered to other shops as ShopJig. It replaces the storefront and runs parts, fab orders, service jobs, time clock, chat and accounting, with an iPhone and iPad app for the shop floor.
- 7 days
- fork to staging, ~650 commits
- 1,800
- unit and integration tests, plus 132 e2e
- 163
- features tracked for web↔app parity

InVinetory
Point a phone at a wine label and it identifies the bottle, researches it once for every cellar, and files it in a shared household inventory. Describe dinner out loud and a voice sommelier picks from bottles you actually own.
- 13/14
- labels right on real photos
- 2.7 s
- median read, ~0.4¢ each
- 2 days
- for all 6 planned phases

TymTracker
A time-tracking and invoicing product I built when my invoicing tool's price went from about $100 to about $2,000 a year. A multi-tenant web platform plus an iOS and Android app for invoices, estimates and clients on the go.
- 20×
- price increase avoided
- ~300
- tests, 176 against real Postgres
- 3
- hardening workstreams, parallel agents

Tensor3D Storefront
A self-hosted e-commerce platform that replaced Shopify for my 3D-printer parts shop. It covers storefront, checkout, oversell protection, shipping labels, admin and analytics, and I migrated in four years of order history.
- 10
- days of build, 32 commits
- 983
- historical orders migrated
- 17 → 0
- audit findings open

Instant Laser Quoting
A new website for a laser-cutting and press-brake shop, with instant quotes, now also a ShopJig module. Upload a DXF or a STEP file and get the cut length, bends, material and a price in seconds, from rates the shop controls.
- 1 day
- phases 1–4 plus the admin
- 97
- tests, pricing engine to upload flow
The self-hosted platform everything else runs on, and the agents and tools that look after it.

The Homelab
A five-node Proxmox cluster with 100 CPU threads, 218 TB of ZFS, a segmented 10 GbE network and about twenty services, watched by Valhalla, a dashboard I built for it with Claude. It hosts every app on this site, and AI agents keep its runbook current and its media pipeline healthy.
- 100
- CPU threads, 352 GB RAM, 5 nodes
- 218 TB
- RAIDZ2, grown in place
- 6
- VLANs, IPS on each
- U1
Detect
read-only checks, every 15 min
- U2
Snapshot
configs, before any change
- U3
Agent
runbook first, then fix
- U4
Gate
command filter + quarantine
- U5
Verify
re-check, commit the journal
The Homelab Agent
An unattended Claude Code agent that keeps my media pipeline healthy. Cheap checks run every 15 minutes, and only when something is wrong does the agent wake up, fix it inside hard guardrails, check its own work and add what it learned to the runbook.
- 19
- anomalies resolved, 0 left open
- 0
- tokens spent when all is well
- 7 days
- before anything is truly deleted
- J1
Guest portal
invite-only, no keys
- U1
Saga API
one image, two surfaces
- U2
Library + queue
media services
- U3
Insights
forecasts, upgrades
- U4
Agent hand-off
Problems → Claude Code
Saga
A self-hosted control plane and request portal for my home media server. Browse and add titles in bulk, see download ETAs that are actually true, and give family and friends a portal to ask for things. It replaced the off-the-shelf request app in a day.
- 1 day
- six phases, plan to production
- 88
- tests, 22 on portal isolation
- 19k
- lines of TypeScript
- J1–J8
PoE cameras
RTSP, H.264 / H.265
- U1
go2rtc
WebRTC, no transcode
- U2
Backend
credentials, PTZ, passkeys
- U3
PWA
iPhone home screen
Vordr Camera Viewer
A self-hosted, view-only live viewer for eight PoE cameras that installs on an iPhone home screen. WebRTC with no transcoding, pinch-zoom and PTZ, and private cameras that unlock with a passkey. Nothing leaves the private network.
- 8
- cameras, live
- ~4%
- CPU for 5120×1920 + audio
- 0
- requests leave the network
- S1
Stream Deck
on the desktop, not the KVM
- U1
Switch script
by EDID ID, center last
- J1–J3
Monitors
DDC input select
- U2
Read-back
retry ×3, 5 s apart
One-Button Desk
Three monitors, two computers, one key. A Stream Deck key moves all three displays, the keyboard and the mouse between my desktop and a laptop over DDC/CI, and checks that each monitor actually switched. The first plan was tested, failed, and was dropped before any hardware was bought for it.
- 6
- input changes per key press
- ~8 s
- for a full switch, verified
- 0
- software needed on the laptop