Conflict Checker: SEO Cannibalization Detector
Self-Built Tool · Python · Next.js · pgvector · RAG
8 hrs to 30 secRAG + pgvector0-100% conflict score
- Situation: On a large content operation, two pages targeting the same intent quietly compete and split their own rankings. Catching that by hand meant a manual audit that could eat close to a full working day, so in practice it often got skipped.
- Task: Remove that bottleneck so the team could check any new topic for overlap in seconds, before publishing, without waiting on a manual review.
- Action: Built Conflict Checker, an in-house tool on Next.js and Neon Postgres. You paste a URL or topic, an LLM extracts the keywords and embeds them, and a pgvector cosine search runs across the existing corpus to return a 0 to 100% conflict score with a suggested resolution. It is one of roughly 40 marketing tools shipped with Python, Next.js and Claude when the off-the-shelf option was too slow, too expensive or did not exist.
- Result: An audit that used to take about eight hours now takes around 30 seconds, so overlap gets caught before publish instead of after rankings are already split. It reflects the way I work: a marketer who can build the fix rather than wait on it.