Case Studies

Finding the AI Citation Gap

AI Visibility Audit

The Problem

A brand can hold a strong Google ranking and still be completely absent when an AI assistant answers the same buying question — because AI citation selection runs on different signals (structured data, comparison content, third-party review presence) than classic keyword ranking. Most brands have no systematic way to check whether this is happening to them.

What I Built

A repeatable, 9-step audit: define the brand and its real buying queries → classify search intent → query ChatGPT and Perplexity → extract and normalize every cited source → compare results → rank the visibility gaps → recommend specific content for each gap → sequence it into a dated 30-day plan. Every step is templated, not hardcoded to one brand — swapping inputs is the only change needed to re-run it.

Running It for Real

I tested the audit on two brands at opposite ends of AI-search maturity, to check the method actually generalizes rather than just fitting one story:

FlyRank (an AI-search-visibility platform for ecommerce) — Testing two commercial-intent queries, I found FlyRank confirmed absent from the two roundups that match its exact category. I didn't stop at the search snippet — I pulled the full article text on both to rule out a truncation artifact before calling it a real gap. The bigger finding: FlyRank's existing directory listings (Crunchbase, Relve, Software Advice) categorize it against generic AI content-writing tools, not against the AI-search-visibility competitors it actually competes with for this buying query — meaning its existing SEO equity doesn't transfer to the query that matters most.

Semrush (an established SEO platform) — the control case. Across two different query angles, Semrush showed strong, independent, redundant citation presence, consistent with its incumbent position. No gap found — which matters, because it shows the audit doesn't manufacture problems where none exist.

The Output

A ranked gap list and a dated 30-day content plan for FlyRank: correct the category tags on Capterra/SaaSWorthy/G2 first (fastest, highest-leverage fix), then outreach to the two roundups it's confirmed absent from, then publish an owned comparison page with schema markup.

What This Run Didn't Prove

This environment had no direct API access to ChatGPT or Perplexity, so live web search was used as a documented proxy — a reasonable substitute since both engines draw heavily on live web results, but not a literal capture of their output. I tested two queries per brand, not the full 3–5 the method specifies. Both limits are stated here, not smoothed over, because a method that only holds up when I don't mention its limits isn't one I'd trust either.

Find an Untapped Channel

FlyRank Internship — Channel Audit

Problem

FlyRank needed marketing channels it wasn't using yet. I went in thinking this was about traffic — new places FlyRank's audience already spends time. My top pick ended up being justified more on credibility than traffic. I noticed that gap writing this up, not while I was working.

What I Did and Decided

I brainstormed channels with Claude. Early on, Claude told me FlyRank wasn't active on G2. That was wrong — FlyRank already had a claimed G2 profile with zero reviews. That mistake changed how I worked: from then on, I pressure-tested every claim instead of accepting confident-sounding answers, and had Claude verify against live web sources before I trusted anything.

Where my judgment stopped and Claude's started: Claude proposed the final ranking and the reasoning behind it. I didn't evaluate the ranking criteria myself — I accepted it because the reasoning and verification held up. What I actually decided was the process: verify everything, trust nothing on tone alone.

What Came of It

Verifying every claim didn't feel like it slowed me down — it made the deliverable accurate instead of confidently wrong. I submitted it. No feedback yet.

What I'd Do Differently

Verify from the start, not just after catching one mistake partway through.

A screenshot of the underlying analysis (Power BI dashboard) is not embedded here yet — noted on the "still ugly" list rather than left unmentioned.