Two weeks ago I wrote here that I killed my SaaS subscription 7 days after launch and rebuilt it as a buy-once product. I ended that post with a promise written down before I could talk myself out of it: 3 real purchases in 14 days of relaunch, or I move on and leave UIPrompt in maintenance mode. Either way I would post the numbers.
The 14 days are up. Here are the numbers.
Purchases: 0.
New organic signups during the window: 0. The last real signup was a free account three days before the relaunch even went live. They looked once and never came back.
So by my own written bar, this is a move-on. UIPrompt goes to maintenance mode today. I want to be useful about why, because "it didn't sell" is a result, not a lesson.
Quite a lot. That turns out to be part of the problem.
I shipped a real product. The buy-once model was clean: a free playground with no signup, one $39 price, and an AI Design System Pack export that survives a blind test (a fresh AI session got only the exported files and matched 34 of 34 specced properties, inventing zero colors). I bought a custom domain. I launched on Product Hunt with a video, posted a Show HN, cross-posted the pivot article, made a 20-second promo video in Remotion with licensed music, put it on YouTube and X, and submitted to Peerlist, Dev Hunt, Indie Hackers, SaaSHub, and a stack of directories.
None of it produced a single sale. Not one.
On the first launch I blamed pricing. I killed the subscription, and I was right that a burst-usage tool should not bill monthly. But here is the uncomfortable part: fixing the pricing changed nothing, because pricing was never the binding constraint. Demand was.
Two different pricing models, same zero, should have told me the problem lived upstream of the checkout page the whole time. I was tuning the part of the funnel I could see and control (the offer) while the actual leak was at the top: not enough of the right people, with pain acute enough to pull out a card, ever arrived.
The tell, in hindsight, is that I cannot even give you a clean "traffic versus conversion" breakdown, because I never instrumented the funnel well enough for a zero to be diagnostic. When the result is 0, the only question that teaches you anything is "0 out of how many visitors, dropping off where?" I built the beautiful product before I built the ability to answer that.
A pre-committed number is the best gift you can give your future self. Writing "3 sales in 14 days or I stop" before I was emotionally invested is the only reason I can close this cleanly instead of sinking another month into it. The bet failed. The bet also worked exactly as designed: it made the decision for me, on time, without drama.
Polish is not traction. The promo video is genuinely nice. The blind test is genuinely impressive. Neither moved the number, because when the top of the funnel is empty, every hour spent on the asset instead of the audience is motion dressed up as progress. I made a lot of motion.
Instrument the null result. Ship the analytics that let a zero tell you where it died, before you ship the thing you are measuring. A zero with a funnel is a lesson. A zero without one is just a bruise.
It stays live. The playground is free forever, the domain is paid up, and it costs me almost nothing to leave running. If you build UI with Claude Code, Cursor, or v0, go use it. It genuinely works: https://uiprompt.co
I am not announcing the next thing today, because I do not have it yet and I would rather not fake conviction I have not earned. I said I would post the numbers, win or lose. They lost. Onward.