<?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>DEV Community: Marco Di Cesare</title>
    <description>The latest articles on DEV Community by Marco Di Cesare (@marco_loamly).</description>
    <link>https://dev.to/marco_loamly</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%2F3687346%2Fb6c012d5-8269-4922-b405-959cded5278e.jpg</url>
      <title>DEV Community: Marco Di Cesare</title>
      <link>https://dev.to/marco_loamly</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/marco_loamly"/>
    <language>en</language>
    <item>
      <title>How I Built Loamly: Detecting AI Traffic That Google Analytics Misses</title>
      <dc:creator>Marco Di Cesare</dc:creator>
      <pubDate>Wed, 31 Dec 2025 12:33:11 +0000</pubDate>
      <link>https://dev.to/marco_loamly/how-i-built-loamly-detecting-ai-traffic-that-google-analytics-misses-4mfd</link>
      <guid>https://dev.to/marco_loamly/how-i-built-loamly-detecting-ai-traffic-that-google-analytics-misses-4mfd</guid>
      <description>&lt;h1&gt;
  
  
  How I Built Loamly: Detecting AI Traffic That Google Analytics Misses
&lt;/h1&gt;

&lt;p&gt;I'm Marco. I just launched Loamly after about a year of building.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Problem
&lt;/h2&gt;

&lt;p&gt;I use ChatGPT, Claude, and Perplexity for maybe half my research now.&lt;/p&gt;

&lt;p&gt;Looking for a new tool? Ask ChatGPT. Comparing options? Claude. Need a recommendation? Perplexity.&lt;/p&gt;

&lt;p&gt;I started wondering what happens on the other side. What do brands see when AI sends them traffic?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Nothing.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;When someone finds your product through AI and visits your site, Google Analytics labels it as "direct traffic." No referrer. No UTM. Just... direct.&lt;/p&gt;

&lt;p&gt;You have no idea where they came from.&lt;/p&gt;




&lt;h2&gt;
  
  
  What Loamly Does
&lt;/h2&gt;

&lt;p&gt;Two things.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Brand Monitoring
&lt;/h3&gt;

&lt;p&gt;See what AI platforms actually say when someone asks about your brand.&lt;/p&gt;

&lt;p&gt;We run real queries against ChatGPT, Claude, Perplexity, and Gemini. You see the actual answers, tracked over time.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsk75hurk4ku9dr6izr8o.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsk75hurk4ku9dr6izr8o.png" alt="Loamly Intelligence - Brand Monitoring"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Traffic Detection
&lt;/h3&gt;

&lt;p&gt;Know when AI sends visitors to your site. The traffic that GA calls "direct" but isn't.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsey2qfowr9zp6emruvgb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsey2qfowr9zp6emruvgb.png" alt="Loamly Dashboard - Traffic Detection"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  How the Detection Works
&lt;/h2&gt;

&lt;p&gt;The traffic detection is &lt;strong&gt;fully open source&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;

&lt;/p&gt;
&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/loamly" rel="noopener noreferrer"&gt;
        loamly
      &lt;/a&gt; / &lt;a href="https://github.com/loamly/loamly" rel="noopener noreferrer"&gt;
        loamly
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      Open-source AI traffic detection for websites
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;p&gt;
  &lt;a href="https://loamly.ai" rel="nofollow noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/a8c437fcffdb9632b38dc4a0ccce97e486bb26b7900ed5dde5a402aee2740b09/68747470733a2f2f6c6f616d6c792e61692f6c6f616d6c792d636f6c6f757265642d6c6f676f2e737667" alt="Loamly" width="140"&gt;
  &lt;/a&gt;
&lt;/p&gt;

&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;Loamly&lt;/h1&gt;
&lt;/div&gt;

&lt;p&gt;
  &lt;strong&gt;Open-source AI traffic detection for websites&lt;/strong&gt;
&lt;/p&gt;

&lt;p&gt;
  Know when ChatGPT, Claude, Perplexity, and Gemini visit your site.&lt;br&gt;
  Cryptographic verification. Zero false positives
&lt;/p&gt;

