3
17 Comments

$19.30 MRR after 16 extensions: what I learned from pausing HN

Three weeks ago I was convinced HN was my channel. 21 Show HN posts in. All 1 point. Most recent flagged.

Here's the audit I did on my account ktg0215:

  • 21 Show HN submissions across 10 months
  • ZERO front page reach
  • ZERO MRR attribution
  • Karma 637 (cumulative, mostly from comments years back)

I was treating my account like a self-promotion megaphone. Post product → ghost the comments → next product. The 90/10 rule isn't a guideline — it's gravity. Took me 21 failed posts to figure that out.

Here's what I'm doing differently for the next 30 days:

  1. Pausing HN entirely — May 10 to June 10. No new submissions, no reply farming. Reset cooldown.
  2. Daily replies on IH — 5/day, focused on technical questions in chrome-extensions/freemium/saas. This journey post is the first product mention I'm allowing myself here. The 90/10 ratio is the entire experiment.
  3. Bluesky daily build-in-public — with real numbers. Already tested last week: a post saying "$1 of revenue today" got 4x the engagement of a feature-list product post.
  4. Product Hunt launch — one product (PaletteGrab) on May 27. One launch, properly prepared. Not the "ship all my extensions to PH and pray" approach I tried last year.

Where I actually am right now, honestly:

  • MRR: $19.30 — This is the subscription-only figure (direct debit customer identified). Stripe shows ¥6,047 total income but that includes one-time transactions. The recurring subscription baseline is $19.30/mo. Either way, somewhere in [$19, $40]/mo range is where I am.
  • Extensions live: 17 — across Chrome Web Store and Edge. Main focus right now is on five: Procshot (auto-screenshot guides from clicks), CookieJar (one-click cookie management), PaletteGrab (MV3-native color picker with CSS/Tailwind/Figma export), Japanese Font Finder (font identifier with 150+ Japanese fonts), and DataPick (point-and-click web scraper to CSV). The rest covers productivity (focus blockers, scroll position memory), developer tools, and Japan-specific compliance (advertising law, invoice OCR).
  • DAU: ~215 combined — meaning the average extension has 12-13 DAU. Most of the install→DAU drop happens in the first 30 seconds. Working on the onboarding flow now.
  • Free→Paid conversion: unmeasurable — paywall_shown events are too sparse across most extensions. Two of my biggest (DataPick at DAU 37, PromptStash at DAU 55) had paywall_shown = 0 and 6 respectively over 30 days. That's the next engineering ticket.
  • Channels: Bluesky 35 followers, Dev.to 30 posts at 406 cumulative PV (~13/post — switching titles to "How to/Free/Best" pattern only, since that pattern carries my top 3 posts), Zenn 46 articles at 97 likes total.

Target: $670/mo MRR by May 2027 (≈¥100,000/mo). That's 17x growth from where I am. The math says I need ~+25-30% growth/month compounded. The math also says HN at 1 point per post can't get me there.

Three things I'm watching as the early-warning signal that this pivot is wrong:

  1. If IH front page reach is also zero by end of June, HN wasn't the channel problem — I was.
  2. If PaletteGrab PH launch hits <50 upvotes despite 50-name Squad and prepared Q&A, the issue is the products, not the channels.
  3. If MRR doesn't move by +$10 in the next 30 days, the bottleneck is paywall design, not distribution.

Posting an update here on June 3 with the actual numbers. Replies welcome — especially from anyone who has made the IH-over-HN switch and has data on whether it actually compounds. The cumulative replies thing is supposed to be magic, but I've never seen it work for myself.

Follow my journey:

Cheers.

