dist0
Playbook6 min read

I Built 4 SaaS Products. Here's What I Learned.

Lessons from four SaaS products built over the past two years: how to validate an idea, how to watch the market signals that actually matter, and why I no longer trust keyword databases to measure demand.

Tao WuFounder of dist0
On this page

I've built 4 SaaS products since 2024. Two died, one worked without me noticing, and the fourth — dist0 — exists because of what the first 3 taught me. Every one of those lessons arrived the same way: after I'd already made the mistake. Here they are, in order.

BilingoSub

In 2024 I built a bilingual subtitle tool called BilingoSub. I started it because I'd seen another indie developer making around $2k MRR with something similar and figured I could do better: movie-level bilingual subtitles, clean alignment, far less manual cleanup than the basic tools.

I spent 3 months building it, then shipped to a handful of early users. That's when I actually met them — and they were nothing like the people I'd imagined. Most were students using subtitles to learn a language from Youtube. They liked the tool. But students have low budgets — they preferred free or open-source options, even ones that took more work. So I gave up.

A year later, at a conference, I met a startup helping micro-drama makers add subtitles to expand into overseas markets. Same core backend, almost the same product — but their buyer had a real business reason to pay. I'd built the right tool for the wrong buyer.

Hand-drawn sketch: a small black character holds up a coat tailored to a dashed outline of an imagined slim buyer, while a differently-shaped real customer the coat won't fit reaches for it — the right tool built for the wrong buyer.

Lessons learned:

  • Validate while you build, not after you ship. I spent 3 months in isolation and only learned who actually wanted the tool on the day I released it. If I'd put a rough version in front of real users at week 2, I'd have hit the "students won't pay" problem — before sinking 3 months into the wrong crowd.
  • Intuition is a starting point, not a verdict. You need a guess to begin, and the $2k-MRR example was mine. The mistake is letting that first guess harden into a fact you stop testing.
  • The buyer you imagine is usually not the buyer who shows up. I pictured people who needed better subtitles for work; I got language learners. The micro-drama startup found the paying buyer — I just never went looking.

Snapulse

Snapulse was a tool for taking clean screenshots of Reddit posts.

I built it because I saw someone build a screenshot tool for Twitter and attract a lot of users. Reddit already had a few screenshot tools, but most of them produced mockup-style images. I wanted pixel-for-pixel screenshots that looked like Reddit's actual UI.

After 1 month of part-time work, I checked Ahrefs, Google Keyword Planner, and a few GEO tools. Every variant of "reddit screenshot tool" came back either irrelevant or flat zero volume.

No demand, the databases said.

Keyword research for every variant of "reddit screenshot tool" coming back with flat zero search volume — the demand the databases couldn't see.

So I stopped.

Then I did nothing with it for 6 months. No marketing. No ads. No launch. In that time, 80 people found Snapulse, signed up, and used it. Pure organic traffic.

I had walked away from a product that was quietly working.

Hand-drawn sketch: a small black character stares up at a big demand gauge stuck at zero, while a quiet line of real users slips through a door behind the gauge it can't see — zero search volume isn't zero demand.

Lessons learned:

  • Keyword databases are a reference, not a verdict. Every variant of "reddit screenshot tool" came back zero or irrelevant, so I read that as "no demand" and stopped. Then 80 people found it and used it with no marketing at all. Zero volume in the tool didn't mean zero demand in the world — it meant the tool couldn't see it.
  • SEO takes months before it shows you anything. Those 80 users trickled in over 6 months while the product just sat there. After a few quiet weeks I'd written it off — but search traffic simply takes that long to build. If you can't wait 6 months, don't build a plan that depends on it.
  • A free tool needs a paid business behind it. Snapulse worked as a top-of-funnel magnet, but I had nothing to convert those users into. A screenshot tool is a great free offer — for a company that already sells something next to it. On its own it's just traffic with nowhere to go.
  • Translating your pages is a low-hanging fruit. My highest-CTR pages on Snapulse turned out to be the Spanish ones, from an i18n setup I almost skipped. I ran the pages through an LLM to translate them — near-zero extra work — and they went on to pull the most organic clicks on the whole site.

RankEarly

My third project was RankEarly, an SEO tool.

