Projects
Things I’ve built — for work, for the house, and for fun. Most run on my own self-hosted infrastructure; the open-source ones link to GitHub. The rest are private codebases I’m happy to talk about.
Geekonomics
Self-hosted bookkeeping for small businesses — Multi-tenant bookkeeping app supporting multiple business lines, Square and Stripe payment sync, invoicing, and AI-powered financial insights. Built to run on my own infrastructure — Docker images shipped through GitHub Actions to an Unraid server.
ShopFloor Layer
Modern add-on layer beside a legacy manufacturing ERP — A companion system for a job shop running legacy JobBOSS — telephony screen-pop, click-to-call, call logging, dashboards, notifications, and a privacy-gated AI insight layer. Adds what the ERP does poorly without touching what it does well.
Weekly Briefing Generator
Automated weekly exec update from M365, Salesforce, and Slack — Pulls live data from Microsoft 365 Calendar, Salesforce, and Slack every week and synthesizes it into a structured briefing with Claude — turning an hour of copy-paste status writing into a scheduled job.
GoTo Device Locator
Device, location, and phone-number manager for GoTo Connect — Web application for managing GoTo Connect devices, locations, and phone numbers — one of the tools I've built around the platform I work with every day. Open source, Docker-ready.
Claude Terminal for Home Assistant
Home Assistant add-on that puts Claude Code in your browser — A custom Home Assistant add-on that integrates Anthropic's Claude Code CLI into the Home Assistant UI, so you can work on your smart-home config with an AI agent from anywhere.
GoTo SMS for Home Assistant
Send SMS from Home Assistant through GoTo Connect — A Home Assistant custom integration for sending SMS notifications via the GoTo Connect API, with CI-tested releases.
Fire Dispatch Monitor
Decodes fire/EMS dispatch tones off VHF radio — Python app that listens to VHF fire/EMS dispatch audio in the Salt Lake Valley, detects the DTMF tone sequences that identify dispatched units, and records who got toned out and when.
Zello Gateway
Bridges a Zello channel to a VHF radio over RF — Bidirectional cross-link between a Zello push-to-talk channel and a Kenwood TM-D700 radio, running on an Intel NUC — squelch opens on RF, audio streams to Zello, and vice versa.
Wasatch 100 Comms
Website for the ham radio volunteers behind a 100-mile ultra — Site for the amateur radio volunteers (myself included — KE7BME) who provide runner tracking and communications for the Wasatch Front 100 Mile Endurance Run.
Poppy — the homelab
Self-hosted everything on an Unraid server — The infrastructure under most of these projects — an Unraid server running Docker apps deployed by GitHub Actions over Tailscale, fronted by Cloudflare Tunnels, with self-hosted Infisical for secrets and Vaultwarden for passwords. Every app above with a Dockerfile lands here.