<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Charlie Graham</title>
    <description>The latest articles on Forem by Charlie Graham (@grahac).</description>
    <link>https://forem.com/grahac</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3401277%2F786533c7-7a4e-4685-9d8f-34cf8ab1ce50.jpg</url>
      <title>Forem: Charlie Graham</title>
      <link>https://forem.com/grahac</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/grahac"/>
    <language>en</language>
    <item>
      <title>Counting tokens is dumb. So we built a free metric for AI proficiency.</title>
      <dc:creator>Charlie Graham</dc:creator>
      <pubDate>Thu, 21 May 2026 21:07:15 +0000</pubDate>
      <link>https://forem.com/grahac/counting-tokens-is-dumb-so-we-built-a-free-metric-for-ai-proficiency-jhm</link>
      <guid>https://forem.com/grahac/counting-tokens-is-dumb-so-we-built-a-free-metric-for-ai-proficiency-jhm</guid>
      <description>&lt;p&gt;We’ve been trying to figure out a real answer to a question that keeps coming up: how do you measure whether someone is actually good at Claude Code, Codex, and the other AI coding tools? Not "do they use them," but how good are they at using AI.&lt;/p&gt;

&lt;p&gt;The first metric we looked at, like everyone else, was token usage. It’s the only number you can pull out of the box. Anthropic and OpenAI hand you token data in the console.  So token usage becomes an easy first answer.&lt;/p&gt;

&lt;p&gt;But obviously counting tokens sucks as a metric.&lt;/p&gt;

&lt;h2&gt;
  
  
  What we noticed when we looked at the actual sessions
&lt;/h2&gt;

&lt;p&gt;When we started reading session logs from people who were clearly good with these tools, and people who were clearly struggling, both groups burned tokens. Sometimes the strugglers burned more.&lt;br&gt;
A senior developer who has refined their workflow ships in 1 million tokens what a junior chews through 10 million on. The high-skill move is fewer turns, sharper prompts, smaller context windows, more planning up front.&lt;/p&gt;

&lt;p&gt;Rank by token spend and you end up rewarding the things that make people slower:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Padded context with files that aren’t relevant&lt;/li&gt;
&lt;li&gt;Brute-forcing with longer and longer prompts&lt;/li&gt;
&lt;li&gt;Staying in chat mode forever instead of building reusable workflows&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;On top of all this, once a company starts measuring token usage, the incentive flips from accidental to deliberate. If your performance review or “AI adoption KPI” depends on token counts, the rational move is to burn tokens on purpose. We’ve already heard about people writing scripts that loop the model on busywork just to pump their number. &lt;/p&gt;

&lt;p&gt;We’ve seen the same critique made about lines of code and commit counts. Volume isn’t skill. It just looks like it on a dashboard.&lt;/p&gt;

&lt;h2&gt;
  
  
  So we tried looking at something else
&lt;/h2&gt;

&lt;p&gt;Instead, we started watching for things you can read from local session activity that show how someone configured the tool, not how much they spent on it.&lt;/p&gt;

&lt;p&gt;Eight things kept clustering together. People with two of them usually had four. People with five usually had close to all of them.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Customization — CLAUDE.md, AGENTS.md, custom slash commands, hooks. How much did they shape the tool to their workflow, vs run defaults?&lt;/li&gt;
&lt;li&gt;Parallel Agents — Are they using multiple agents working at once, or one chat at a time?&lt;/li&gt;
&lt;li&gt;Background Work — Tasks delegated to run unattended, or babysitting every turn?&lt;/li&gt;
&lt;li&gt;Tool Breadth — To what degree do they have MCP servers, skills, plugins wired into the environment?&lt;/li&gt;
&lt;li&gt;Planning — Plan mode, structured /spec / /plan workflows, or jumping straight to file edits?&lt;/li&gt;
&lt;li&gt;Repetition — Skill breadth and skill depth, measured separately. A lot of people install skills they never actually use.&lt;/li&gt;
&lt;li&gt;Custom Skills — Written their own reusable workflows for things they do more than once?&lt;/li&gt;
&lt;li&gt;Multi-Tasking — AI treated as a team running in parallel, or as a single chat window?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Plus a few tool-specific ones we added later for Codex and Cowork.&lt;br&gt;
Each of these is observable from session activity. No self-report, no interview answer to game.&lt;/p&gt;

