
I launched SubPulse with 0 users. Here's what happened after 90 days.
About 90 days ago, I launched SubPulse — a Chrome extension I built to help people keep track of their subscriptions before they renew. When I launched, I had basically no users.
Now I have:
It's still very early, but I thought it would be useful to share what I've learned so far.
SubPulse helps you keep track of recurring subscriptions, how much you're spending, and when your next payments are coming. I deliberately made it manual.
No bank connection.
No account.
No scraping emails.
No server storing your subscription list.
Your subscription data stays in your browser. The idea was to build something useful without requiring people to hand over their financial data.
The product has changed quite a lot since the first version. Some of the things I've added:
The current version is 1.2.5. The hardest part hasn't been building features. The hardest part so far has been figuring out what actually makes people come back.
Adding a subscription is easy.
Getting someone to install SubPulse, add their subscriptions, and then keep using it is a completely different problem. I initially thought the main value would be helping people understand how much they spend.
But I'm increasingly interested in the recurring reasons someone would open the extension again:
I'm still too early to know which of these will matter most. So I'm trying not to guess. I'm trying to learn from actual users.
Building the product is only half the job. Getting people to discover it is a completely different challenge.
I've been experimenting with:
Some things work better than others, and I'm still figuring that part out.
My next goal isn't to add 50 more features. It's to understand the existing users better.
I want to know:
If you're building a SaaS or a small product, I'd love to hear:
What was the hardest part for you after getting your first users — acquisition, activation, retention, or monetization?
And if you want to take a look at SubPulse, you can find it here:
https://subpulseapp.netlify.app/
I'd also genuinely appreciate any feedback from other founders.
The part about figuring out what makes people come back really resonates. I’m building a small tool around AI brand visibility that helps businesses see how often AI assistants mention their brand compared with their competitors.
What I find interesting is that the value isn't just in getting a single visibility number — it’s in seeing where competitors are appearing instead, and understanding how your brand is represented across different AI answers.
I’m also trying to learn whether that’s something founders and marketers would actually return to and use regularly. I am documenting my experiment so you can check out my post here on Indie hackers if you have time :)
Hey Signum, thanks for reading! The retention struggle is definitely the hardest part of building SaaS.
Your tool sounds incredibly timely—AI Search Optimization is basically the new SEO, so knowing where competitors show up in LLM answers is a very strong value proposition. Regarding your retention challenge: maybe pushing automated 'competitor shift' email alerts (e.g., 'Competitor X just overtook you in ChatGPT prompts') could create that recurring habit without forcing them to log in every day?
I'll definitely check out your post and drop some feedback there. Best of luck with the experiment!
Thanks so much for the thoughtful reply! 🙌 I really appreciate you taking the time to share that.
The idea of competitor-shift alerts is actually really interesting. I hadn’t thought about retention from that angle, and I can definitely see how meaningful changes could give people a reason to come back without needing to check the tool constantly.
I’m still very early in figuring this out, so feedback like this is genuinely helpful. And thanks again for taking a look at my post — I really appreciate it! 🙏
Really interesting journey. Building a SaaS product from zero users and learning about acquisition, activation, and retention along the way is a valuable experience. I especially like the focus on understanding user behavior before adding more features. For anyone exploring SaaS product development, this is a useful perspective.
Thanks Muzzamil! It is definitely tempting to just keep coding new features when growth feels slow, but forcing myself to stop and look at activation data (like setting up uninstall feedback) is proving to be way more valuable. Appreciate the support and thanks for reading!
Activation was the hard part, not acquisition. 89 downloads from 225 Chrome Web Store impressions is already a strong listing, so another channel will not tell you much until more of those installs reach a useful moment. The number I would watch is how many of the 34 users have a renewal inside the next 14 days. If the next charge is a month out, themes, CSV, and Spanish have nothing to bring them back for, and Pro only becomes obvious after a reminder actually saves someone money. The 9 uninstalls are the fastest read on that: a Chrome uninstall URL with one question (added a subscription vs never got to a useful date) beats guessing which feature to build next.
The distinction between “installed” and “reached a useful moment” is really interesting.
I’m building a tool that shows brands how visible they are in AI-generated answers compared with their competitors. It gives them a simple way to see whether AI is mentioning their brand or competitors more often.
I think the same activation question applies here too — getting someone to use the tool once is very different from them seeing enough useful insight to actually care about it.
Really interesting point about measuring the useful moment instead of just downloads or signups. I am documenting my experiment so you can check out my post on indie hackers if you have time: )
This is arguably the most valuable feedback I’ve received so far. You completely nailed the structural problem: the 'Aha!' moment (the notification actually saving them money) might be too far away from the installation moment.
If their first renewal is 25 days out, I'm relying on them keeping the extension installed based purely on a promise, and features like Dark Mode or CSV exports won't bridge that gap.
The uninstall URL is a brilliant, low-friction way to get qualitative data on this. I’ll set up a simple redirect today with a one-click survey to find out if the churn is happening before or after adding their first subscription.
I've been looking too closely at the CWS impressions and completely missed that my real bottleneck right now is 'Time to Value'. Thanks for the reality check, seriously.
Your 9 uninstalls might be the most useful number here. If you can reach even three of those people (an uninstall survey URL in the extension settings does this automatically), you'll learn more about activation than from the 34 who stayed.
On "what makes someone pay": before guessing, look at what the existing subscription trackers put behind their paywall and what they charge on their pricing pages. Whatever they consistently charge for is the part buyers have already shown they value. Your no-bank-connection angle is a real differentiator, so the question becomes whether privacy-focused people pay for reminders, for insights, or not at all, and competitors' pricing tells you where to test first.
I'd also narrow the channel list. Seven channels at 225 impressions usually means none gets enough attention to tell you if it works. Pick the one where your 34 users actually came from and go deep for a month.
The point about learning from the people who already tried the product really resonates.
I’m building a tool that shows brands how visible they are in AI-generated answers compared with their competitors. It helps make something that’s otherwise difficult to see — whether AI is mentioning your brand or consistently choosing your competitors.
I’m also finding that the interesting part isn’t just getting someone to try the tool, but understanding whether the result gives them enough useful insight to actually care about it.
Really like the advice on going deeper into one channel instead of spreading attention across too many. I am documenting my experiment so you can check out my post here on indie hackers if you have time :)
You are completely right, and it's funny because another commenter just pointed out the exact same thing about the uninstall URL. It was a huge blind spot for me. I'm implementing chrome.runtime.setUninstallURL in my next update today to catch those exit intents.
Your point about reverse-engineering competitor paywalls is brilliant. I've been trying to 'guess' my Pro features instead of looking at what the market has already validated. The local-privacy angle is my acquisition hook, but you are right: I need to see if privacy-focused users are willing to pay for insights, or if I need to pivot the Pro tier towards purely financial features (like advanced forecasting).
Regarding the channels: guilty as charged. I've been splitting my limited time between TikTok, YouTube Shorts, and Indie Hackers itself. I need to look closely at my CWS analytics, identify the exact source of those 34 active users, and just double down on that one platform for the next 30 days.
Thanks for taking the time to write this, it's incredibly actionable advice.
congrats that great
Thanks a lot, Victor! Let me know if you have any questions about the journey.
Congrats on 90 days of real shipping — 34 public users from zero is honest progress, and 1.2.5 shows you kept going where most people quit.
On your four questions: my bet is activation and retention are really the same question for you. A subscription tracker has no recurring reason to be opened until a renewal is near, so the "aha" isn't adding subscriptions — it's receiving the first timely renewal reminder. The person who adds 5 subscriptions but never gets a notification is less activated than the person who adds one and gets warned about a price increase a week later.
One concrete experiment: cohort your 34 users by whether they received a renewal reminder within their first 30 days, and check 30-day retention for each group. If the gap is big, you know the next feature isn't a feature — it's getting the first notification delivered faster, e.g. asking for one upcoming renewal date right at install.
Also, don't sleep on the "no server storing your list" angle as distribution, not just architecture. Trackers that require bank connections scare a specific audience; being the privacy-safe alternative is a positioning story that can carry a lot of organic reach.
Thanks! I really like the distinction between “adding subscriptions” and actually reaching the first useful moment.
The idea of cohorting users based on whether they received a renewal reminder within their first 30 days is especially interesting. I hadn't thought about activation that way, but it makes a lot of sense for SubPulse.
I'm going to start tracking that and compare it with 30-day retention. If the difference is significant, it would give me a much clearer direction than just adding more features.
I also agree about the privacy angle. I initially treated “no account, no bank connection, no server storing your subscription list” mostly as an architectural choice, but I probably haven't pushed that positioning enough in the distribution.
Thanks for the thoughtful feedback — this gives me a couple of things I can actually test.
The insight here is that you're measuring when each signal value emerges. A user adding subscriptions on day 1 is one motion — but renewal reminders hitting on day 7 create a different motion. The stickier signal isn't the feature; it's the timing of the value delivery. Have you tracked which signal first creates a return — is it the reminder, the price-jump alert, or just the monthly spend report landing?
That's exactly what I'm trying to figure out right now, but I haven't tracked those signals separately yet.
My initial assumption was that renewal reminders would probably be the main trigger, while things like spending reports or price changes might create more occasional returns.
But with such a small user base, I don't want to treat that assumption as fact. I'm going to start tracking which event happens before each return and compare reminders, price changes, and spending reports.
The timing point is especially interesting to me — the feature might not be what creates the habit, but when the value actually reaches the user. Thanks for the idea!
Congrats on turning a zero-user launch into real usage and a shipped 1.2.5. At this stage I’d keep the feature set stable for a week and instrument a simple cohort funnel: install → first subscription added → first reminder viewed → return within 7/30 days. Then do five short calls with retained and churned users; the “why did you open it again?” answer is usually more actionable than a generic feature request, and it should make the next retention bet much clearer.
Thanks! I really like the idea of keeping the feature set stable for a bit and focusing on the funnel instead. I haven't instrumented those exact events yet, so this is actually a good push for me to do it. I also agree that asking users why they came back (or why they didn't) could be much more useful than guessing from feature requests. With such a small user base, I think those conversations could teach me a lot.
Among the 34 users, what behavior most strongly predicts retention—adding more subscriptions, responding to renewal reminders, or repeatedly checking upcoming spend?
That's actually something I don't know yet — and I think I need to start measuring it properly. My guess going in was that renewal reminders would be the main reason people come back, while spending and upcoming payments might drive more occasional usage. But I don't want to assume that's true. I'm going to start tracking those behaviors separately and see what actually correlates with users coming back.