Case Studies
AI Sales Agent "Rick" — Claude-Powered Closer on a Live Shopify Store
LIVE IN PRODUCTION
The Problem
A refurbished Apple hardware store needed 24/7 sales coverage. One person can't answer every customer question at 2 AM, and generic chatbots ("How can I help you today?") don't close deals. The store needed an AI that actually understands inventory, handles objections, and guides customers to purchase — not one that says "let me transfer you to a human."
What I Built
- Claude-powered sales agent deployed on the live Shopify storefront + Facebook Messenger, handling real paying customers
- Live inventory awareness — Rick pulls real-time pricing, stock status, and specs from the Shopify catalog on every conversation. No stale data.
- Hallucination guard — a verification layer that blocks fabricated prices, specs, and availability before they reach a customer. If Claude invents a $299 MacBook that doesn't exist, the guard catches it.
- Session memory — remembers what each customer browsed, asked about, and abandoned across visits. Picks up where they left off.
- Abandon recovery — detects cart abandonment patterns and re-engages with personalized follow-ups
- Coaching layer — a second LLM watches Rick's responses post-turn and flags missed upsell opportunities, tone issues, or policy violations for review
- Multi-channel — same agent serves website chat widget and Facebook Messenger via Graph API webhook
Tech Stack
Claude (Anthropic)Cloudflare WorkersKV StorageShopify Admin APIFB Graph APIStreaming SSE
Read the technical deep-dive →
Voice AI Receptionist — Real-Time Phone Agent Handling Live Calls
LIVE IN PRODUCTION
The Problem
Small businesses miss calls. When the owner is with a customer, on a job site, or asleep, the phone rings and goes to voicemail. Most callers don't leave voicemails — they call the next business on Google. A 24/7 human receptionist costs $2,000+/month. The business needed an AI voice agent that actually sounds human, understands context, and converts callers into booked appointments.
What I Built
- Real-time voice pipeline — Deepgram STT (streaming, word-level timestamps) → LLM reasoning → ElevenLabs TTS, with sub-second response latency. Conversations feel natural, not robotic.
- Self-hosted PBX integration — Asterisk/FreePBX on a home server, handling SIP trunking. No Twilio dependency for the core call path (Twilio available as fallback).
- 6 industry personas — each with custom knowledge base, tone, and conversation flow. The HVAC persona knows service areas and pricing; the computer repair persona knows common device issues.
- Caller memory — recognizes repeat callers by phone number and picks up context from previous calls
- Missed-call text-back — if a caller hangs up before the agent answers, auto-sends an SMS with a booking link
- Live transcription + summary — every call is transcribed and pushed to the business owner via notification with a one-paragraph summary
Results
*Self-hosted LLM path. Cloud LLM path available for higher quality at ~$0.03/call.
Tech Stack
DeepgramElevenLabsAsterisk/FreePBXWebSocketsPythonTwilio (fallback)llama.cpp
Read the technical deep-dive →
Autonomous AI Operator — Daily Business Operations Without a Human Trigger
LIVE IN PRODUCTION
The Problem
Running an e-commerce business involves dozens of daily operational tasks: checking inventory, monitoring competitors, updating pricing, publishing social media, responding to reviews, verifying that integrations are healthy. A solo operator can't do all of this every day and also run the business. The store needed an autonomous agent that handles the operational grind without anyone pressing "go."
What I Built
- Scheduled autonomous agent — runs on a cron schedule (daily + hourly loops) with no human trigger. Wakes up, checks systems, makes decisions, takes action, logs everything.
- Multi-system health checks — verifies website uptime, API endpoints, payment processing, chat agent status, inventory sync, and SSL certificates
- Content generation + publishing — creates and publishes social media posts (Facebook Reels via Graph API) with AI-generated video, on schedule
- Pricing intelligence — monitors competitor pricing on eBay and adjusts recommendations based on market movement
- Full audit trail — every decision is logged with reasoning, reversible, and reviewable the next morning
- Alert pipeline — pushes critical findings to the owner's phone via push notification. Non-critical items wait for the daily summary.
Tech Stack
PythonClaudeShopify Admin APIFB Graph APIScheduled TasksPush NotificationsKV Storage
Read the technical deep-dive →
Self-Hosted LLM Server — 27B Model at 20 tok/s on Consumer GPUs
LIVE IN PRODUCTION
The Problem
Cloud LLM APIs charge per token, and costs compound fast at scale. A business running an AI sales agent, voice bot, content generator, and autonomous operator hits hundreds of thousands of tokens per day. Beyond cost, some clients need data to stay on-premise — no external API calls, no third-party data processing. The solution: run your own LLM on your own hardware.
What I Built
- Dual-GPU inference server — Tesla M40 (24 GB, Maxwell) + RTX 3060 (12 GB, Ampere) in a Proxmox VM, serving a 27B parameter model (Qwen 3.8 27B, Q2_K quantization)
- Custom CUDA build — llama.cpp compiled with sm_52 support for the Maxwell-era M40. Default builds drop Maxwell; this required a custom compile flag and verification.
- Optimized tensor splitting — benchmarked every layer distribution between the two GPUs. The 3060 alone (tensor-split 1,0) hit 19.97 tok/s — 1.90x faster than naive 50/50 split. The M40 holds zero layers (acts as VRAM overflow only).
- Production hardening — systemd service with auto-restart, health endpoint, /slots monitoring, 65K context window, parallel request support
- API compatibility — serves the OpenAI-compatible /v1/chat/completions endpoint, so any client that speaks OpenAI can point at this server with zero code changes
Tech Stack
llama.cppCUDA sm_52 + sm_86ProxmoxsystemdTesla M40RTX 3060OpenAI-compat API
Read the technical deep-dive →
BizForge — AI Business Launcher: Intake Form to Full Marketing Kit in Minutes
LIVE IN PRODUCTION
The Problem
Small businesses need a web presence, ad creatives, social media content, and video — but hiring a marketing agency costs $5,000-$15,000 and takes weeks. Most local businesses (restaurants, contractors, salons) can't afford that. They need a "press one button and get everything" solution.
What I Built
- One-shot business launcher — fill out an intake form (business name, type, location, vibe) and the system generates a complete marketing kit in one pass
- AI-generated website — full responsive landing page with hero, services, about, contact, and location sections. Deployed instantly to Cloudflare Pages.
- 3-variant ad creatives — three distinct ad copy + image combinations optimized for different platforms (Facebook, Instagram, Google)
- 7-day social calendar — a week of ready-to-post social media content with captions, hashtags, and posting schedule
- AI video commercial — generated via Kling video AI, with branded intro/outro and background music
- Cost: ~$1.40 per client — the entire generation pipeline runs on OpenRouter API calls + Kling video, keeping per-client cost under two dollars
Tech Stack
Cloudflare WorkersOpenRouterKling Video AIFFmpegCloudflare PagesR2 Storage
Read about the infrastructure behind this →
Mission Control — Fleet Operations Dashboard for 9 Production Websites
LIVE IN PRODUCTION
The Problem
When you're running 13+ production websites, multiple LXC containers, GPU servers, scheduled tasks, SSL certificates, and disk storage across a Proxmox cluster — you need a single pane of glass. Checking each system individually doesn't scale. I needed to know instantly: is everything healthy, and if not, what broke?
What I Built
- Unified health dashboard — single-page app showing real-time status of all 9 websites, infrastructure probes, SSL certificates, disk usage, and scheduled tasks
- Composite health score — weighted formula (sites 30%, infra 20%, SSL 15%, disk 20%, tasks 15%) with animated SVG ring gauge and per-subsystem breakdown on hover
- Infrastructure probes — TCP probes to 13 services (Proxmox hosts, LXC containers, VMs, PBX, LLM server) with latency tracking and last-seen timestamps
- Watchdog alerts — automatic notifications via push when disk exceeds 95%, sites go down, or SSL certificates approach expiration
- Night Watcher integration — displays autonomous work cycles (the AI agent that maintains the fleet overnight), with project-level progress tracking
- Zero dependencies — pure Python stdlib (ThreadingHTTPServer), no frameworks, no npm, no build step. Single file, runs anywhere.
Tech Stack
Python stdlibThreadingHTTPServerSVGCSS GridPush NotificationsProxmox API
PJ's Heating & Cooling — Full AI Automation for a Local HVAC Business
LIVE IN PRODUCTION
The Problem
A Marion, Ohio HVAC contractor was losing leads to voicemail. The owner runs every call personally — and when he's on a job site, the phone goes unanswered. The existing website was a single page with a phone number and no way to capture leads after hours. Competitors with bigger marketing budgets were outranking him on Google for every service keyword in every surrounding town.
What I Built
- Lead capture API — Cloudflare Pages Function that receives form submissions, validates inputs, traps honeypot spam, rate-limits by IP (5/hour), stores leads in KV (90-day retention), and fires instant notifications via push + SMS
- SMS notification pipeline — broadcasts to 8 US carrier email-to-SMS gateways (carrier unknown, so hit them all) via self-hosted mail relay. Aaron gets a text within seconds of every lead submission.
- 7 city-specific SEO pages — Caledonia, Prospect, Waldo, Green Camp, Cardington, Mount Gilead, LaRue. Each with unique content, Service+FAQPage JSON-LD, city-specific FAQ, lead capture form, and service area footer links.
- 4 service landing pages — furnace repair, AC repair, heat pump installation, HVAC maintenance. Each with OfferCatalog schema, 5 FAQs, and inline lead capture.
- Financing page — targeting "HVAC financing Marion OH" with cost comparison table, testimonials, and lead form
- 28 total pages — all with lead capture forms, consistent design, GeoCoordinates schema, and security headers. Zero-server infrastructure at $0/month hosting cost.
Tech Stack
Cloudflare PagesPages FunctionsKV StorageEmail-to-SMSSelf-Hosted MailJSON-LD Schemantfy Push
Read the technical deep-dive →
See the infrastructure architecture →