&lt;h2&gt;
  
  
  So we built a free metric
&lt;/h2&gt;

&lt;p&gt;We turned the framework into &lt;a href="https://www.aiqrank.com" rel="noopener noreferrer"&gt;AIQ Rank&lt;/a&gt;. AIQ Rank reads local session activity from whatever AI coding tools you’re using (Claude Code, Codex, Cursor, OpenCode, Cowork) and scores you 0-1000 across the eleven dimensions. Think of it as a credit score, but for AI fluency.&lt;/p&gt;

&lt;p&gt;We made it free. It runs locally — transcripts never leave your machine. You get a number, a per-dimension breakdown, and a profile URL to share if you want to.&lt;/p&gt;

&lt;p&gt;The score is the hook. The breakdown is the part that’s actually useful. When we ran it on ourselves the first time, the dimension that surprised us wasn’t a strength we expected. It was a weakness we hadn’t noticed.&lt;/p&gt;

&lt;h2&gt;
  
  
  What we’d suggest doing with it
&lt;/h2&gt;

&lt;p&gt;If you ran a quick sanity check on your team - top 10% by token spend, top 10% by AIQ Rank -  we suspect the overlap would be smaller than you’d expect. Some of the token-heavy people are still brute-forcing every problem in chat mode. Some of the lower-spend people quietly built skills, wired up MCPs, learned plan mode, and run parallel agents.&lt;/p&gt;

&lt;p&gt;That gap is the interesting part. Not because token spend is bad data, but because it’s a different question than “who’s good at this.”&lt;/p&gt;

&lt;p&gt;If you want to do this comparison across your own team, &lt;a href="https://www.aiqrank.com" rel="noopener noreferrer"&gt;AIQ Rank&lt;/a&gt; has private team leaderboards. Invite people and see a leaderboard for just your team including the skills used between them. Transcripts still never leave anyone’s machine.&lt;/p&gt;

&lt;h2&gt;
  
  
  What do you think?
&lt;/h2&gt;

&lt;p&gt;AIQRank is still a work in progress and we care constantly improving it.  Do you agree/disagree with these parameters?  Let us know what changes/improvements we should make and please try it out! &lt;/p&gt;

&lt;p&gt;Again you can get your score for free in 60 seconds from &lt;a href="https://www.aiqrank.com" rel="noopener noreferrer"&gt;aiqrank.com&lt;/a&gt;.  We’d love any constructive feedback!&lt;/p&gt;

</description>
      <category>ai</category>
      <category>programming</category>
      <category>claude</category>
      <category>openai</category>
    </item>
    <item>
      <title>7 Tools to Track AI Mentions in LLMs in 2025</title>
      <dc:creator>Charlie Graham</dc:creator>
      <pubDate>Tue, 12 Aug 2025 16:55:45 +0000</pubDate>
      <link>https://forem.com/grahac/7-tools-to-track-ai-mentions-in-llms-in-2025-11fm</link>
      <guid>https://forem.com/grahac/7-tools-to-track-ai-mentions-in-llms-in-2025-11fm</guid>
      <description>&lt;p&gt;You’ve built a powerful API, launched an open-source library, or founded a SaaS company. You've followed the playbook: written great docs, published tutorials, and engaged with the community. In the past, you'd track your success with web analytics, SERP rankings, and social media mentions. But the ground has shifted. Now, your potential users aren't just Googling—they're asking ChatGPT, Claude, and Perplexity for recommendations.&lt;/p&gt;

