9
14 Comments

We got 50 paid users, then learned that building the tool wasn’t enough

I built ShardStitch to help carry working context between AI coding tools.. About 50 people bought it at $49. That felt like proof we were solving a real problem.

Then our search visibility dropped. We had leaned too heavily on pages about one tool, and an audit found overlapping content and similar titles. Whatever the precise cause of the traffic drop, the lesson was uncomfortable: a useful product does not excuse an unhelpful website.

We’ve been repairing the site page by page, but it also changed what I want to build next.

ShardDesign is our planned visual editor for AI-built websites. The idea is to let someone change copy, images, spacing, and layout directly instead of sending another prompt that might disturb the rest of the site.

We’re also planning a Guardrails MCP. It would help an AI coding tool review a site before publishing: identify repetitive or doorway-like pages, separate evidence from guesses, and propose specific repairs against current search-engine guidance. It’s a review workflow, not a promise of rankings or recovered traffic. Neither ShardDesign nor the Guardrails MCP is publicly available yet.

The question I’m working through now: how do you make website quality part of the building workflow, rather than an audit you only run after traffic falls?

Has anyone here changed their product roadmap because of a distribution problem?

on September 30, 2026
  1. 1

    One bookkeeping habit that pays off here: keep the denominators next to the 50. "Where did paying users come from" is the numerator; per-channel conversion needs paying users ÷ signups per channel. A channel behind 30 of the 50 from 3,000 signups is a very different bet than one behind 20 from 200 — and the numerator alone will keep pointing you at the big one.

  2. 1

    50 people paying $49 is real. Before the page-by-page repair consumes months, I'd check one thing: did those 50 actually come from search? If they came from somewhere else (community posts, X, launches), then search is a nice-to-have and you'd be fixing the channel that didn't buy you while ignoring the one that did.

    And a caution on letting the distribution problem rewrite the roadmap: ShardDesign and the Guardrails MCP sound like answers to 'how do we get found,' not 'what are the 50 paying us for.' Ask a few of them what they'd pay for next before building it. A distribution hole is painful, but it's still a marketing problem — the roadmap should stay pointed at the buyer.

  3. 2

    This lands hard. Shipping the product is maybe 30% of the job — the other 70% is figuring out which unglamorous channel actually puts it in front of people who already feel the pain.

    We are early on a Discord directory side project and keep catching ourselves polishing ranking UX instead of talking to server owners. The "50 paid users then... wait, distribution?" moment is useful as a forcing function.

    What channel finally moved the needle for you after the first 50?

    1. 1

      The distinction that helped me was tagging every source and checking what happened 48 hours later, not just the launch-day spike. Small niche directories and founder communities beat broad boards for me — slower, but the questions had context. I now add one tiny channel check to the weekly launch review so I don’t drift back to vanity traffic.

  4. 2

    The roadmap now spans context transfer, visual editing, and SEO guardrails; what have the 50 paying users asked for that connects those needs?

  5. 2

    I’d move a lightweight distribution checklist into the same PR that ships a feature, rather than waiting for an SEO audit: one clear job-to-be-done per page, a human-readable title/H1, canonical and internal-link checks, no overlap with an existing page, and one measurable next step. Pair that with a weekly page-level dashboard (impressions → visits → activation) so you can tell whether a traffic drop is an indexing problem, intent mismatch, or a broken conversion path. It makes “website quality” part of shipping without turning every release into an SEO project.

  6. 1

    Disclosure: I run UtilitySEO, an SEO scanner, so this is my corner.

    Before repairing page by page, I'd check two things. First, timing: line the drop up against Google's update dates. If it lands on a core update, the whole site was re-scored, and fixing pages one at a time can take months to show anything.

    Second, with overlapping pages, merging usually beats rewriting. Pick the strongest page per topic, fold the others into it and 301 them. Near-duplicates compete with each other, and polishing all of them keeps that competition going.

    Your "separate evidence from guesses" line for the Guardrails MCP is the right instinct. An AI reviewer that states a cause it can't prove is how sites end up rewriting the wrong pages.

    We're at DA 3 with about four search visits a month, so I know the near-zero feeling.

    Did the drop hit every page, or mainly the cluster about that one tool?

  7. 1

    Yes - twice, and both times the distribution problem rewrote the roadmap more than any user request did. My app is consumer (self-care planner), so no SEO story, but the same shape: 98% of my downloads come from people typing the name into the store after hearing it somewhere, and I can't see where. Two features now sit at the top of the roadmap purely because of that - an onboarding question "where did you hear about us" and promo codes per creator - neither is a "product" feature, both exist only so I can tell which marketing worked. The uncomfortable version of your lesson for me: a useful product doesn't excuse an unmeasurable funnel. On your actual question - the only thing that's worked for me is making the "audit" a checklist that runs before every release, same as the test suite. It's boring, but boring is what survives the week traffic drops.

  8. 1

    The cheapest version is to treat a new page like a pull request. Before it ships, compare its title, H1 and search intent against every existing page and block near-duplicates, the way a linter blocks an unused import. Overlapping titles is exactly what your audit found, and that check runs in seconds at creation time instead of after traffic falls.

    On the roadmap question: did the 50 buyers come from search? If yes, the guardrails sit closer to what earned the money than the visual editor does.

  9. 1

    How you got the first 50 sales??

    1. 1

      A useful way to unpack the first 50 is to separate “who paid” from “where they came from”: tag each buyer by channel, trigger, and first successful use. The channel that produced the first handful may not be repeatable, and that distinction seems central to the distribution lesson here.

  10. 1

    I think a distribution problem can absolutely turn into a product problem, especially when search is one of the main ways people discover you. At that point the website isn’t just marketing anymore, it’s part of the product.

    The Guardrails MCP idea makes sense for that reason — catching duplicate/thin pages before publishing feels way more useful than running an SEO audit after traffic already drops. I’d probably keep it focused on a few high-signal warnings instead of turning it into another huge SEO checklist.

    Curious though: did most of those first 50 ShardStitch customers originally come from search, or from somewhere else?

  11. 1

    50 people paying $49 is real signal — that part is validated. The interesting wrinkle is that you validated willingness to pay, but not the distribution channel, and those two can fail independently. I've started treating channel reach as part of validation itself: when I get a "yes, I'd buy this," I also force myself to name the exact page, community, or search query the next 50 buyers would come from. If I can't, I treat the validation as half-done. SEO as a single leg is especially fragile, as you just learned firsthand. Curious whether the guardrails idea came from watching your 50 buyers' stuck points or from the SEO repair work itself — those point at pretty different roadmaps.

    1. 1

      Treat it like a failing test. Write two or three checks that block a release (every page has a unique title, no two pages target the same query, each page answers something the previous one doesn't) and run them the way you run lint. Overlapping content and near-identical titles are exactly the kind of thing a cheap pre-publish check catches.