I engineer AI agents and multi-system automations that run real business operations, safely.
Multi-stage AI pipelines, API integrations across CRMs, ad platforms and databases, and dashboards that report on all of it. Code handles the maths and the rules, AI handles judgment, a second model checks the first, and a human approves anything that touches a customer or a budget.
Real systems, real businesses
Each case study shows the problem, the architecture, the guardrails and what actually happened. Client names are anonymized.

AI outreach department with an AI auditor
Enrichment, website audits, AI-written emails checked by a second model, then human approval before anything sends.
Read case study →
AI ad analyst and Instagram assistant for a content team
The team DMs a competitor ad and gets the hook, structure and CTA back, filed to a swipe library. A Slack agent with 9 tools answers performance questions.
Read case study →
Google Ads audit engine on the Ads API
Read-only API sync, landing-page checks and 11 audit rules. It proposes fixes and tracks whether they worked.
Read case study →
Lead-to-review system in GoHighLevel
12 workflows from speed-to-lead to review requests. A2P approved after one rejection; homepage video 96% lighter.
Read case study →
Search ads, tracking and CRM rebuilt end to end
New search campaigns, a 104-page site, call tracking, CRM workflows and a past-customer reactivation campaign.
Read case study →
A self-auditing AI analyst with a kill switch
Nine data sources reconciled in code, structured AI outputs, nightly post-mortems, a weekly self-rewritten memory and an automatic kill switch.
Read case study →Demo builds you can look inside
Client work lives in client accounts, so I rebuild the same patterns on sample data, with diagrams, prompts, code and error handling you can inspect.
ServiceTitan daily ops briefing
Jobs, calls, estimates and memberships into a morning summary and an HVAC replacement-opportunity tracker. Zapier, code steps and Claude.
Open demo →GoHighLevel AI quoting agent
Claude reads the request, code sets the price from your rules, a human approves, and the quote lands in the pipeline.
Reporting inside each GHL sub-account
One dashboard template, scoped to each client and opened from the sub-account menu. No extra logins.
Email deliverability playbook
How I find why email lands in spam: authentication, reputation, bounces, list hygiene and warm-up.
How I build
The same questions come up in almost every brief. These are my standing answers, and every case study shows them in practice.
How do you stop AI from making things up?
Code does the maths and the rules; the model interprets. Outputs are validated against a schema, failures are retried with the exact error, quotes must exist in the source, and a second model checks the first before anything reaches a customer.
Where do humans stay in the loop?
Anything customer-facing or money-related waits for approval in Slack, Telegram or a dashboard. High-risk actions can only be approved by a person, never by another agent.
How do you handle rate limits and webhook failures?
Throttled requests with backoff on 429s, locks so a retry can never run a paid job twice, idempotency keys, signature checks on incoming webhooks, and failures logged with an alert instead of dropped.
How do you keep API costs down?
The cheapest model that does each step well, prompt caching, batch processing for work that can wait, and every call logged with its token count and cost.
How do you test before going live?
Draft versions, pinned test data, fixtures with known answers, and a dry run on real inputs. One system I built carries 1,191 automated checks.
What happens after you leave?
Plain-English team guides, a change log with a rollback path for every change, and a system your team can run without me.
More work
Secure Slack approval workflow
Slash command, modal and approve/deny cards with signature checks and replay protection. Attack-tested and ready to switch on.
n8n · Slack Block Kit · HMACScript-to-video with an approval gate
Four coordinated workflows turn an approved script into an avatar video. Nothing renders until a person approves.
n8n · HeyGen API · Slack · DriveAgent control plane and ops dashboard
Agents report runs and propose actions; high-risk approvals are human-only, enforced in the database. Built in 7 days.
Next.js · Supabase · 61 unit testsProposal agent with tap-to-submit
Scores new jobs against a rubric and drafts in my voice. Nothing submits without a tap, and job text is treated as untrusted input. Built; waiting on API approval.
n8n · MCP · Claude · TelegramGuardrailed brand-voice monitor
Flags evidence for voice updates from email. The model has no write access; privacy rules default to deny. Prototype.
n8n · Claude Haiku + Sonnet · SheetsFunnel attribution diagnostic
Found why a paid event funnel's channel reports were wrong (untagged traffic and a broken cross-domain handoff), built the UTM plan and a test plan for missing purchase events.
GA4 · Kajabi · ThriveCart · KeapAgency client onboarding
Standard onboarding, GoHighLevel builds and AI booking chatbots across a whole client book. Cut manual work by 50%+.
GoHighLevel · AI chatbots · SOPsReal-estate lead routing
Web forms, social DMs and missed calls mapped into CRM pipelines with tagging, routing and AI qualification.
CRM · AI qualification · routingCourse checkout to inbox
Purchase creates and tags the buyer, grants course access instantly and starts onboarding emails that land in the inbox, not spam.
ThriveCart · Keap · Kajabi · Zapier · SPF/DKIM/DMARCCoaching business automation
CRM, email and SMS sequences, lead distribution to sales, Stripe, Slack and Sheets integrations, reporting and A2P 10DLC compliance.
CRM · Zapier · Stripe · A2P 10DLCAI booking chatbots for trades
Conversational chatbots that qualify leads and book appointments for UK trades businesses, handed over with plain-language guides.
GoHighLevel · CloseBotSelf-hosted automation server
Docker n8n behind a tunnel, heartbeat monitoring and nightly encrypted offsite backups with a tested restore.
Docker · Cloudflare · Uptime Kuma · restic“…take a high-level idea and figure out the entire build path on his own… Any team looking to build real AI infrastructure — not just simple automations — would be well served by him.”
Have a system that half works? Let's find where it leaks.
Ontario, Canada · Eastern Time · working with US and Canadian teams.
Message me on Upwork