A running list of side projects, prototypes, and experiments. Most live on GitHub. Browse by tag or subscribe to the RSS feed.

Agentic Expense Reporting System

Stepping in as the product leader to modernize a legacy manufacturer's expense process — turning a fast-but-risky agentic system into one that's actually safe to put in front of employees and finance.

The problem

An AI system that photographs receipts and auto-approves reimbursements is fast — but fragile in ways that cost real money. A single unflagged hallucination by the extraction agent writes a wrong number into the spreadsheet, and it cascades silently: the computation agent trusts it, the decision agent trusts that, and the company overpays or underpays with no component knowing anything went wrong. Auto-approving everything also ignores the parts a business actually cares about: high-value sign-off, fraud risk, and — once you expand into the EU — data-privacy obligations on personal and payment data.

📸 Receipt photo capture
🔍 Extraction Agent 1 · confidence gate
🧮 Compute Agent 2 · policy · VAT
⚖️ Decision Agent 3 · approve / reject
👥 Approval tiered · 1 or 2 approvers
💳 Payment EU · DPA-bound
Impact

Redesigned the system across six product decisions so it can ship without those risks. A confidence gate blocks low-confidence extractions before they reach the spreadsheet, killing the hallucination cascade at its source. A tiered approval gate routes by stakes — auto-pay under $500, one human approver above it, and two approvers from two different departments for high-risk expenses (large amount, reporting-line conflict, or high-fraud category). EU privacy controls add encryption in transit, EU-hosted retention-limited storage, minimal-field reads, and a no-training DPA clause on the third-party LLM. A final cost analysis shows where the agents' running costs actually concentrate. Delivered as a runnable Python package with 24 tests that pass with no API key and no network — so the design is demonstrably real, not just a diagram.

View on GitHub →

Weekly Multi-Agent Reports

Weekly manufacturing reports written by an AI and fact-checked by a second AI — running locally on a laptop, no cloud infrastructure to set up.

The problem

Customer-facing reports need to be factually right. But LLMs hallucinate — they'll confidently invent numbers, twist methodology, or call trends that aren't there. Most pipelines write the report first and (maybe) check it after — which is too late: once a wrong number is in front of a customer, the trust hit is irreversible.

📊 Raw Data weekly batch
🧮 KPI Pipeline Python · self-audit
✍️ Writer Agent Sonnet · writes
Verifier Agent Haiku · checks
📄 HTML Report charts + narrative
Impact

Weekly reports run on autopilot, with a separate AI agent sitting between the writer and the published page. It checks every numeric claim against the underlying data before any HTML is rendered — bad claims trigger an auto-fix or halt the run, so wrong numbers don't reach customers. Built end-to-end with Claude Code and runs entirely on a laptop, so there's no cloud orchestration to maintain. Each report covers loss rate per productive hour, broken down by shift and by weekday, with the per-shift trend over time. It splits losses by cause (machine wait, material, operator absent, rework, changeover) and surfaces the LLM's top three suggested actions for the coming week.

View on GitHub →

AI Manufacturing Digest

A daily news bot for AI in manufacturing — read everything for me, every morning.

The problem

To stay current on how AI is being used in factories, you need to read 20+ blogs and newsletters every day. Most of what's out there repeats the same story across sites, or is just company marketing dressed as news. It takes too much time, and the real signal gets lost in the noise.

📰 RSS Feeds 22+ sources
🔍 Filter dedupe + relevance
LLM OpenRouter
📋 Notion DB daily digest
Impact

Reading 20+ sites used to take a real chunk of the morning, and most of what I read was repetition or marketing. Now a quick scan of one curated Notion page surfaces only the stories that actually move the field — real deployments, real outcomes. Over time, the database becomes a searchable archive of AI-in-manufacturing trends I can mine when client conversations or product decisions need recent evidence.

View on GitHub →