Portfolio work

What GitHub Doesn't Show: how I frame measurement and ship GTM workflows.

On this page you should see two things: judgment on marketing analytics problems and how I turn repeat GTM work into AI-assisted systems with clear human gates.

How to read this page

  • Marketing analytics — problem framing and decision narratives.
  • Agentic analytics — stage maps and repos. Each card links to code when it exists.

Marketing analytics

From messy inputs to a weekly decision.

These pieces show how I define metrics, lay out a Tableau dashboard, and surface the quick insights and next tests leadership actually uses to make strategic media decisions.

Agentic analytics

Resilient, repeatable GTM loops that drive value and keep learning.

SEO, paid social, competitor monitoring, outbound, and governed metrics exposed to AI tools. Each loop has explicit stages, human review on high-risk steps, and a feedback step so the next run is better than the last.

  1. Step 1Paid media + SFDC sources
  2. Step 2dbt mart
  3. Step 3MetricFlow Semantic Layer
  4. Step 4Claude via MCP

Output Plain-English CPL, ROAS, and pipeline reads that match reporting

Paid media + SFDC → dbt mart → MetricFlow Semantic Layer → Claude MCP.
Agentic analytics

Claude on dbt Mart Tables

Media + CRM data staged in dbt mart tables. MetricFlow Semantic Layer defines metrics like CPL and ROAS once. Claude answers executive questions in plain English through MCP, in minutes instead of hours or days.

Problem
Leadership asks for CPL, ROAS, or pipeline in the meeting, then waits on exports while paid media, Salesforce, and web data get reconciled. Each request pulls analytics off their roadmap.
Approach
Model paid media and Salesforce in dbt (staging, intermediate, marts). Define CPL, ROAS, and spend once in MetricFlow's semantic layer. Connect Claude to those definitions through the dbt MCP server so ad-hoc questions return the same numbers as reporting.
Outcomes
Executives get answers in minutes on questions like "CPL by platform last quarter" or "campaigns with rising spend but flat pipeline." Ad-hoc volume drops, and analytics gets time back for roadmap work instead of spreadsheet rebuilds.
dbtMetricFlowClaudeMCPSQLSalesforcePaid MediaRedshift
Read the LinkedIn article
  1. Step 1Topic intake
  2. Step 2SERP research
  3. Step 3BriefHuman review
  4. Step 4Draft
  5. Step 5QAHuman review
  6. Step 6Publish

Output Deploy-ready article package with brief, draft, and QA notes

Simplified stage map for the public repo pipeline.
Agentic analytics

SEO Agent Pipeline

Ten-stage SEO pipeline: research, draft, QA, and publish steps with human-in-the-loop approval gates before anything ships.

Problem
SEO work stalls when research, briefs, drafts, and deployment live in different tools and nobody owns the handoffs.
Approach
Split the work into stages. Agents handle research and drafts and generate artifacts after each stage. Humans approve outputs before moving to the next stage and deploy. By staging each step, we never overwhelm Claude's context window.
Outcomes
Significantly increases velocity to publish high-ranking content while keeping brand voice and quality intact through human gates at brief and final review.
PythonClaude CodeSEOContent Pipeline
Open GitHub repo
  1. Step 1Name competitor
  2. Step 2Rival Ad Library pull
  3. Step 3AI + human review
  4. Step 4Ad CatalogHuman review

Output Brief-ready PDF, ad catalog with every rival asset, and tests to run on your ads

Competitor Ad Library → analysis → PDF + Ad Catalog (makometrics.com).
Agentic analytics

Mako Metrics: Meta Ads Competitor Spying

Competitor Meta ad research: AI reads a rival's public Ad Library, a human reviews the analysis, and you get a brief-ready PDF plus an ad catalog with their creatives, copy, and CTAs.

Problem
Teams need to study a competitor's live Facebook and Instagram ads before a creative brief, but scrolling Meta's Ad Library for one brand is slow and easy to misread.
Approach
The customer names the competitor on Stripe. We pull that brand's Ad Library, score creative and copy patterns, and a human checks the read before delivery. Within 24 hours you get a brief-ready PDF with scorecards, hook rankings, and test ideas, plus an ad catalog of every ad asset we found.
Outcomes
A shipped product with a simple checkout and a clear deliverable: a brief-ready PDF and an ad catalog your team can use before they write the creative brief.
PythonClaudeMeta Ad LibraryCompetitive IntelligencePDF ReportsNext.jsStripe
See how Mako Metrics works
  1. Step 1Sitemap crawl
  2. Step 2Diff new pages
  3. Step 3ICP score
  4. Step 4Rank & alertHuman review

Output Prioritized competitor changes with suggested responses

Monitor → score → alert flow.
Agentic analytics

Competitor Intelligence Agent

Scheduled monitoring of competitor sitemaps with ICP scoring and prioritized alerts for content and positioning shifts.

Problem
Competitor checks are ad hoc, so pricing, positioning, and new pages slip past until someone notices in a sales call.
Approach
Crawl on a schedule, diff new URLs, score relevance to ICP, and surface a short ranked list for marketing, sales, and product marketing.
Outcomes
Turns competitor moves into GTM action: a rival price increase becomes a head-to-head talking point for sales, feature or integration changes flag product opportunities, and marketing can lead messaging before rivals own the narrative.
PythonHermesAutomationCompetitor ResearchContent Strategy
Open GitHub repo
  1. Step 1Account research
  2. Step 2Fit scoring
  3. Step 3Draft cold emailHuman review
  4. Step 4Sequencer / CRM

Output Approved cold email copy and hooks per account

Account research → cold email draft → human send approval.
Agentic analytics

Agentic Cold Email Pipeline

Automated cold email prep: AI builds ranked account lists with firmographics, drafts personalized first lines and hooks, and SDRs review before anything hits the sequencer.

Problem
SDRs lose selling time to manual list building, account research, and first-draft copy, so cold email quality swings with whoever had bandwidth that week.
Approach
On a schedule, agents enrich accounts, score ICP fit, and draft cold email copy. SDRs get the list, firmographics, and draft angles in one place, edit what matters, and approve before export to the sending tool or CRM.
Outcomes
Saves SDRs hours of prep each week so they can focus on selling: automated lists and research, personalized cold email per account, and steadier reply potential without rebuilding the same work by hand.
PythonHermesCold EmailGTMAI Workflow
Open GitHub repo
  1. Step 1Account snapshot
  2. Step 2Creative test plan
  3. Step 3Launch variants
  4. Step 4Prune / scaleHuman review
  5. Step 5Learning log

Output Test plan, variant briefs, and scale/pause recommendations

Core loop from the Meta Ads Agent playbook.
Agentic analytics

Meta Ads Agent

Cursor playbook for Meta paid social: creative tests, copy variants, pruning, scaling, and a documented learning loop.

Problem
Paid social teams lose testing discipline when creative production and performance reporting are on different calendars.
Approach
Encode analysis, creative iteration, prune/scale rules, and post-test notes as repeatable agent steps tied to account structure.
Outcomes
AI speeds up creative and copy testing, surfaces patterns a human might miss in the account data, captures what each test learned, and pushes budget toward winners so paid social tactics improve cycle over cycle.
PythonCursorPaid SocialWorkflow Design
Open GitHub repo