7
18 Comments

Sudden 3,000 installs: a gift from the universe or a repeatable channel?

Last time I wrote here, SelfOS had 700 downloads and I was stuck. Then I shipped version 2.0 — and something happened right after that I still can't fully explain. I promised the wave story; here it is. The part before the wave first.

A little backstory: the night before the wave

SelfOS started long before AI coding existed: I wanted one calm digital space for my whole life — tasks, habits, goals, water, sleep, meals — instead of five apps that don't talk to each other. I use it every day and it genuinely makes my days easier. But I've always wanted it to be a business, however naive that sounds in the age of vibe-coding.

In early August I submitted SelfOS 2.0 — the health update, four new modules, months of evenings after my day job. Google Play approved it in a day. App Store review used to take 1–3 days; since AI-generated apps flooded the queue it's 7–10.

And that's the moment I broke. You know the point where you've done everything that depends on you, and the only thing left is luck? I sat there, submitted, and cried. Not dramatically — just the quiet "what is all this for" kind. I had no marketing plan, no budget, no audience. Just an app I loved and a listing that nobody would find.

August 7: the day fortune visited — a sign, or a coincidence?

The same evening — I hadn't even closed the laptop — RevenueCat started drawing a vertical line. Trials, one after another, while I was still sitting there asking what it was all for. Then the App Store Connect chart:

  • 492 first-time downloads on August 7, 280 the next day, 118 the day after — from a baseline of 1–6 a day
  • The new 2.0 wasn't even live on iOS yet — Apple was still reviewing. People were installing the old version
  • Geo said Ukraine. Someone with a big Ukrainian audience had mentioned the app. I had no idea who.

I read every comment, every review, refreshed every dashboard. Nothing. Then, three days later, an email came to the SelfOS inbox.

Tetiana: the user who found where the traffic came from

A sixth-year medical student in Kyiv, three jobs, a scholarship that wouldn't cover a yearly plan. She wrote:

"It would be great to have a student subscription — I'm a med student in Kyiv and the yearly price is out of reach for me. I'd love to have it, to remember everything :) Thank you for considering my thought."

And a second one the same week:

"It would be great if tasks could be pulled from Google Calendar, so I don't have to type them by hand."

I gave her lifetime access, no conditions. And I asked where she'd found the app. She sent me a TikTok link.

A Ukrainian creator had made a video reading Threads comments out loud. One of them was mine — a comment I'd written weeks earlier, for free, in a different app, answering someone's question. No link anywhere in the chain. Thousands of people heard the name, typed it into the App Store by hand, and installed. That's the whole marketing funnel: 98% of my iOS installs in the last 90 days come from App Store search (2,475 of 2,536). Links brought 33.

Tetiana watched that video in the morning. I keep coming back to this, because it's the reason SelfOS exists at all: I built it for people like us, who need one place where life feels under control and put together, even when nothing around it is. I just didn't expect the first person to tell me that to be a medical student in Kyiv with three jobs.

She's the reason I know where the wave came from — and the reason calendar import shipped in 2.0.1 two weeks later.

Then it happened again: on August 16 a different comment of mine on Threads got ~50 likes and brought 348 iOS installs in a day, 581 over three days. Two waves and their tails added up to ~2,500 iOS installs in August — on top of Android, where the same days looked the same — and the app climbed to #14 in Health & Fitness (Ukraine).

So — sign or coincidence? I still don't know. But I wrote it down here because I want to remember that the answer to "what is all this for" arrived the same evening I asked it.

What the wave was worth

Honest numbers, because "1,000 installs" alone is a vanity metric:

  • Day-1 retention ~17–20%, day-7 ~8%, day-30 ~4%. The same on both platforms, wave or no wave
  • Store conversion: 23.8% iOS, 35.5% Play on average — the listing works when people reach it
  • Ratings: 37 on the App Store at 4.9, 46 on Play at 4.6
  • Chart: #14 at the peak, #151 today. Charts are rented, not owned

The wave didn't build a business. It built a floor: ~10 installs a day that don't go away, and a cohort of people who write to me. Roman, a user from that cohort:

"Using your app and really happy with it, but one important detail is missing. It would be so convenient to add recurring tasks to the to-do list — instead of typing 'take out the trash' every day, set the days when it should appear automatically."

Recurring tasks are next on my list. That's how the roadmap works now: people write, I build.

Then I tried to buy the lightning

