All work
Projects
IN-01
VAS Inventory Platform Rebuild
Rebuilt VAS's internal inventory tool from a Python/NiceGUI prototype sitting on a Postgres buffer into a Go REST API with a React web frontend and a React Native mobile app, synced in real time from the Fishbowl ERP. Added OCR'd proof-of-delivery matching, a margin dashboard that cut false-positive pricing alerts 98%, and full-text search over an 80,000-document delivery archive.
GM-01
GridMerge — Grid Project Coordination Map
Built over two days for Sperry's "Gridlock" challenge: a geospatial app that reads electric utilities' public capital-plan filings, maps ~2,300 planned grid projects nationwide, and flags cross-company projects that are near each other and under construction at the same time so utilities can share crews, outages and permits. Main contributor on a two-person team (71 of 98 commits). Built deterministic parsers for six public sources with page-level citations, a Gemini extraction pipeline with a human review queue, PostGIS spatial matching, and CI/CD with automatic rollback and 295 tests.
FD-01
Foundry — AI Business Research Agents
Hackathon app where five specialist research agents (legal, competitor, market, financial, operations) search the live web in parallel against a founder's city, skills, capital and hours, and a stronger model turns their findings into three cited business recommendations. Includes a provider-agnostic LLM layer over Claude and Gemini, citations re-attached on the server so the model can't invent a link, and per-agent progress streamed over SSE. A full run takes ~63 seconds.
FT-01
Family Tracker
Multi-tenant household coordination app with live WebSocket sync across web and mobile. Every client applies the same idempotent event fold, so clients converge cleanly on reconnect. Features are registered as data rather than code paths, so new modules need no schema change, and fingerprint-pinned over-the-air updates through EAS can't reach an incompatible native build.
IR-01
IR Signal Repeater — ESP32
Programmable IR repeater firmware in Rust that uses the RMT peripheral to store multiple signals and replay any of them on a trigger. Debugged with a logic analyzer down to the signal level, through RMT buffer sizing, carrier setup, the driver-transistor circuit and strapping-pin conflicts. Traced a Wi-Fi auth failure on two ESP32-C3 boards to a chip-specific RF issue and moved the design to the ESP32-S3. A self-hosted Asterisk server maps dialed phone extensions to trigger functions.
TM-01
Trades Marketplace
Two-sided marketplace built in an 8-hour, two-person hackathon (Miami | Claude Impact Lab) that connects independent tradesmen directly to customers. Jobs are matched by bidding rather than fixed agency pricing, so independents keep the margin an intermediary would take. Owned the Go API and part of the Supabase schema.
AI-01
Self-Hosted AI Stack
Local AI stack on RHEL 9: Ollama serving DeepSeek-R1 14B and Llama 3 8B, Open WebUI run as a Podman Quadlet service, Tailscale for remote access, and a sandboxed Python execution container.
SC-01
Fishbowl Inventory Lookup
Read-only web app exposing live inventory locations and quantities to warehouse and showroom staff, extended with phone-based QR/barcode camera scanning so staff can search inventory using personal phones without dedicated scanning hardware.
DP-01
NiceGUI Document Portal
Password-protected document portal backed by Tesseract OCR, enabling authorized staff to securely search and access scanned purchase orders, invoices, and receiving lists by part number.
EB-01
Novel Downloader & EPUB Builder
Plugin-per-site scraping tool using Python ABCs and a Streamlit UI that downloads web novels and compiles them into EPUBs with automated title, cover, and author metadata.
ET-01
Orgill ETL Pipeline
ETL pipeline converting Orgill supplier invoices into Fishbowl-importable PO CSVs, including UPC verification against internal item records, cutting a multi-hour manual process to under 3 minutes.
LP-01
Zebra Label Printing App
NiceGUI-based Zebra label printing application supporting price/no-price label modes, filtering by bin or item name, and bulk CSV import; generated approximately 1,000 labels during initial inventory transition and sustains approximately 50 labels per week in ongoing use.