&lt;p&gt;
  &lt;a href="https://github.com/loamly/loamly/stargazers" rel="noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/5284af5434412b80150019c0e933af86f09fe327b373d53338b346226a998b19/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f73746172732f6c6f616d6c792f6c6f616d6c793f7374796c653d736f6369616c" alt="GitHub stars"&gt;&lt;/a&gt;
  &lt;a href="https://www.npmjs.com/package/@loamly/edge" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/c8de25e6cdeb829239462f02abe85d69fc457450f728ff9b4646a5fb46ab7a51/68747470733a2f2f696d672e736869656c64732e696f2f6e706d2f762f406c6f616d6c792f656467652e737667" alt="npm edge"&gt;&lt;/a&gt;
  &lt;a href="https://www.npmjs.com/package/@loamly/tracker" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/267dbbeec33d4361e476dade1049723a800f36c60bbc649deaa3fe68a5b7698a/68747470733a2f2f696d672e736869656c64732e696f2f6e706d2f762f406c6f616d6c792f747261636b65722e737667" alt="npm tracker"&gt;&lt;/a&gt;
  &lt;a href="https://opensource.org/licenses/MIT" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/fdf2982b9f5d7489dcf44570e714e3a15fce6253e0cc6b5aa61a075aac2ff71b/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c6963656e73652d4d49542d79656c6c6f772e737667" alt="License: MIT"&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
  &lt;a href="https://loamly.ai" rel="nofollow noopener noreferrer"&gt;Website&lt;/a&gt; •
  &lt;a href="https://loamly.ai/docs" rel="nofollow noopener noreferrer"&gt;Documentation&lt;/a&gt; •
  &lt;a href="https://loamly.ai/docs/security" rel="nofollow noopener noreferrer"&gt;Security&lt;/a&gt; •
  &lt;a href="https://github.com/loamly/loamly/discussions" rel="noopener noreferrer"&gt;Community&lt;/a&gt;
&lt;/p&gt;




&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;The Problem&lt;/h2&gt;
&lt;/div&gt;