A free mention had just done more than anything I'd tried in five months. So, logically, I spent seven weeks trying to pay for the same thing — roughly $800 across every channel I could reach. Short version:

  • A creator's "apps I use" roundup (Ukrainian TikTok, tiny budget) — 23.7K views, 5.1% saves, ~130–150 installs. By far the best paid result I've had. Format matters: it was a list, my app was #2, viewers came with intent.
  • A big lifestyle creator's "morning routine" (TikTok + Instagram, most of the budget) — beautiful content, 27% like rate, 309 saves, a one-day bump of ~30 installs. The app was a prop in someone's aesthetic, and props don't get downloaded.
  • Paid Instagram Stories — 2.2% of the creator's followers even saw them. Stories are locked inside followers; I'm done with them.
  • Small Telegram channels — cheap, unmeasurable, a few installs.
  • Boosting my own TikTok videos — cheap views, real people, and a lesson I'll write up separately: the "followers" objective buys you an audience you don't want, and the in-app price is not the price you see.

Summary: $800 bought me roughly 200 installs. Two free comments brought ~3,000.

What I'm doing now

  • Threads is the engine. Daily replies under other people's threads — "what apps do you use", "Finch alternatives" — written as a person, not a founder. The only channel with a proven result at zero cost. The app now has its own account there too (@selfos.life); the personal one recommends, the brand one answers.
  • TikTok, reluctantly. I'd never made a video in my life and I find it genuinely terrifying, but the wave came from there, so I post now (@selfos1): walks, breakfasts, my bonsai. 500–1,300 views per video, and a surprisingly strict robot moderator I'm still learning to live with.
  • Instagram (@selfos.life) is a shop window. The 600 people there are leftovers from an old account and don't match the content, so Reels rarely reach anyone new. Fixing the base before spending a cent.
  • Pinterest (@selfosapp) woke up after five months: 15K impressions, a pin from June suddenly did 3,200 views in a week. Saves are real, store visits are few. A long game, not a channel yet.
  • Retention is the real problem, and I finally measured it: a third of new users never finish onboarding — they reach the last screen, close the app, and get sent back to screen one on return. That's a code fix, not marketing. It's next.

SelfOS is free on the App Store and Google Play. Happy to share the comment templates, the creator briefs, or the retention funnel data — just ask 🌱