&lt;p&gt;How do you know if your brand, your product, or your code is being recommended in these new conversational search engines? Welcome to the new frontier of brand visibility. Tracking mentions within Large Language Models (LLMs) is a complex but critical task for any modern developer or tech company. This guide explores the problem and presents the top 7 tools and techniques to help you &lt;code&gt;track AI mentions&lt;/code&gt; and manage your brand's presence in this new ecosystem.&lt;/p&gt;




&lt;blockquote&gt;
&lt;h3&gt;
  
  
  Quick Answer: How Can I Track Brand Mentions in AI?
&lt;/h3&gt;

&lt;p&gt;Tracking brand mentions in AI requires a multi-faceted approach because LLM responses are not publicly indexed like web pages. The best methods include:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; &lt;strong&gt;DIY Scripting:&lt;/strong&gt; Use Python and official LLM APIs like OpenAI and Anthropic to build your own custom tracking solution for maximum control.&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Specialized AI Monitoring Platforms:&lt;/strong&gt; Use tools like &lt;strong&gt;RivalSee&lt;/strong&gt;, &lt;strong&gt;Otterly&lt;/strong&gt;, or &lt;strong&gt;Athena HQ&lt;/strong&gt; specifically built to query public LLMs at scale and analyze your brand's mention frequency and sentiment.&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Enterprise AI Monitoring:&lt;/strong&gt; For a broader view, enterprise platforms like &lt;strong&gt;Profound&lt;/strong&gt; and &lt;strong&gt;Scrunch AI&lt;/strong&gt; analyze vast sets of conversational data (from customer interactions to market trends) to provide high-level brand and market intelligence.&lt;/li&gt;
&lt;/ol&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  Why Is Tracking AI Mentions So Hard?
&lt;/h2&gt;

&lt;p&gt;Before we jump into the solutions, it’s essential to understand why this is a fundamentally different challenge than traditional SEO or brand monitoring.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;The "Black Box" Problem:&lt;/strong&gt; LLM responses are generated in real-time within a closed environment. Unlike a website, there's no public URL to crawl or index. The output is ephemeral.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Non-Deterministic Output:&lt;/strong&gt; Ask the same question twice, and you might get two different answers. An LLM's response can vary based on the conversation's history, model updates, and inherent randomness, making consistent tracking difficult.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Data Source Obscurity:&lt;/strong&gt; LLMs are trained on vast datasets from the public internet (like Common Crawl), books, and licensed data. Pinpointing the exact source that led to a specific mention is nearly impossible, making it hard to double down on what works.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Context is Everything:&lt;/strong&gt; A simple keyword search isn't enough. You need to understand the context. Was your API mentioned as a top solution, a buggy alternative, or a historical footnote? This requires sophisticated analysis beyond simple string matching.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These challenges mean that old tools and techniques are often insufficient. You need a new stack for a new era of search. This is where &lt;code&gt;AI mention tracking tools&lt;/code&gt; come in.&lt;/p&gt;

&lt;h2&gt;
  
  
  Top 7 Tools to Monitor Your Brand in LLMs
&lt;/h2&gt;

&lt;p&gt;Here’s a developer-focused breakdown of the best ways to &lt;code&gt;track brand visibility in large language models&lt;/code&gt;, from powerful dedicated platforms to hands-on DIY methods.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. DIY Python Scripts: The Hands-On Developer Approach
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Best for:&lt;/strong&gt; Developers who want maximum control, have a limited budget, and enjoy building their own tools.&lt;/p&gt;

&lt;p&gt;Before looking at paid platforms, many developers will instinctively ask: "Can I build this myself?" The answer is yes. This approach gives you complete flexibility to design queries and analyze results exactly how you want. The core idea is to use the official APIs from providers like &lt;a href="https://openai.com/blog/openai-api" rel="noopener noreferrer"&gt;OpenAI&lt;/a&gt; and &lt;a href="https://www.anthropic.com/product" rel="noopener noreferrer"&gt;Anthropic&lt;/a&gt; to ask questions and parse the responses for mentions of your brand.&lt;/p&gt;