posted to Icon for group Building in Public
Building in Public
on May 22, 2026
  1. 1

    The 90/10 insight is painful but accurate — I went through a similar phase of treating IH as a broadcast channel and got nothing back. One thing worth testing alongside your IH/Bluesky pivot: the paywall_shown=0 problem on DataPick and PromptStash is probably a bigger lever than distribution right now. If your most-used extensions aren't even triggering the paywall, you're essentially running a free tool. What does the user flow look like before the paywall trigger? In my experience building tools with paid tiers, moving the paywall moment earlier in the flow — before the "aha moment" rather than after — can unlock conversion data you simply can't measure otherwise. Curious what your current trigger event is.

    1. 1

      Yeah, the paywall trigger location is exactly where I'm stuck. Right now on DataPick the paywall fires only when a user exports their 4th CSV in a single session — which almost nobody hits because most scrapes are one-and-done. Same on PromptStash: it triggers after the 20th saved prompt, way past any natural curiosity window. Your point about moving it before the aha moment is interesting — I'd been assuming "prove value first, then ask for money" but the data shows users churn before ever seeing the ask. Going to test a soft paywall on the 2nd export this week and log paywall_shown properly. Will include the before/after in the June 3 update.

  2. 1

    the IH compounding thing works but slower than the HN-bump narrative suggests — less magic, more "you become a known name in 3-6 months and ppl start DMing u". one frame flip: if PaletteGrab lands <50 upvotes on PH, dont jump to "products are the issue" — with 17 extensions u prob have a focus problem, not a product one. pick the extension w/ the smallest install→DAU drop and put all 30 days into that one offer. fwiw bootstrapped hosting 18 yrs — channels only compound when the offer is sharp enough that one happy user creates two new convos.

    1. 1

      The focus-vs-product reframe lands. Honestly the 17 number is partly a portfolio-spray reflex from when I thought "more shots on goal = more chances of a hit" — and 10 months later the data says the opposite. Smallest install→DAU drop right now is PromptStash (it's the only one where retention curve doesn't fall off a cliff in week 1), so it's probably the right candidate to put 30 days into. The "one happy user creates two new convos" line is the bar I haven't cleared on any extension yet — that's a much sharper way to think about offer quality than feature lists. Appreciate the 18-years-bootstrapped perspective, that's the kind of compounding I'm trying to learn to think in.

  3. 1

    The DataPick + PromptStash observation is the sharpest thing in the comments. paywall_shown = 0 on a 37-DAU extension means the paid path is either invisible or the users who would convert are churning before they see it. That's not a distribution problem at all.

    One thing the "$1 revenue today" engagement data is telling you: the transparency posts compound because they make the journey feel real. Feature posts feel like ads. The same shift probably works on IH — the posts that do well here aren't product announcements, they're honest numbers with a question at the end.

    Watching your June 3 update.

    1. 1

      "Feature posts feel like ads" — yeah, that's the part I underestimated for the first 10 months. I kept writing posts that essentially said "here is what my extension does" and wondered why nobody engaged. The Bluesky test was almost accidental: I posted the $1 number because I was frustrated, not because I'd planned it as content strategy, and it outperformed every careful feature post by 4x. Going to keep the format on IH too — numbers up front, question at the end, no product link unless someone asks. Thanks for watching, I'll make sure the June 3 update has actual deltas not just narrative.

  4. 1

    Mechanically what you're describing is reputation-as-prerequisite — HN, IH, and most niche subreddits don't gate posts on quality, they gate on whether your handle has previously been useful. 21 zero-point Show HNs aren't a signal that the channel is dead; they're a signal that the account is shaped wrong for the channel. I did a similar reset on r/iOS this spring with a small indie memo app — three weeks of just answering questions, then one Show post that landed where four prior ones hadn't. The pause + 5-replies-a-day plan is exactly the right shape. One thing I'd watch: spread the IH replies across different threads — 5 stacked under one post reads as ratio inflation, but 5 across 5 threads compounds.

    1. 1

      Reputation-as-prerequisite is exactly the framing I was missing. I'd been thinking about it as "the algorithm hates new accounts" when the real mechanic is "the account hasn't earned the right to take attention yet". The r/iOS story is encouraging — three weeks of answering questions, then one Show post landing, is basically the shape of experiment I'm running. Good catch on the stacking risk too: I was unconsciously planning to concentrate replies on a few high-traffic posts because they're easier to find, but you're right that 5 across 5 threads compounds and 5 under one reads as farming. I'll spread them deliberately and probably track which threads convert to profile clicks vs which just sit there.

  5. 1

    The post frames this as a channel problem, but the numbers tell a different story. 215 DAU across 17 extensions = ~12 DAU each. At those volumes, no channel fix gets you to $670/mo — the unit economics don't work.
    The real signal: DataPick (37 DAU) and PromptStash (55 DAU) are 4-5x your average. Those are the only two where paywall design matters right now. paywall_shown = 0 on a 37-DAU extension isn't an engineering ticket — it's the whole business.
    Fastest path to $670/mo probably isn't HN vs IH. It's concentrating 80% of your effort on those two, sunsetting most of the rest, and pricing them like products instead of Chrome Web Store impulse buys. The bigger question your data is asking isn't which channel — it's which 2-3 extensions deserve the next 6 months.

    1. 1

      This is the comment I needed to read. You're right — the unit economics are the actual story and "which channel" is a distraction at 12 DAU/extension. I've been resisting the sunset conversation because each extension feels like sunk cost, but you've named it correctly: 80% of effort on DataPick + PromptStash is the only path where the paywall work even matters. Pricing as products vs Chrome Web Store impulse buys is the other shift I haven't fully made — currently both are at $4.99/mo because that felt "Chrome-appropriate", but at 37-55 DAU the right price is probably 3-4x that with a real positioning story. Going to draft a concentration plan this week and post it before June 3 for feedback. Appreciate you cutting through the channel framing.

  6. 1

    Honestly curious does the daily commenting on IH actually bring real results? Waiting for your June 3 update hope the numbers increased in the right direction.

    1. 1

      Honest answer: I don't know yet — that's literally the experiment. The only data I have so far is anecdotal from other founders saying "profile DMs started after ~30 days of consistent replies", which is exactly the kind of vague claim I want to either confirm or kill with real numbers. What I'll measure on June 3: profile visits, follower delta, DMs received, click-throughs to dev-tools-hub.xyz, and most importantly any MRR attributable to IH conversations (using a unique UTM). If none of those move I'll say so plainly. Will tag you on the update so you don't have to dig for it.

  7. 1

    The paywall_shown = 0 across DataPick (DAU 37) and PromptStash (DAU 55) is the loudest signal in the post. Either users are churning before hitting the paid path, or the path itself isn't exposed enough.

    Worth checking before assuming it's an engineering ticket: open your own extension as a first-time user, time to discover any paid trigger. If you can't find it in 60 seconds without thinking, your users definitely aren't.

    Separate observation: the 4x engagement on "$1 revenue today" vs feature-list posts is the actual product-discovery insight in your data. Real-number transparency posts compound. Feature posts don't. Bluesky might just be the test arena where you finally let that loose — your IH and Reddit accounts probably can absorb the same shift.

    1. 1

      The 60-second test is brutal and I just ran it on DataPick — it took me, the actual builder, 90 seconds to find any indication that a paid tier exists, and only because I knew where to look in the popup. New user has no chance. That alone is probably the biggest single lever in the post. Fixing the discovery path before touching trigger logic.

      And yeah, the "$1 today" engagement signal generalizing to IH and Reddit is the version of this I want to actually test. The Bluesky result was specific enough that I could've dismissed it as platform-quirk, but if real-number transparency posts compound across all three channels then the format itself is the channel, not the site. That reframe alone changes the next 30 days. Thanks — this comment did real work.

      1. 1

        That 90-second-as-the-builder data is the cleanest signal in the post now. The "format is the channel" reframe is yours, not mine. I just pointed at the engagement gap.

        Will be watching the 30-day update either way. Selfishly curious whether the discovery fix moves paywall_shown before the format shift moves channel reach. If both move, you have a clean separation of variables. If only one, the answer's even cleaner.

  8. 1

    The 90/10 framing is a useful takeaway. The part that stood out to me is treating the channel audit as a product metric rather than a morale issue: submissions, reach, attribution, and follow-up behavior. For your 30-day reset, I'd be curious whether the daily IH replies change the quality of conversations before they change traffic.

    1. 1

      Channel audit as product metric is a useful sharpening — thanks. The morale framing is exactly the trap I'd fallen into ("HN doesn't like me") when the data was just telling me "this account has no submission history that warrants attention". Reframing it as submissions / reach / attribution / follow-up makes it actionable instead of demoralizing.

      Your question about conversation quality vs traffic is the right one to watch. My hypothesis: quality moves first by ~2-3 weeks, traffic only follows if the quality shift is visible enough that lurkers notice. I'm going to log every reply with a tag for whether it generated a back-and-forth or sat dead, and report both numbers on June 3 even if neither moves traffic. That seems like the more honest metric anyway.

Trending on Indie Hackers
AI runs 70% of my distribution. The exact stack. User Avatar 187 comments I'm a solo founder. It took me 9 months and at least 3 stack rewrites to ship my SaaS. User Avatar 153 comments I used $30,983 of AI tokens last month in Claude code on $200/mo plan User Avatar 72 comments my reddit post got 600K+ views. here's exactly what i did User Avatar 41 comments 30 days ago I posted here with $0 revenue. Here's what actually happened next. User Avatar 39 comments I turned someone’s tweet into an app idea and it has made ~$3000 so far in 4 months. User Avatar 35 comments