&lt;p&gt;When users copy a URL from ChatGPT, Claude, or Perplexity:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;❌ No referrer header (browser security blocks it)&lt;/li&gt;
&lt;li&gt;❌ No UTM parameters (AI doesn't add them)&lt;/li&gt;
&lt;li&gt;❌ Google Analytics shows "Direct Traffic"&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This traffic is &lt;strong&gt;invisible&lt;/strong&gt;. For many sites, it's 15-30% of visitors.&lt;/p&gt;

&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;The Solution&lt;/h2&gt;

&lt;/div&gt;

&lt;p&gt;Loamly detects AI traffic using &lt;strong&gt;RFC 9421 cryptographic signatures&lt;/strong&gt; — the same standard used by OpenAI, Anthropic, and Google for their AI agents.&lt;/p&gt;

&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;Detection Methods&lt;/h3&gt;

&lt;/div&gt;

&lt;p&gt;&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;br&gt;
&lt;thead&gt;
&lt;br&gt;
&lt;tr&gt;
&lt;br&gt;
&lt;th&gt;Method&lt;/th&gt;
&lt;br&gt;
&lt;th&gt;Accuracy&lt;/th&gt;
&lt;br&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;br&gt;
&lt;/tr&gt;
&lt;br&gt;
&lt;/thead&gt;
&lt;br&gt;
&lt;tbody&gt;
&lt;br&gt;
&lt;tr&gt;
&lt;br&gt;
&lt;td&gt;&lt;strong&gt;RFC 9421 Signatures&lt;/strong&gt;&lt;/td&gt;
&lt;br&gt;
&lt;td&gt;100%&lt;/td&gt;
&lt;br&gt;
&lt;td&gt;Cryptographic Ed25519 verification&lt;/td&gt;
&lt;br&gt;
&lt;/tr&gt;
&lt;br&gt;
&lt;tr&gt;
&lt;br&gt;
&lt;td&gt;Navigation Timing&lt;/td&gt;
&lt;br&gt;
&lt;td&gt;65-78%&lt;/td&gt;
&lt;br&gt;
&lt;td&gt;Paste vs click detection&lt;/td&gt;
&lt;br&gt;
&lt;/tr&gt;
&lt;br&gt;
&lt;tr&gt;
&lt;br&gt;
&lt;td&gt;Behavioral ML&lt;/td&gt;
&lt;br&gt;
&lt;td&gt;75-90%&lt;/td&gt;
&lt;br&gt;
&lt;td&gt;Mouse/scroll pattern classification&lt;/td&gt;
&lt;br&gt;
&lt;/tr&gt;
&lt;br&gt;
&lt;tr&gt;
&lt;br&gt;
&lt;td&gt;User-Agent&lt;/td&gt;
&lt;br&gt;
&lt;td&gt;95%+&lt;/td&gt;
&lt;br&gt;
&lt;td&gt;Known AI bot patterns&lt;/td&gt;
&lt;br&gt;
&lt;/tr&gt;
&lt;br&gt;
&lt;/tbody&gt;
&lt;br&gt;
&lt;/table&gt;&lt;/div&gt;&lt;/p&gt;

&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;4-Tier Verification Architecture&lt;/h2&gt;

&lt;/div&gt;

&lt;p&gt;Loamly offers multiple deployment options based on your needs:&lt;/p&gt;

&lt;p&gt;&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;br&gt;
&lt;thead&gt;
&lt;br&gt;
&lt;tr&gt;
&lt;br&gt;
&lt;th&gt;Tier&lt;/th&gt;
&lt;br&gt;
&lt;th&gt;Method&lt;/th&gt;
&lt;br&gt;
&lt;th&gt;Accuracy&lt;/th&gt;
&lt;br&gt;
&lt;th&gt;Deployment&lt;/th&gt;
&lt;br&gt;
&lt;/tr&gt;
&lt;br&gt;
&lt;/thead&gt;
&lt;br&gt;
&lt;tbody&gt;
&lt;br&gt;
&lt;tr&gt;
&lt;br&gt;
&lt;td&gt;&lt;strong&gt;1. Managed Proxy&lt;/strong&gt;&lt;/td&gt;
&lt;br&gt;
&lt;/tr&gt;
&lt;br&gt;
&lt;/tbody&gt;
&lt;br&gt;
&lt;/table&gt;&lt;/div&gt;…&lt;/p&gt;
&lt;/div&gt;
&lt;br&gt;
  &lt;/div&gt;
&lt;br&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/loamly/loamly" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;br&gt;
&lt;/div&gt;





&lt;h3&gt;
  
  
  ChatGPT Operator
&lt;/h3&gt;

&lt;p&gt;Uses &lt;a href="https://www.rfc-editor.org/rfc/rfc9421" rel="noopener noreferrer"&gt;RFC 9421 HTTP Message Signatures&lt;/a&gt;. Cryptographically verified against OpenAI's public keys. 100% accurate, no false positives.&lt;/p&gt;

&lt;h3&gt;
  
  
  Claude, Perplexity, Gemini
&lt;/h3&gt;

&lt;p&gt;Navigation timing patterns + behavioral fingerprinting. Different AI browsing agents have distinctive signatures in how they interact with pages.&lt;/p&gt;




&lt;h2&gt;
  
  
  Tech Stack
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Frontend:&lt;/strong&gt; Next.js 15, React, Tailwind, shadcn/ui&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Backend:&lt;/strong&gt; Supabase (Postgres + Auth + Edge Functions)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Hosting:&lt;/strong&gt; Vercel&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Emails:&lt;/strong&gt; Resend&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Why Open Source
&lt;/h2&gt;

&lt;p&gt;I wanted developers to see exactly how the detection works. No black box.&lt;/p&gt;

&lt;p&gt;You can self-host the traffic detection entirely. The brand monitoring runs on our side (needs API keys and scheduled jobs).&lt;/p&gt;




&lt;h2&gt;
  
  
  Attribution
&lt;/h2&gt;

&lt;p&gt;The two parts work together.&lt;/p&gt;

&lt;p&gt;Brand monitoring shows what AI is saying about you. Traffic detection shows when it actually sends you visitors.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7wkt0tlcky1lxcjonxrj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7wkt0tlcky1lxcjonxrj.png" alt="Loamly Attribution"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Try It
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Free tier:&lt;/strong&gt; 5K credits/month, no card needed.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://loamly.ai" rel="noopener noreferrer"&gt;loamly.ai&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/loamly/loamly" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://news.ycombinator.com/item?id=46437828" rel="noopener noreferrer"&gt;Hacker News discussion&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.producthunt.com/products/loamly" rel="noopener noreferrer"&gt;Product Hunt&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If something breaks or doesn't make sense, comment here or email me at &lt;a href="mailto:marco.dicesare@loamly.ai"&gt;marco.dicesare@loamly.ai&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;I'll personally read everything and do my best to reply you and fix things :)&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>ai</category>
      <category>analytics</category>
      <category>opensource</category>
    </item>
  </channel>
</rss>