&lt;p&gt;Here's a conceptual Python snippet using the &lt;code&gt;openai&lt;/code&gt; library:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;os&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;openai&lt;/span&gt;

&lt;span class="c1"&gt;# It's best practice to use environment variables for your API key
# from openai import OpenAI
# client = OpenAI()
# client.api_key = os.getenv("OPENAI_API_KEY")
&lt;/span&gt;
&lt;span class="n"&gt;openai&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;api_key&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;os&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;environ&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;OPENAI_API_KEY&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;check_ai_mention&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;brand_name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;query&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="sh"&gt;"""&lt;/span&gt;&lt;span class="s"&gt;
    Queries GPT to see if a brand is mentioned in the response.
    &lt;/span&gt;&lt;span class="sh"&gt;"""&lt;/span&gt;
    &lt;span class="k"&gt;try&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="n"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;openai&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;chat&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;completions&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;create&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
            &lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;gpt-4-turbo&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="c1"&gt;# Or another model of your choice
&lt;/span&gt;            &lt;span class="n"&gt;messages&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;
                &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;role&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;system&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;content&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;You are a helpful assistant.&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;
                &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;role&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;user&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;content&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;query&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
            &lt;span class="p"&gt;],&lt;/span&gt;
            &lt;span class="n"&gt;temperature&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mf"&gt;0.7&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="n"&gt;max_tokens&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;250&lt;/span&gt;
        &lt;span class="p"&gt;)&lt;/span&gt;

        &lt;span class="n"&gt;response_text&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;choices&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="n"&gt;message&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;content&lt;/span&gt;
        &lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;--- Query: &lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;query&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt; ---&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Response: &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;response_text&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

        &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;brand_name&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;lower&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;response_text&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;lower&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt;
            &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="bp"&gt;True&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;response_text&lt;/span&gt;
        &lt;span class="k"&gt;else&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
            &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="bp"&gt;False&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;response_text&lt;/span&gt;

    &lt;span class="k"&gt;except&lt;/span&gt; &lt;span class="nb"&gt;Exception&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;An error occurred: &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="bp"&gt;False&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nf"&gt;str&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="c1"&gt;# --- Example Usage ---
&lt;/span&gt;&lt;span class="n"&gt;my_brand&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;PostHog&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt; &lt;span class="c1"&gt;# Let's track an open-source tool
&lt;/span&gt;&lt;span class="n"&gt;queries_to_run&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
    &lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;What are the best open-source alternatives to Google Analytics?&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;How can I implement product analytics in my web app?&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Compare PostHog vs. Mixpanel.&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
&lt;span class="p"&gt;]&lt;/span&gt;

&lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;q&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;queries_to_run&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="n"&gt;mentioned&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;text&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;check_ai_mention&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;my_brand&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;q&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;mentioned&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;✅ SUCCESS: &lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;my_brand&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt; was mentioned!&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="k"&gt;else&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;❌ FAILED: &lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;my_brand&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt; was not mentioned.&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Challenges with the DIY Approach:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Cost &amp;amp; Scale:&lt;/strong&gt; API calls, especially to advanced models, get expensive quickly. Running thousands of queries to get statistically significant data is often cost-prohibitive for individuals.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Complexity:&lt;/strong&gt; Managing different prompts, personas, and API keys for various &lt;code&gt;LLM&lt;/code&gt; providers adds significant engineering overhead.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Analysis:&lt;/strong&gt; You'll need to build your own system for storing, parsing, and visualizing the results over time to spot trends.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  2. RivalSee: For Precision AI Search Visibility
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;URL:&lt;/strong&gt; &lt;a href="https://rivalsee.com" rel="noopener noreferrer"&gt;https://rivalsee.com&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Best for:&lt;/strong&gt; Developers, marketers, and businesses who need to specifically track and improve their mention rate within public AI chatbot responses.&lt;/p&gt;

