Case Study / CiteGap

CiteGap for Peec AI

A logic-first MVP that turns AI citations into actionable visibility opportunities. Built to demonstrate product understanding of the AI search analytics space.

Type MVP / Case study Focus Citations → gaps → actions Stack Next.js · TS · SQLite/Prisma Input CSV + seeded DB Output Founder-ready memo export
TL;DR I modeled AI answers as structured data (prompts, answers, citations, brand mentions), then defined a defensible “citation gap” and shipped a minimal report UI + export so a founder can make decisions in under a minute.

Why I built this

In AI search, the answer is the surface layer. The real “ranking layer” is the set of sources/domains models retrieve and cite. If a competitor is showing up in AI answers, they’re usually present in the citation ecosystem that supports those answers.

I built CiteGap to answer one practical question for Peec AI: Where are competitors getting cited from that Peec isn’t? And what should we do next?

What I wanted to demonstrate

  • Understanding of the AI search analytics / GEO space
  • Ability to scope a tight MVP with a clear definition of “success”
  • Turning messy AI outputs into structured analytics + an action plan

What I intentionally did (not) build

  • No scraping or auto-querying AI engines
  • No heavy LLM extraction pipeline
  • No authentication, orgs, permissions, billing
  • Just the smallest workflow that produces a decision-ready report

The problem

Founders and marketers can’t reliably “influence the AI answer” directly but they can influence the sources that shape the answer. What’s often missing is diagnosis: identifying which domains are driving competitor visibility and where the brand is absent.

MVP Job-to-be-done
Identify citation gaps
Primary output
Gap report + export
Decision speed
< 1 minute to insight

What I built (MVP workflow)

CiteGap takes a small dataset (prompts + AI answers + citations) and produces three views: Top sources, gaps overall, and gaps by competitor + a memo export.

Inputs

  • Prompt set (tagged by intent: best_tools, alternatives, comparison, how_to)
  • AI answers (one engine is enough for an MVP)
  • Citations / sources (URLs → normalized domains)
  • Brand mentions per answer (manual tagging in MVP)

Outputs

  • Top cited domains in the category
  • Citation gaps for Peec AI
  • Gaps by competitor (filterable)
  • Recommendations for top gaps (manual mapping)
  • Markdown export (founder-ready memo)

How “citation gap” is defined

A domain is a gap surface when it appears in citations for answers where a competitor is mentioned and Peec AI is not mentioned.

Gap definition (simple + actionable) competitor mentioned + Peec not mentioned + domain cited → candidate citation gap

This definition is intentionally minimal: it maps directly to what you’d do next (improve presence on the domains that repeatedly shape competitor inclusion).

Data model (designed for analytics)

I modeled answers as structured product data rather than unstructured text so the system can answer analytics questions with simple queries.

Core entities

  • Prompts (intent-tagged)
  • Answers (per prompt & engine)
  • Citations (URLs + normalized domains)
  • Brand mentions (manual tags per answer)

Quality & action layers

  • Domain classification (type + risk flag)
  • Recommendations (domain → action + rationale)
  • Exportable memo for quick sharing

Report preview

The founder should immediately see: “Where do we show up? Where don’t we? What do we do?”

Top cited domains

Domain Type Citations Prompts covered Risk
searchenginejournal.com SEO News 8 8 OK
peec.ai Vendor Site 6 6 OK
moz.com SEO Blog 5 5 OK

Citation gaps for Peec AI

Gap domain Type Answers (competitor present, Peec absent) Risk Recommended move
searchenginejournal.com SEO News 4 OK Contribute expert articles on GEO/AEO trends and AI search visibility
g2.com Review Site 4 OK Create and optimize G2 profile with customer reviews, case studies, and feature comparisons
reddit.com Community 2 OK -

What this showcases

Product thinking

  • Scoped a tight MVP around a defensible definition
  • Designed a data model built for analytics queries
  • Optimized for “time to insight” and shareable output

Analytics mindset

  • Modeled activation/engagement via report actions
  • Separated signal (sources) from noise (answer text)
  • Added “risk flags” to avoid low-quality tactics
Activation
Upload/seed → report generated
Engagement
Filter gaps · drilldown · export
Retention proxy
Re-run audit monthly

What I’d build next (if this lived inside Peec)

The MVP proves the concept. If integrated into Peec, I’d iterate in this order:

Iteration 1: Better prioritization

  • Prompt clustering + intent weighting (buyer-intent higher weight)
  • Opportunity score: frequency × intent × trust
  • Show “quick wins” vs “long-term” surfaces

Iteration 2: Workflow integration

  • Turn gaps into tasks (update listing / pitch inclusion / publish neutral benchmark)
  • Track impact: does Peec appear more after closing a gap?
  • Shareable client-ready reports
Product idea Add a “Citation Gap Opportunities” panel: competitor-only source domains + recommended safe actions + risk flags, to move users from tracking → improving.