BestSearch

Docs

What we're building, how it works, and how each AI engine actually decides who it recommends. We keep adding to this as we ship.

What is BestSearch

BestSearch is an AI visibility intelligence platform. As people research using Perplexity, ChatGPT, and Gemini instead of Google, brands need a layer beyond traditional SEO to know:

  • ·Are we appearing in AI answers?
  • ·How often are we recommended, and where do we rank vs competitors?
  • ·Which sources do AI models cite in our category?
  • ·Is our AI visibility improving over time?

How a scan works

1. InputYou enter a query — e.g. "best veg restaurant in Punjabi Bagh Delhi".
2. ExpandWe generate up to 15 intent-based query variations: commercial, comparison, local, review, list.
3. ScanEach variation runs across your selected engines (Perplexity, GPT-4o mini, ChatGPT search, Gemini, Claude).
4. ExtractEntities are parsed from each response — JSON-first, falling back to numbered/bullet lists.
5. ScoreWe compute per-engine leaderboards plus a Global score and a Consensus score, then store and display them.

Scoring methodology

Rank weight

Each entity gets a weight by rank: rank 1 = 10 pts, rank 10 = 1 pt.

Global score

Σ rank_weight + per-engine bonus (Perplexity +2, OpenAI/Gemini +1).

Consensus score

mentions × engines_count × avg(rank_weight) — rewards entities every engine agrees on.

Volatility

Top-3 rank variance across the last 5 scans of the same query → Stable / Moderate / High volatility.

How each AI engine works

Perplexity

Perplexity runs a live web search for each query, reads the top results, and summarises them. If you're not in the pages it retrieves, you don't exist to it.

Get listed on the domains Perplexity cites — Sources tracks exactly which ones, per query.

GPT-4o mini (OpenAI)

GPT answers from memory baked in during training — it has no internet access in this mode. Brands appear because they were mentioned repeatedly in Wikipedia, news archives, and high-authority content before the training cutoff.

Long-term authority content (Wikipedia, press, comparison articles) moves this engine, not this week's blog post.

ChatGPT (search)

Same GPT-4o mini model, but with OpenAI's Responses API web-search tool enabled — effectively ChatGPT's browse mode. It searches live and returns real citation URLs, like Perplexity.

Behaves like a search engine crawl target, not a training-data target — recent, indexable pages matter here.

Gemini

Gemini grounds its answers in Google's knowledge graph and, for some queries, real-time Search. Brands show up because they have a verified Google Business Profile, a Wikidata entity, and structured markup on their site.

Structured data (schema.org, Business Profile, Wikidata) is the highest-leverage fix for this engine.

Claude

Claude answers from parametric memory built during training. It favours authoritative, factual web content — Wikipedia, comparison articles, and curated long-form pieces on high-authority sites. No live web access in standard mode.

Same lever as OpenAI's base model: durable, citation-worthy content on sites Claude's training data trusts.

AI bot traffic

AI vendors send crawlers to your site for different reasons. LLM Analytics classifies every hit into one of three categories:

Training bots

Crawl content for potential use in training AI models (e.g. GPTBot, ClaudeBot).

Search indexing bots

Index your site so an AI can cite it in a live search answer (e.g. OAI-SearchBot, PerplexityBot).

User action bots

Visit a specific page only because a real user's prompt required it — a live citation signal (e.g. ChatGPT-User, Perplexity-User).

Full reference table with every known bot is in LLM Analytics.

Reddit Marketing

Your buyers are already discussing your category on Reddit. Reddit Marketing surfaces those threads, scores which subreddits are worth your time, and drafts a reply for you to review — it never posts anything on its own.

1. SearchEnter a brand or keyword. We search Reddit for matching threads from the last month — title, subreddit, upvotes, comment count, and an excerpt.
2. Community Fit ScoreThreads are grouped by subreddit and scored on engagement (upvotes + comments, weighted toward real discussion) and how often your terms come up there.
3. Reply draft (on demand)Click "Suggest a reply" on any thread to get an AI-drafted comment. The prompt requires the model to sound like a real Redditor and disclose brand affiliation in-line if it mentions you — never pose as an unaffiliated stranger.
Why read-only, by design

There is no submit/comment/vote scope anywhere in this feature — lib/reddit/client.ts only ever calls Reddit's GET endpoints. Reply drafts are exactly that: drafts. Undisclosed self-promotion is against Reddit's rules and is how "marketing tools" turn into astroturfing bots — the prompt is written to avoid that by default.

Building this in the open — full architecture, the fit-score heuristic, environment variables, and known limitations are tracked in md/reddit-marketing/engine.md, updated as it grows. Try it at Reddit Marketing.

Dashboard sections

HomeQuick stats — visibility score, scan count, pending actions, plan.
OverviewRun a scan, see global/per-engine/consensus leaderboards, keyword intelligence, and citation gaps.
ActionsEvery GEO recommendation you've tracked across all scans — mark done, filter by brand.
SourcesDomains AI models cite in your category, aggregated across your scan history.
Web AnalyticsPrivacy-first human visitor analytics for a site you embed the tracking snippet on.
LLM AnalyticsWhich AI bots (training / search indexing / user action) are crawling your site.
Reddit MarketingSearch Reddit for threads relevant to your brand, see which subreddits are worth engaging with, and draft (never auto-post) suggested replies.

Changelog

2026-07-29
  • ·Rebuilt the dashboard around a persistent sidebar: Home, Overview, Actions, Sources, Web Analytics, LLM Analytics, Reddit Marketing.
  • ·Actions and Sources are now backed by real scan history, not just the last scan in memory — citations are persisted per scan result.
  • ·Added Web Analytics and LLM Analytics: a public tracking snippet (`/track.js`), an ingestion endpoint, and bot classification (training / search indexing / user action) for OpenAI, Anthropic, Perplexity, Google, and Bing crawlers.
  • ·Shipped Reddit Marketing v1 — read-only Reddit search, a community fit score heuristic, and AI-drafted reply suggestions with built-in disclosure guidance. See `md/reddit-marketing/engine.md` for the full spec.
  • ·Navbar simplified to a single "Get Started" button; dashboard no longer requires login.
  • ·Landing page: replaced screenshot placeholders in "GEO in the Wild" with in-house data visuals, rebuilt the hero mock as HTML/flexbox instead of hand-placed SVG coordinates.
  • ·This page.

This log grows as we ship — check back for what's new.