● TestFlight in external review · Wyoming LLC · USPTO trademark
An AI-guided progressive-overload fitness tracker for iOS and Android, built solo from API to app store. ASP.NET Core 8 + Caddy + Kestrel on AWS EC2, PostgreSQL on RDS, AWS SQS for async AI, secrets in SSM Parameter Store. Native iOS in SwiftUI and native Android in Kotlin / Jetpack Compose, both wired to RevenueCat for native billing ($10/mo Pro, 7-day free trial). Claude Haiku powers multiple AI endpoints — session review, next-session programming, NLP Quick Log parsing, and stats-insight coaching — alongside calculated metrics (Wilks, Epley, FFMI, plateau detection, injury risk, strength standards). JWT 60-min access + 30-day rotating refresh tokens, GDPR-compliant account deletion, and the full RevenueCat lifecycle wired to Discord (trial, convert, renewal, cancellation, billing-issue).
ASP.NET Core 8AWS EC2 / RDS / SQSSwiftUIKotlin / ComposePostgreSQLRevenueCatClaude Haiku
● Running · 4 nodes · 17 LXCs · 0 open ports
A 4-node Proxmox VE cluster running 17 LXCs and VMs — Revolt chat (3-node MongoDB replication + HAProxy), LiveKit, Plex, UniFi controller, dashboards, and a full monitoring stack. Every service exposed via Cloudflare Tunnels with zero open firewall ports; VLANs, DNS, and DHCP managed on UniFi UDM-Pro. Custom Discord deploy bot with post-receive git hooks for a gitops push flow: workstation → bot → GitHub → CI. Self-hosted GitHub Actions runner for free Android builds.
Proxmox VELXCCloudflare TunnelHAProxyMongoDBUniFiDiscord Bot
● Systemd · 8 sources · per-target alerts
A multi-source listing scraper (eBay, Reddit, Craigslist, Mercari, OfferUp, KSL, FB Marketplace, Best Buy) for RTX 5090 and 4090 Founders Edition GPUs. Rule-based signals plus LLM-graded scam-probability scoring via Claude Haiku with prompt caching and tool-use structured output; Utah local-pickup gets an explicit green-flag bump. Per-target Discord webhooks color-coded by risk band; APScheduler + asyncio + curl-cffi (to defeat PerimeterX on KSL); SQLite dedup store.
PythonasyncioPlaywrightClaude HaikuPrompt CachingSQLitesystemd
● Production · internal tool
A production internal tool built in .NET 9 Blazor Server that auto-discovers VMs and LXCs from the Proxmox API and visualizes the cluster as a radial vis-network graph with per-port TCP endpoint probes and latency readouts. Shipped to an unprivileged LXC via systemd self-contained publish, fronted by Cloudflare Tunnel with HTTPS and email-gated Zero Trust Access.
.NET 9Blazor ServerProxmox APIvis-networkCloudflare Zero Trust
● Live · FastAPI · paid API
A context-aware dictionary API for reading apps. Client sends { text, word, offset }; service returns one definition that fits the sentence’s sense, written simply. FastAPI + Pydantic v2 with parallel async adapter fan-out across Merriam-Webster Learner’s / Collegiate, Wordnik, and an offline Wiktionary dump. Claude Haiku selects the correct sense via tool-use with a prompt-cached system prompt; spaCy handles lemma/POS; two-layer SQLite cache (30-day candidates, 180-day selections). Per-key rate limits and usage logging.
FastAPIPython 3.11Claude HaikuTool UsespaCySQLite
● Live · daily AI art pipeline
A Blazor Server countdown that paints a new Bob Ross–style oil painting of a Utah landscape every day. Picks a random Utah place from 50 curated locations, pulls real weather via Open-Meteo, asks Claude Sonnet to write the image prompt, renders it with Replicate Flux 2 Pro, and grades the output with Claude vision (threshold 7.5/10, up to 3 retries). Ships to CT 503 via GitHub Actions on a self-hosted runner, nginx + Cloudflare Tunnel.
.NET 9Blazor ServerMudBlazorClaude SonnetFlux 2 ProOpen-Meteo