
Marketing Operations | GTM Operations | SEO/AEO
Building the systems that connect content, data, and revenue.
10 years ago I started in SEO, working across technical search, content strategy, and organic growth. That gave me a practical understanding of how people discover, evaluate, and convert through content.Over time, my work moved deeper into the revenue engine: lead enrichment, routing logic, attribution, automation, and the integrations between HubSpot, Salesforce, and the broader GTM stack. At Human Interest, I built systems that improved lead visibility, accelerated sales workflows, and tied marketing activity back to pipeline and ARR.I’m looking for roles where I can own marketing infrastructure, improve GTM systems, and build automated workflows that make teams faster. I’m especially interested in AI-powered automation across Marketing Ops, GTM Ops, and SEO/AEO, where better systems can improve how teams capture demand, route it, measure it, and act on it.
I built a full-stack RAG application to transform my grandfather's 200-page WWII memoir into an interactive conversational experience for his 103rd birthday.
RAG Engine: LlamaIndex and FastEmbed for local retrieval; GPT-4o for summarizing our response.
Custom Voice: ElevenLabs voice cloning of my grandpa's voice for immersive book excerpt readings.
Architecture: Decoupled FastAPI backend on Render with a responsive Vercel frontend.
Stack: Python | LlamaIndex | GPT-4o | ElevenLabs | Vercel | Render

I built an end-to-end n8n workflow that leverages Apify to mine LinkedIn job listings for growth signals at small plumbing businesses, then generates 1:1 personalized outreach.
Signal Capture: Apify's LinkedIn Jobs Scraper pulls plumbing companies hiring for Sales, Dispatch, or Operations roles—a proxy for shops outgrowing their manual processes.
Qualification & Contact Resolution: Rule-based filters narrow to US-based shops under 200 employees, then a GPT-4o-mini classifier buckets each job description as High Intent, Low Intent, or No Match; qualified leads pass to AnyMailFinder's /decision-maker endpoint to resolve verified Sales contacts via webhook.
Research-Driven Personalization: Perplexity sonar-pro runs a per-company query prioritizing geographic expansion, public recognition, and team growth, then GPT-4o converts that structured JSON into a single observational opener with cascading fallback logic.
Stack: n8n | Apify | AnyMailFinder | Perplexity Sonar | OpenAI GPT-4o


I built a fully self-hosted enrichment proof-of-concept that auto-researches new HubSpot contacts and writes structured intelligence back to the record. Deployed end-to-end on Railway.
Infrastructure: Railway's "n8n with workers" template provisions a four-service production architecture (n8n Primary, Worker, Postgres, Redis).
Orchestration: n8n listens for HubSpot contact.creation webhooks, fetches the full record, calls the Python service and writes results back via the native HubSpot node.
Enrichment: A stateless FastAPI endpoint runs a domain-aware Perplexity sonar-pro query to research the partner's services and territory, returning a normalized summary and fit score.
Next iteration: a human-in-the-loop review queue before CRM write-back to catch hallucinated summaries and edge-case misclassifications before they hit the source of truth.Stack: Self-hosted n8n on Railway | Python | Perplexity Sonar | HubSpot
I built a Streamlit tool that shows how Gemini expands a search query, which sources it cites, and how often a target domain appears in AI-generated answers.
Query Fan-Out: Runs the same query multiple times through Gemini with Google Search grounding to capture hidden subqueries and citation patterns.
Share of Voice: Labels cited URLs as Target or Other, then calculates how much visibility a chosen domain has across Gemini’s cited sources.
Content Gap Analysis: Compares top-cited competitor pages against the target page using embeddings to surface on-page opportunities.
Stack: Python | Streamlit | Gemini API | Google Search Grounding | pandas | sentence-transformers | scikit-learn

A two-part n8n workflow to handle post-event lead intake. Automatically enrich prospects against ICP criteria leveraging Firecrawl. Sends enriched prospects to Google Sheets for a Rep to provide a HITL review. The user can choose which prospects to add to HubSpot through an App Script integration.
| Category | Brands |
|---|---|
| B2B SaaS | Botify, Human Interest |
| Retail & Consumer Goods | Bare Minerals, P&G, Walgreens, Walmart |
| Fashion & Apparel | Bonobos, Guess Jeans, Lucky Brand Jeans |
| Financial Services | Credit One Bank, ID.me, Visa |
| Media & Entertainment | DC Universe, Discogs |