At the time, I was still obsessed with AI + SEO. I believed the story: give an AI agent a keyword, let it turn that keyword into content, and get pages ranking quickly. RankEarly was a toolkit built around that idea, and I used the product to market itself.

Google doesn't ban AI content as such, but it does warn against scaled, unoriginal content made mainly to manipulate rankings. I saw exactly what that meant in my own numbers.

RankEarly's AI-written content got high impressions and brutally low CTR. It performed much worse than the simple, honest pages I'd written for Snapulse — the ones people actually clicked.

Search Console data for RankEarly's AI-written pages: high impressions but a brutally low click-through rate.

It took me months to understand why.

The keyword research into topic clustering playbook, pushed by SEO vendors and content platforms, may have worked better in the past. But Google's guidance now says its systems prioritize helpful, people-first content, including original information, research, analysis, and first-hand expertise.

That is exactly the kind of material keyword databases often miss.

Hand-drawn sketch: a small black character holds up look-alike AI pages at a stall as a crowd of plain figures walks straight past without stopping, and the small clicks tray in front stays almost empty — lots of impressions, almost no clicks.

Lessons learned:

  • Keyword tools are as unreliable for content as they were for demand. On Snapulse they told me there was no demand; on RankEarly they told me what to write. Both were wrong. My AI-written, keyword-led pages pulled high impressions and almost no clicks — worse than the simple, honest pages I'd written for Snapulse.
  • A scalable content system still needs original research and first-hand experience at its center. It took me months of watching that low CTR to accept the problem wasn't my execution — it was the keyword → cluster → publish playbook the SEO vendors sell. I wrote up the workflow I replaced it with in how we scale original Reddit research into content.
  • Watch the communities so you catch the failure signal in time. You don't need to validate everything up front — test, learn, and expect to be wrong. What you do need is to catch the failure signals fast enough to change course. Marketers in Europe openly distrust AI content, and they were saying so on r/SEO the whole time I built RankEarly. I only stumbled onto it later, by accident. If I'd been reading those threads, I'd have quit or pivoted months earlier instead of grinding against a signal that was already there.

dist0

The product I'm building now is dist0.

The observation behind dist0 is simple: Reddit is an underused source for marketing. Not only for feedback and validation, but for finding content ideas, offer ideas, buyer language, and direct outreach opportunities.

The subtitle tool taught me that I had to find the real buyer, not the buyer I had imagined.

Snapulse taught me that keyword tools can miss small, real demand.

RankEarly taught me that keyword-led content can produce impressions without trust.

dist0 is the tool I wish I'd had while I was making these mistakes. You paste your site URL once; dist0 finds the Reddit communities where your buyers actually hang out and turns their real posts into a daily brief — the pains, the buyer language, and the content ideas drawn straight from them.

It does the community-watching I kept forgetting to do, every day, so a market signal like "the marketers here don't trust AI" reaches me while I can still act on it — not months too late.

Hand-drawn sketch: a small black character cranks a circular loop where raw Reddit pains enter, drafts travel through a check-stamp gate, rejected pieces loop back around, and only a clean draft exits — AI wrapped in a loop with verifiers.

Lessons learned:

  • Validation is a funnel, not a yes/no question. The subtitle tool taught me a single "do people like this?" answer is worthless — the students liked it fine. So while building dist0, I tested demand in stages: broad interest first, then interest in the specific tool, then willingness to pay.
  • AI is a lever only when you wrap it in loops and verifiers. AI pays off on the repeated tasks — but only if you build a loop around them and distill your own taste into verifiers that check the output. That's what dist0 is for: pull real pains from Reddit, feed them into a scalable content framework, then run each draft through verifiers until no quality issue is left. I wrote up how that works in loop marketing for SaaS.
  • Don't let a keyword database be the verdict on an idea. Snapulse showed me a volume number can be blind to real demand. So dist0 reads what people actually say in their communities instead — the pains, the language, the questions — and lets that, not a database, decide whether the demand is real.

If I could go back and tell myself one thing when I started, it'd be this: the keyword databases and the dashboards describe the past, and you keep mistaking them for the future. Start from a guess — you have to — but hold it loosely, ship early, and let real people correct you before you've sunk 3 months into the wrong crowd. The project I regret most is RankEarly. The AI-and-SEO idea wasn't what sank it; I sank it by trusting the dashboards and never once reading the communities where my buyers were already saying it wouldn't work.