2
5 Comments

Why I threw away the frontend on my first product

My first product was called Cheap Analytics. The goal was simple: easy to set up, designed for people running multiple side projects, and cheap as chips. With a few little differences, it looked like every other analytics tool. The main distinction was in the name, and the one extra feature was a weekly AI summary email that told you what happened across your sites so you didn't have to log in.

That email was the thing people actually liked. A simple analysis of what was happening, shared where you were. The most useful part of the product was the part that meant you never had to open the product.

Around the same time, MCP started taking off and I was spending most of my day inside Claude Code. I wanted my AI analysis there, not just summarising your analytics once a week, but querying them whenever it needed to. Not a dashboard with an AI bolted on, but analytics where the AI is the interface.

So I started from scratch, rebuilding it as an API with 37 MCP tools optimised for how agents work, and giving it a new name. Traffic sources, page performance, date comparisons, geographic breakdowns, custom events, the lot. Your agent connects, queries what it needs, and when a human actually wants to see a chart, the agent generates one on the fly. Design for what an LLM needs: focused, structured, token-saving output.

There's still a website for signing up and managing API keys, but the core product has no GUI. Your agent is the interface.

A month in now. Free up to 2,500 events/month, €9.99/mo for 100K. Tracking script is 2KB, setup is about two minutes if you're already in Claude or Cursor.

This obviously only works if you already have an AI agent running. If you want to check your traffic the old-fashioned way, Plausible and Fathom are great. But if you're in Claude Code all day anyway and you'd rather your agent just knew your traffic without you alt-tabbing to anything, that's what this is.

https://lodd.dev if you want to try it.

on May 12, 2026
  1. 1

    Funny how the killer feature ended up being the one that let people ignore the product. That’s a strong hint you’re on the right track with the agent-first shift. One thing I’d think about is giving folks a tiny sanity check endpoint or sample prompt so they can trust the agent isn’t hallucinating numbers. Even a lightweight safeguard goes a long way once everything is API-only.

    1. 1

      Good feedback! I actually also have a full API available, so if people just want to call that directly, they can!

  2. 1

    This is a strong pivot because you found the real behavior: people did not want another analytics dashboard, they wanted the useful answer to show up where work was already happening. The weekly AI summary was the signal, and rebuilding around MCP makes the product feel much more current than “cheap analytics.”

    I’d probably make the category shift even sharper. This is less “analytics without a frontend” and more “agent-native analytics.” The buyer is not paying for charts. They are paying so Claude/Cursor can understand traffic, compare sources, check events, and answer product questions without a human opening another tab.

    One thing I’d watch is the name Lodd. It is short, but it does not immediately carry the agent-native analytics idea. If this becomes a broader AI-interface layer for product data, a cleaner platform-style name like Xevoa.com would probably age better than something that feels abstract without context.

  3. 1

    That insight about the useful part being the bit you never had to open is the kind of thing you only spot once people are actually using the product. The MCP-first call is bold. How are you handling the subscription gate with no UI? Does the agent just surface a 'free tier exhausted, upgrade at lodd.dev' message, or have you baked the upgrade flow into the MCP tools themselves? I'm about to launch a small finance app and have been wrestling with the inverse problem: lots of UI, trying to make pricing feel invisible.

    1. 1

      Good question! While Stripe just launched payment-for-agents setup, I've not gone that far yet, instead it will surface as limit reminder as you use up. I also send emails that get triggered at 50% ,75% and 100% usage. Of course, there is also a get_usage MCP tool so you can check or build it into your managed agent flows.

      Curious why you're trying to make pricing invisible? Especially for a finance app, I'd said you have a real opportunity to tie pricing to genuine value created?

Trending on Indie Hackers
I Was Picking the Wrong SaaS Tools for Two Years. Here's the Mistake I Finally Figured Out. User Avatar 116 comments Drop your landing page URL. I'll use Ferguson to tell you why visitors might be leaving User Avatar 66 comments Most early-stage SaaS companies miss churn signals — here’s how to catch them early User Avatar 31 comments Why Remote Teams Stop Talking (And Don't Even Notice It) User Avatar 23 comments How I Run a 1.7M Product Search Engine at 66ms on a $0 Hosting Budget User Avatar 19 comments I thought picking a voice for my app would take a day. It rebuilt everything. User Avatar 18 comments