on October 1, 2026
  1. 1

    The distinction between a spike and a floor is really useful. I’d treat each wave as a cohort experiment: tag the source/creative, compare activation and D7/D30 retention against baseline, then only repeat formats that improve retained users—not installs. Fixing onboarding before buying more reach seems exactly right; otherwise paid traffic just scales the leak.

    1. 1

      "Repeat formats that improve retained users, not installs" - that's the sentence I needed, it rules out half of what I was planning to spend on. One honest caveat: my baseline itself is dirty right now, because the 8% D7 / 4% D30 includes the third who never got past the restarting onboarding. So the order is: fix the flow, let two or three weeks of organic run through it to get a clean baseline, and only then compare the next wave against it. Until then any "this channel retains better" claim from me would be noise. Thanks for putting it so plainly.

  2. 1

    The retention split makes this much more useful than an install screenshot. I’d add a simple source-to-activation view next: for each channel, compare store conversion, onboarding completion, and day-7 retention so a cheap spike doesn’t look better than a smaller but healthier cohort.

    1. 1

      Agreed, and that's the view I can't build yet - it's the gap I'm most annoyed about. Right now every wave lands in the dashboard as "App Store search", so I have the funnel only as one blended cohort: roughly 8 out of 10 who reach onboarding finish it, day-7 retention sits around 8%, and I can't say which channel those people came from. Since mid-September every link I control carries a campaign tag, so the first per-source numbers (store conversion at least) arrive this week from a small TikTok test - 22 store clicks, we'll see how many installs. Onboarding completion and day-7 per source need an install-source field in my own analytics, which is on the list right after the onboarding fix. Your framing of "cheap spike vs smaller healthier cohort" is exactly the comparison I want to be able to make before spending again.

  3. 1

    The Threads channel is unusually well evidenced, but with day-30 retention around 4%, scaling it may amplify leakage. Have you isolated retention for users who complete onboarding versus those who drop off?

    1. 1

      Not yet - and that’s exactly what I’m looking at now. I only recently discovered that roughly a third of new users never complete onboarding. They reach the paywall, close the app, and on return get sent back to screen 1.

      So the 4% D30 currently mixes those users with people who actually reached the product. I want to fix that flow first and then measure retention separately for completed onboarding. I suspect it’ll give me a much more useful number.

      1. 1

        That onboarding split should make the retention signal much cleaner once you have it. If you’re open to it, what’s the best email to reach you on?

        1. 1

          Happy to keep the conversation here - the comments are the most useful part of this post for me, and the retention numbers will land in the next one anyway. If it's about something specific, feel free to describe it in this thread.

  4. 1

    This is a great example of why channel attribution matters more than install spikes. I’d save the exact source comment, date, geography, and store conversion for every wave, then compare 7-day and 30-day retention by source. For Threads replies, a small library of genuinely useful answer patterns plus a weekly review of which topics lead to profile or store searches could make the channel more repeatable without turning it into canned promotion. Fixing the onboarding loop before buying more reach also sounds like the right order.

    1. 1

      «Sorry — replied to the wrong thread above, that one was meant for the comment before yours. For you: "a small library of genuinely useful answer patterns" is exactly what I've been doing without naming it — ~10 reply templates for "what apps do you use" / "Finch alternatives" / "how do you track water", rewritten per thread so they don't read as canned. What I haven't done is your second half: logging source, date, geo and store conversion per wave and comparing 7/30-day retention by source. Right now every wave lands in the dashboard as "App Store search" and the trail ends there. A "where did you hear about us" screen in onboarding is on the list for exactly that reason. The weekly review by topic is the part I'm adding — thank you, this is the most useful comment on the post so far.

    2. 1

      That's fair — and it did happen twice (Aug 7 and Aug 16, two different comments), which is the only reason I'm not filing it under (b) completely. But your framing of the $800 is the one I'll keep: that's the real price of an install when nobody says your name for you, and it makes the free ones look like what they are — luck with a repeat rate I can't control yet. Onboarding first, agreed. The fix is small (remember the step instead of restarting from screen 1) and it's at the top of the list before I spend another dollar on reach.

  5. 1

    I'd treat it as (b) until you can make it happen a second time. The $800 for 200 installs tells you more, that's what an install costs when you have to pay for it. With 4-8% left after 30 days I'd fix the onboarding first, otherwise the next wave leaks out the same way.

    1. 1

      That's fair — and it did happen twice (Aug 7 and Aug 16, two different comments), which is the only reason I'm not filing it under (b) completely. But your framing of the $800 is the one I'll keep: that's the real price of an install when nobody says your name for you, and it makes the free ones look like what they are — luck with a repeat rate I can't control yet. Onboarding first, agreed. The fix is small (remember the step instead of restarting from screen 1) and it's at the top of the list before I spend another dollar on reach.

  6. 1

    The 98% App Store search stat is the real story here. It means people heard the name, remembered it, and typed it themselves. That only happens when the name and the value proposition are clear enough to stick.

    What you found isn't a repeatable TikTok strategy. It's that genuine presence in adjacent conversations - where you actually use your own product and help someone with their specific problem - creates word-of-mouth that doesn't need a link. The link would have actually made it less credible, not more.

    The Tetiana detail is the part worth holding onto. 98% of installs came from App Store search. That means App Store optimization is now your most important growth lever - not finding more Threads threads to comment in.

    1. 1

      That’s a really interesting way to frame it. I hadn’t thought about the lack of a link actually making the recommendation feel more credible.

      I agree that ASO matters a lot here, although I see App Store search more as the last step than the source of demand - people still had to hear “SelfOS” somewhere first and remember it well enough to search for it.

      So I think the challenge now is figuring out how to create more of those genuine discovery moments without turning them into marketing. And yes - the Tetiana part is definitely the one I’ll remember most :)

  7. 1

    A spike right after a version bump is easy to romanticize. The useful question is whether those installs share a path you can name (one page, one community, one changelog mention) or whether they arrived as a fog.

    On our Discord discovery side project, vanity joins taught us to split "showed up" from "came back in a week and did one real action." A 3,000 wave that does not return is still a gift — just not a channel yet.

    Did the new version change the first-session loop, or mostly the store listing? That difference tells you whether to chase the listing or the product.

    1. 1

      That’s actually a really useful distinction. The funny part is that the first big wave couldn’t have been caused by 2.0 - it was still in App Store review, so those 492 people installed the old version.

      But some of them definitely stayed. Before the wave I had around 10-20 active users a day on each platform - now it’s consistently around 50-60 on each. Retention itself stayed roughly similar, but the active user base clearly grew.

      So I see the 3,000 installs as a gift that raised the floor - not a repeatable channel yet.

      And I really like your “showed up” vs “came back and did one real action” distinction. That’s a useful way to look at it.

  8. 1

    And a quick poll, since I can't add one to the post: a sudden wave of 3,000 installs you didn't plan — is it
    (a) a sign, keep going,
    (b) a coincidence, don't build on it
    (c) a channel you can rebuild on purpose
    (d) happened to me too and never repeated
    Curious which letter wins:)