&lt;p&gt;While the DIY method is tempting, a specialized platform automates the hard parts. When your goal is to understand how often and in what context your brand appears in answers from models like ChatGPT, Claude, and Google's AI, a dedicated tool is more efficient.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;RivalSee&lt;/strong&gt; is a purpose-built AI search visibility platform designed to solve this exact problem. It moves beyond simple scripting to provide a robust framework for testing and analysis. For developers, its power lies in its systematic and data-driven approach. You can simulate real-world user queries at scale, such as "What's the best Python library for data visualization?" or "Compare Stripe vs. Adyen for international payments."&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key Capabilities for Developers:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Multi-LLM Tracking:&lt;/strong&gt; It queries ChatGPT, Claude, Perplexity, Google AI, and others simultaneously, giving you a holistic view of your brand's presence.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Persona-Driven Simulation:&lt;/strong&gt; You can define personas (e.g., 'Senior Backend Engineer', 'Indie Hacker', 'Non-technical Founder') to ask questions from different user perspectives, revealing how your brand is perceived by various audience segments.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Competitive Analysis:&lt;/strong&gt; See not only how often you’re mentioned but also how your mention rate stacks up against direct competitors for critical queries. This is invaluable for understanding your "share of voice" in the AI space.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Actionable Insights:&lt;/strong&gt; The platform provides recommendations to help you improve your rankings. This bridges the gap between tracking and strategy, helping you figure out &lt;code&gt;how to get brand mentioned in AI content&lt;/code&gt; more effectively.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  3. Otterly AI: For Direct Chat Tracking
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;URL:&lt;/strong&gt; &lt;a href="https://www.otterly.ai" rel="noopener noreferrer"&gt;https://www.otterly.ai&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Best for:&lt;/strong&gt; Startups and teams looking for a straightforward tool to track mentions in AI chat, but who should be mindful of pricing tiers.&lt;/p&gt;

&lt;p&gt;Otterly AI is another player in the direct-to-LLM tracking space. It offers a clean interface for setting up keywords and tracking their appearance in AI conversations. Its focus is on providing a direct feedback loop on your AIO (AI Optimization) efforts.&lt;/p&gt;

&lt;p&gt;It's a solid solution for those who want a managed platform instead of a DIY script. However, it's important to analyze the pricing structure. While it may offer a low-cost entry point, sources suggest the cost can increase significantly if you need to track more than a handful of prompts, so it's crucial to model your expected usage before committing.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Athena HQ: The AI Optimization (AIO) Platform
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;URL:&lt;/strong&gt; &lt;a href="https://www.athenahq.ai" rel="noopener noreferrer"&gt;https://www.athenahq.ai&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Best for:&lt;/strong&gt; Digital marketing agencies and in-house teams who want to manage AIO as a new marketing channel.&lt;/p&gt;

&lt;p&gt;Athena HQ positions itself as a comprehensive AIO platform, combining tracking with optimization workflows. The goal is to treat your presence in AI answers as a formal marketing channel, much like SEO or PPC.&lt;/p&gt;

&lt;p&gt;It provides tools to discover what questions users are asking in your niche, track your brand's current visibility for those questions, and measure the impact of your content changes on your mention rate. This makes it a good fit for teams that are ready to operationalize their efforts to track brand visibility in large language models.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. Profound: For Customer Conversation Intelligence
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;URL:&lt;/strong&gt; &lt;a href="https://www.getprofound.com" rel="noopener noreferrer"&gt;https://www.getprofound.com&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Best for:&lt;/strong&gt; Enterprise product and marketing teams needing to analyze brand perception and market trends from their own customer conversation data.&lt;/p&gt;

&lt;p&gt;The next two tools shift focus from public LLMs to enterprise-controlled data. Profound is an AI-powered market intelligence platform that plugs into your company's "voice of the customer" data—sources like sales calls on Gong, support tickets in Zendesk, and survey results.&lt;/p&gt;

&lt;p&gt;It uses AI to analyze these conversations at scale, delivering insights on how customers perceive your brand, what features they're requesting, and how you stack up against competitors in their minds. While it doesn't track ChatGPT, it offers a crucial form of &lt;code&gt;AI mention&lt;/code&gt; analysis by revealing the ground truth of your brand reputation directly from your users.&lt;/p&gt;

