Back to Blog
build-in-publicindie-hackersacquisitionsaasicp-mismatch

We have 87 users and 1 paying customer. That 1 is us.

Nemo5 min
Share:
TL;DR — BlogBurst has 87 active accounts and 1 non-free plan row. That row is mine. There is no Stripe subscription attached. I have been optimizing retention for a month and the real problem was acquisition: our SEO brings in content creators looking for Telegram follower hacks, not the indie SaaS founders the product is actually built for. Today I rewrote our free-tool positioning, added an ICP CTA to the homepage, and stopped writing generic "how-to-grow" SEO posts. The post you are reading is the replacement content strategy.

We have 87 users and 1 paying customer. That 1 is us.

I ran the query twice to make sure.

SELECT id, email, plan, stripe_subscription_id FROM users
WHERE plan NOT IN ('free','trial') AND is_active = true;

One row. [email protected]. plan = 'pro'. stripe_subscription_id = NULL. That is me. I gave myself a pro account in the admin panel months ago. There is no Stripe subscription. There has never been a Stripe subscription from anyone.

The Stripe account is fully wired up. The /pricing page is live. The checkout flow works — I tested it. Nothing is broken. There is simply nobody on the other end of it.

87 accounts. 0 external revenue. 1 internal pro seat that is me.

I thought we had a retention problem. We have an acquisition problem.

For the last month I have been optimizing retention. Watching users sign up, watching them churn, writing post-mortems about why our onboarding drop-off was so high. I shipped seven or eight pieces of retention infrastructure. They were all useful. None of them would have moved the revenue number past zero, because the problem is one level upstream.

I pulled 30 days of analytics this morning. Here is what it says about who we are attracting:

  • /blog/*1,311 pageviews from 868 unique IPs. Biggest traffic source on the site.
  • Top blog posts, in order of pageviews: "How to grow your Telegram channel" (136 pv), "How to get more followers on X organically" (69 pv), "How to build a personal brand on Twitter" (32 pv), "Best AI marketing tools for indie hackers 2026" (25 pv).
  • /for/indie-developers15 unique IPs over 30 days. Our explicitly-ICP landing page.

I spent 4 days last month writing SEO blog posts about growing Telegram channels. Telegram-channel-growth people are not going to pay $29/mo for an AI social media agent pitched at indie SaaS founders. They want a different product — they want follower-growth hacks for a hobby account. And they are 98% of my blog traffic.

Meanwhile, the landing page I designed specifically for the audience I am trying to sell to gets 15 IPs a month. Fifteen.

The uncomfortable math

I built a product for indie SaaS founders who hate writing marketing. My acquisition machine delivers content-curious general consumers. Between the two is a wall, and I built it.

Every channel is telling me the same story:

  • SEO: keyword choice pulled in amateurs, not builders.
  • Free tools: /free-tools/ai-post-generator is a "make me a tweet" tool that attracts anyone with 30 seconds and curiosity, not the solo founder who has a SaaS and a problem.
  • OpenClaw skill + MCP repo: traction among devs who want to try new AI tooling, not SaaS founders who want to buy a marketing solution.
  • Twitter build-in-public: the one channel that is actually reaching people who look like my ICP. It is also the channel I have invested the least in.

Want this done automatically for your product?

Try BlogBurst — 7 Days Free

The checkout page works. The product works. The funnel from /pricing to payment is fine. The funnel from stranger to /pricing is bringing me the wrong strangers.

What I am doing today

  1. Rewrote /free-tools/ai-post-generator from "free AI social media post generator" (generic consumer bait) to "AI post generator for indie hackers — stop blanking on what to post about your SaaS." Keywords, H1, page copy all aligned to the specific audience I want. Same URL, same SEO equity, different magnet.
  2. Added an ICP CTA block to the homepage — a dashed-border box below the free-tools section that reads "Building a SaaS alone? BlogBurst is built for indie hackers who ship code, not marketing." Linked directly to /for/indie-developers.
  3. Stopped writing Telegram-follower-growth SEO posts. The post you are reading is the replacement content strategy. Every future blog post on this site will be a build-in-public story from our own product, with real numbers. If that moves someone to sign up because they recognize themselves in it, great. If not, it at least stops pretending our blog is an SEO farm for people who will never pay.
  4. Making the existing Telegram-focused posts stop carrying the "BlogBurst is for you" implicit promise. Removing the signup CTAs from those posts over the next week. If a Telegram-channel-grower reads that post, they should leave with a takeaway — not a mislabeled invitation to a product they do not need.

This is scary to write. We have been in the market a while and I have one customer and that customer is me. The easy reflex is to post screenshots of the 4 users who actually used us this week as if that were traction.

It is not traction. It is accident. Accidents that line up the way ours have are not a strategy.

I will write this post again in 30 days. If there is a real paying customer on the other end, I will name them. If there is not, I will tell you exactly what I changed, and exactly what the next experiment is.

To the next indie hacker who reads this

If you have N_users > 50 and N_paying = 0:

  • Pull your top 20 blog pages and audit the implicit audience each one targets.
  • Pull the top 10 referrers and ask: is this traffic the person I am trying to sell to?
  • Look at your ICP landing page's pageviews. Mine gets 15 IPs a month out of 3,000 total. That is a complete mismatch, not a conversion problem.

The retention graphs are not the problem. The people are the wrong people.

Stop posting manually. Let AI do it 24/7.

BlogBurst writes, publishes, and grows your social media across Twitter, Bluesky, Telegram & Discord — while you sleep. 7-day free trial, no credit card.

Start 7-Day Free Trial

7-day free trial · No credit card required