Lifecycle email architecture
A 24-email always-on sequence, six tracks that branch on behaviour, and the rules that stop them talking over each other.
Read the case studyCase studies
Two kinds of thing. Products I built and shipped, and marketing systems I designed and ran inside a team. Both are here because the second kind is what most of the job actually is.
Systems in production
A 24-email always-on sequence, six tracks that branch on behaviour, and the rules that stop them talking over each other.
Read the case studyReading a whole portal through the API to find the four ways automated email breaks, then ranking the cleanup.
Read the case studyA weekly scan that queues content refreshes and re-measures every one of them at four and eight weeks.
Read the case studyCampaigns split by intent, one variable changed per test, and every lead followed through to whether it was real.
Read the case studyMeta Conversions API with pixel deduplication on my own funnel, and closed deals pushed from HubSpot back to Google Ads.
Read the case studyOverwriting hand-typed source fields with tracking data, then joining closed revenue back to first touch.
Read the case studyFiltering non-buyers out of paid search using rules tested against six months of known outcomes.
Read the case studyEight channels, one script, a written summary, and a deck that builds itself on a schedule.
Read the case studyA terminal dashboard over five systems that hands its context straight to an AI coding session.
Read the case study40 hours of weekly production down to 8 across three brands, with a human approval gate in the middle.
Read the case studyClient build. Job ads and community posts read as buying signals, with every message approved by a person.
Read the case studyBy role
Email and lifecycle owned end to end, plus the CRM data and reporting underneath it.
See the role pageSearch experiments turned into scheduled workflows, with the data pipelines and interfaces around them.
See the role pageAd platform automation, attribution plumbing, and models shipped with evals and fallbacks.
See the role pageThe shared platform underneath growth squads: tracking standards, attribution pipelines, and models wrapped for production.
See the role pageGenerative AI asset production at volume, with the approval gate and tagging that keep it usable.
See the role pageBuilt and shipped
Monitoring for GA4 and Search Console that turns changes in performance into work a team can pick up.
Read the case studyBuyer-intent capture, scoring, response drafting, and attribution for niche B2B teams.
Read the case studyAn open-source, encrypted personal memory system built in Rust.
Read the case studyNote
The systems case studies describe methods and structures. Employer figures are rounded or given as change rather than absolute values. Account identifiers, campaign names, email copy, and anything about a named contact or deal are left out.