projects · marketing automation lab

Systems currently in the build.

Everything here is marketing automation I'm actively running, piloting, or building right now, and each one was born from a bottleneck I hit in client work. Status badges are honest: production means it runs unattended on real accounts, pilot means one account is proving it, building means the repo is open on my other monitor.

LeadLens: AI lead enrichment & scoring for HubSpot

in production

Inbound leads used to wait while someone googled the company. LeadLens intercepts every new HubSpot contact, has Claude research the firm (site, role, firmographics, buying signals), writes a structured summary to the record, and scores it against the client's ICP, all before a human ever opens the CRM. Sales gets a briefed, ranked queue instead of a raw list. Running on 2 consulting retainers.

4 min → 20 sec
Research time per lead
100%
Inbound leads enriched
+24%
MQL→SQL on scored queues
Claude APIHubSpot APIMakeLead scoring

Creative Circuit: automated ad testing pipeline

in production

Structured experimentation dies of admin overhead, so I automated the admin. Creative Circuit takes a variant matrix (hooks × formats × offers), launches the test cells through the Meta API, monitors spend and results against pre-registered thresholds, auto-pauses losers once significance criteria are met, and logs every outcome to a running test ledger. The 38% win rate on my consulting retainers comes off this rig.

9+/qtr
Tests per account
−31%
CPA on pilot account
6 hrs/wk
Test admin eliminated
Meta Marketing APIMakeGoogle Sheets ledgerPre-registered thresholds

Sentry: spend & anomaly Slack bot

in production

Dashboards are pull; problems need push. Sentry pulls GA4 and ad-platform data daily, runs simple z-score anomaly detection on spend, CPA, CTR and conversion rate, and posts a plain-English digest to Slack: quiet when things are normal, loud when they aren't. It flagged a runaway campaign within 4 hours of a bid-strategy misfire, capping the damage at a fraction of what a weekly review would have caught.

~$3.8K
Overspend prevented, one catch
15 min → 0
Daily reporting labor
4 hrs
Anomaly-to-alert time
GA4 APIGoogle Ads APIPythonSlack webhooksZ-score detection

Winback Engine: churn-prediction email automation

pilot · 1 account

Most win-back flows fire on a dumb timer. This one fires on risk: a SQL + Python model scores every customer's churn probability from order recency, frequency and category patterns, then pushes risk tiers to Klaviyo, where tiered flows escalate from a nudge to an offer only as the risk justifies the margin cost. Discounts go to customers who actually need convincing.

14%
Lapsed customers reactivated
$9.6K
Incremental revenue, pilot quarter
3 tiers
Risk-matched offer depth
SQLPythonKlaviyo APIRFM modeling

Tagworks: UTM governance & link factory

building

Attribution dies one rogue link at a time. Tagworks is a Slack slash command that builds campaign links from a locked taxonomy, with source, medium and campaign values validated against an allowlist and no free-typing, then logs every link to a central registry. The pilot client went from 71% to 100% attribution coverage in GA4, and nobody has shipped an untagged link since. Next up: a Chrome extension for the same factory.

71% → 100%
Attribution coverage
0
Rogue tags since rollout
1 cmd
Slack-native workflow
Slack appGTMUTM taxonomyGA4

This website: a living instrumentation lab

in production · you're in it

The portfolio doubles as a testbed: a pre-registered A/B test on the hero headline, a client-side audience segmentation engine, UTM-aware personalization, consent-mode gating, and an on-page console narrating every dataLayer event as it fires. New automation patterns get prototyped here before they touch a client account. The exit popup you may have met is the win-back trigger pattern from the Winback Engine, demonstrated live.

12
Documented dataLayer events
6
Behavioral segments scored live
1
Experiment running right now
GTM-native dataLayerA/B testingSegmentationConsent Mode pattern
want one of these in your stack?

Every project here started as someone's bottleneck.

Get in touch →