Work

Judge the code, not the pitch

Two kinds of proof below. Open-source tools you can clone and run in one command — every one ships tests, a README that states its tradeoffs, and deterministic demo data. And production systems from my full-time work: those run on private code, so I describe the problems and the results instead.

In production, right now

Built for a US nationwide white-glove logistics company, running unattended on AWS — through a full server migration — since April 2026.

document intelligence · slack · aws

Document routing & approval automation

Two AI-powered systems that read inbound business documents, route them, generate responses, and manage approval workflows through Slack — with humans approving anything that leaves the building. systemd-managed, runbook'd, monitored.

Result: ~10 hours/week of manual document handling eliminated. Running unattended since April 2026.

google ads · telephony · attribution

Multi-channel call attribution pipeline

Matches inbound phone calls to the ad campaigns that produced them, in real time. The hard part: the phone API's call index silently dropped forwarded calls — polling looked healthy while losing exactly the calls that mattered. Diagnosed it, rebuilt on webhooks with reconciliation.

Result: $100K+/year of ad spend reliably attributed; 5+ hours/week of manual matching removed.

media pipeline · api · captioning

Order-photo pipeline at scale

Automated retrieval, organization, and captioning of delivery photos from an operations platform — thousands of orders, tens of thousands of photos, kept in sync on a schedule.

Result: 26,000+ photos across 3,600+ orders processed and organized without manual handling.

developer tooling · claude code · hooks

Automated work tracking & daily digest

A hook-driven system that logs engineering work across 40+ project folders as it happens, then compiles and sends a daily summary to Slack — status reporting with zero human input.

Result: 2+ hours/week of status reporting replaced; real-time visibility across every active project.

Open source — clone it, run it, read the tests

Thirteen tools. Shared standards: python3 gen_data.py && python3 <tool>.py runs the whole thing on seeded demo data, no accounts or API keys needed; python3 -m unittest proves the logic; the README states what I'd do differently in production.

Core operations suite

ToolWhat it doesThe detail that matters
smb-ops-dashboard Ops dashboard + morning Slack digest Zero dependencies — stdlib HTTP + inline SVG charts
appointment-noshow-recovery Reminders + no-show win-back state machine Idempotent sends — crashes can't double-text a customer
client-onboarding-engine Onboarding as a versioned JSON pipeline Ops can edit the process without touching code
crm-dedupe-kit Merges messy multi-system contacts into golden records Fuzzy matches go to human review — never auto-merged
invoice-chaser Overdue-invoice escalation ladder At 90+ days it stops emailing and says "call"
lead-scoring-pipeline Lead enrichment + 0–100 scoring Reasons provably sum to the score (tested)
inbox-triage-bot Shared-inbox routing + urgency triage Rules handle the boring 80%; Claude gets the ambiguous 20%
smb-ops-mcp MCP server: business database as Claude tools Read-only by design; query layer tested without the transport

Industry-specific suite

ToolIndustryThe detail that matters
saas-health-scorer SaaS Every at-risk account gets a specific action, not a score alone
ecom-ops-radar E-commerce Demo plants 4 problems; radar finds exactly those, nothing else
realestate-lead-engine Real estate Cadence stops the second the lead replies
agency-report-builder Agencies Zero-lead spend reads "check tracking first" — usually the pixel
resume-screener Recruiting Ranks with evidence; never silently auto-rejects

Why the demos use fictional data: my production work belongs to my employer, and client data is client data. So every public tool runs on deterministic synthetic data instead — which also means you can run all of it in sixty seconds without trusting me with anything.

Want this level of engineering on your problem?