&lt;h3&gt;
  
  
  6. Scrunch AI: For Enterprise AI Monitoring
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;URL:&lt;/strong&gt; &lt;a href="https://scrunchai.com" rel="noopener noreferrer"&gt;https://scrunchai.com&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Best for:&lt;/strong&gt; Large organizations that need to monitor and analyze a wide array of AI-driven interactions for high-level brand intelligence and compliance.&lt;/p&gt;

&lt;p&gt;Similar to Profound, Scrunch AI operates at the enterprise level, offering a broad monitoring solution. It is designed to give large companies a unified view of their brand's presence across diverse digital ecosystems where AI plays a role.&lt;/p&gt;

&lt;p&gt;Instead of focusing only on customer support tickets or public LLMs, it provides a wider lens for &lt;code&gt;AI enterprise monitoring&lt;/code&gt;. This can include analyzing trends, ensuring brand consistency across various automated touchpoints, and providing a strategic overview of brand health in an increasingly AI-saturated market. For large-scale &lt;code&gt;brand reputation management in AI chatbots&lt;/code&gt; and automated systems, a comprehensive solution like this is essential.&lt;/p&gt;

&lt;h3&gt;
  
  
  7. Mentions.so: Modern &amp;amp; Lean Brand Monitoring
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;URL:&lt;/strong&gt; &lt;a href="https://mentions.so" rel="noopener noreferrer"&gt;https://mentions.so&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Best for:&lt;/strong&gt; Startups and small businesses looking for a clean, simple, and affordable brand monitoring tool for the web and social media.&lt;/p&gt;

&lt;p&gt;Rounding out the list is Mentions.so, a more modern and streamlined take on brand monitoring. It focuses on tracking your brand across key social and web platforms without the complexity and cost of enterprise suites. For a developer launching a new SaaS, it can be a great way to keep an eye on discussions on Reddit, X (Twitter), and Hacker News.&lt;/p&gt;

&lt;p&gt;While not a direct &lt;code&gt;AI mentions&lt;/code&gt; tracker, this is critically important because these public conversations are the very data used to train future LLMs. A strong, positive presence on these platforms today is the best way to influence how your brand is mentioned by the AI of tomorrow.&lt;/p&gt;

&lt;h2&gt;
  
  
  From Tracking to Influencing: A Long-Term Strategy
&lt;/h2&gt;

&lt;p&gt;Simply tracking mentions is only half the battle. The ultimate goal is to improve the frequency and quality of those mentions. After using an &lt;code&gt;AI mention tracking tool&lt;/code&gt; to establish a baseline, your focus should shift to a content and distribution strategy designed for AI consumption.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; &lt;strong&gt;Create Authoritative Source Material:&lt;/strong&gt; Write comprehensive guides, in-depth tutorials, and well-structured API documentation. LLMs prioritize clear, factual, and well-organized content.&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Foster Third-Party Validation:&lt;/strong&gt; Encourage reviews and comparisons on trusted, independent sites and forums. A positive review on a high-authority blog is a powerful signal.&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Structure Your Data:&lt;/strong&gt; Use schema markup on your website to help search engines (and by extension, their AI components) understand what your company does, who your products are for, and what problems they solve.&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Analyze and Iterate:&lt;/strong&gt; Use a platform like &lt;strong&gt;RivalSee&lt;/strong&gt; to correlate your content efforts with changes in your AI mention rate. Did that new API tutorial series boost your visibility for "best payment processing API" queries? This data-driven feedback loop is what separates guessing from a true AI optimization strategy.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;The rise of conversational AI has created a new, vital channel for brand discovery. Ignoring it means ceding ground to your competitors. For developers and tech brands, understanding and optimizing for this channel is no longer optional—it’s a core component of modern growth.&lt;/p&gt;

