I finished a SaaS in a day. A multi-site search-performance dashboard. Code done, tests passing, one click from deploy. And I didn't click.
I shelved it not because of a bug. Because I had nowhere to sell it.
One question first: does your next product have a distribution plan before it has code? If not, this post is about you.
One number
The dashboard was pretty. Plenty of metrics. But strip it to first principles and only one survives — traffic: zero.
I built 34 apps. Ran 10 channels. Web SEO, long-form video, shorts, affiliates. Every one assumed "I'll build the audience" (earned distribution), and every one stalled at zero. Numbers like 8 clicks in 28 days say it plainly.
The new SaaS sat on the same assumption. So I shelved it. The product was never the problem. I'm weak at distribution.
That was half-said already in the funnel I never measured and top impressions, zero revenue. This time I admitted it head-on.
Four research runs, same wall
I ran research four times to find a model with distribution built in. Viral AI tools, marketplaces, short-form funnels, embed widgets. Every time the conclusion hit the same wall.
- Viral AI tools: what actually blew up wasn't output virality — it was the founder's 600k followers. I don't have those.
- GPT Store / Etsy: organic discovery is dead. No external traffic, no sales.
- Shorts → affiliate: platforms are demonetizing mass AI content.
- Embed widgets: saturated + incumbents shipping it natively.
"The product spreads itself" usually means the founder already had an audience. Survivorship bias. It took four runs to admit that.
Only one thing was left: what I already have. I actually run a Naver SmartStore. So I'm my own first customer.
Pretending there's a cheap fix
I built a product-title checker Chrome extension for my own store. Rule-based: catches duplicates, hype words, length, banned terms. Wrote it cleanly, tests passed.
I ran it on my 47 products. Every one scored 100.
By the rules, my titles were already clean. Which means the tool does nothing for me. The rule checker pretended to have value, but my real pain — zero followers = ranking/visibility — isn't a rules violation.
Stopping here was the win. Dogfooding killed the feature before I over-built. Had I tried to sell it to others first, I'd have clung to the "compliance checker" shell for weeks.
What would you do — when the feature you built is useless even to yourself, push, or drop it?
The value was data
Not rules — keyword search volume was the answer. I wrote a per-product analyzer on Naver's search-ad keyword API. The output was real.
- One binder product had title keywords all under 100 monthly searches — effectively invisible. The word "binder" (10k+/month) wasn't even in it. That's why it ranked for nothing.
- A neck-pillow product was missing "cervical neck pillow" (10k) and "straight-neck pillow" (8k) entirely.
But there was a trap. Half the "missing keywords" list was noise. The word "organize" pulled in "professional organizer"; "accessory" pulled in "accessory shop." I built a relevance filter that removed ~90%. The last mile — telling "business card" from "name badge" — can't be done with rules. That's the LLM's job, and that's the real moat.
And don't get fooled by big numbers. Putting "optical shop" (66k/month) on an eyeglass stand lifts impressions, but people looking for an optical shop don't buy stands. No clicks or conversions actually hurts your rank. Intent match beats raw volume.
So, now
I actually swapped three product titles via the commerce API (originals backed up). I picked only the ones with zero existing rank — no reset risk.
Then I stopped.
I could have pushed further. Change the rest, build a backend, ship the extension to the store. I didn't. Because the bottleneck now can't be pulled forward with code — do impressions actually rise in 1–2 weeks (product value), and do other sellers want this (distribution). Building more before those two are answered is exactly the 34-app trap.
Same discipline as not fixing was the fix. Motion isn't progress. (The separate story of moving the store ops themselves onto the API is in from browser session to commerce API.)
Three self-checks
- Your next product — is distribution built into the model, or is it "I'll promote it after I build it"?
- The tool you built — do you use it every day? If not, neither will anyone else.
- Is what you're doing progress, or just motion? If you're building more of something unvalidated, it's the latter.
The honest part
Revenue is still zero. Impressions might rise. This could fail like the 34 apps did. The difference: this time I designed it to fail cheap — build nothing until it's validated.
Your next build — is distribution built in? If not, decide that before the first line of code.