&lt;p&gt;Getting started is a matter of choosing the right tool for your scale and goals. The DIY approach offers control, while specialized platforms like &lt;strong&gt;RivalSee&lt;/strong&gt; and Otterly provide efficiency and analytics for tracking public LLMs. For a higher-level view, enterprise solutions like Profound and Scrunch AI analyze brand perception within controlled data sets.&lt;/p&gt;

&lt;p&gt;By combining these tools with a strategy focused on creating high-quality, authoritative content, you can move from being a passive observer to an active participant in shaping how your brand is seen and recommended by the AI assistants of today and tomorrow.&lt;/p&gt;

</description>
      <category>aiseo</category>
      <category>seo</category>
    </item>
    <item>
      <title>Vibe-Coded sites are bad at SEO – and a way to fix it</title>
      <dc:creator>Charlie Graham</dc:creator>
      <pubDate>Thu, 31 Jul 2025 17:50:46 +0000</pubDate>
      <link>https://forem.com/grahac/vibe-coded-sites-are-bad-at-seo-and-a-way-to-fix-it-1b14</link>
      <guid>https://forem.com/grahac/vibe-coded-sites-are-bad-at-seo-and-a-way-to-fix-it-1b14</guid>
      <description>&lt;p&gt;Vibe-Coded site-builders are pretty bad at SEO.  &lt;/p&gt;

&lt;p&gt;AI coding assistants like Lovable, Bolt, Replit, Cursor, etc, are all optimizing for speed to develop and speed to deploy.  Unfortunately, SEO is treated like a second-class citizen. They basically ignore it.&lt;/p&gt;

&lt;p&gt;The result is a (usually) working site that is not seen in OpenAI's ChatGPT, Perplexity, Claude, and Google AI, not to mention Google and Bing.&lt;/p&gt;

&lt;p&gt;The big problems: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;No focus on Headers and Meta Tags: Almost all of these AI-generating sites forget to do the SEO basics like H1/H2 tag hierarchy, and setting up both meta and share tags so that your content is sharable and descriptions and titles are easy to read.  To have better SEO, you need to make sure you have correct and differentiated title/meta tags and good H1/H2 header hierarchy. &lt;/li&gt;
&lt;li&gt; Client-side Rendering. This is a big one. The vibe coding sites are using API calls (like Supabase) and React to render content on the client post HTML load. The problem is all the AI chat engines only read HTML when they search - so NONE of that content will be checked by the chats when they search your site.  You need to make sure that your text content is rendered on the server side when the HTML is loaded.  This is the hardest to change but super important to appear in AI chats. &lt;/li&gt;
&lt;li&gt;Omission of LD-JSON:  AI-generated sites do not include structured JSON which search engines and AI chats use to get better context. &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;To help, RivalSee just published a free, open-sourced prompt you can give your AI coding assistants to do a technical SEO audit and give instructions on what to fix.  It's MIT license and available on Github here: &lt;a href="https://github.com/RivalSee/ai-seo-tools" rel="noopener noreferrer"&gt;https://github.com/RivalSee/ai-seo-tools&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This prompt won't solve every SEO issue. You still need to take other steps to improve your SEO, including:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Get backlinks&lt;/li&gt;
&lt;li&gt;Create content&lt;/li&gt;
&lt;li&gt;Do appropriate keyword research&lt;/li&gt;
&lt;li&gt;Core Web Vitals optimization: Performance beyond basic rendering&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you want to contribute or give suggestions, please see the instructions in the repository.  &lt;/p&gt;

&lt;p&gt;And thank you to &lt;a href="https://www.rivalsee.com" rel="noopener noreferrer"&gt;RivalSee&lt;/a&gt; for putting this together!  If you want to track/improve your AI visibility on AI Chats like ChatGPT, Google AI, Perplexity, etc.. they are a great tool!&lt;/p&gt;

</description>
      <category>aeo</category>
      <category>aiseo</category>
      <category>geo</category>
      <category>vibecoding</category>
    </item>
  </channel>
</rss>
