2
42 Comments

Built a study tool, launched it, made $0 so far. What actually got you your first users?

I've been building StudyLoop for a few months. It's a spaced repetition thing that takes your notes or a PDF and turns them into a review schedule that actually adapts to what you keep forgetting, instead of the flat Anki-style deck where you drown in cards you already know.

It's live. It works. I use it myself for a certification I'm slowly failing to prepare for. Revenue is basically zero.

So I'm not here to announce anything. I'm here because I've clearly got the order wrong. I spent way too long on the product and almost no time figuring out where students actually hang out and whether they'd pay for this or just use Quizlet forever. Classic first-timer mistake and I walked straight into it.

What I'd genuinely like to know from people who've been through this: where did your first ten users come from? Not the growth loop that worked at 10k. The messy early part. Did you cold DM people? Post in niche forums? Give it away to a professor? I keep reading that you should do things that don't scale but nobody says what that looked like on a Tuesday.

Also happy to hear the product itself is the problem. Blunt is fine, I'd rather hear it now.

Anyway, if you want to poke at it: https://studyloop-jelonmans-projects.vercel.app?utm_source=indiehackers&utm_medium=organic&utm_campaign=studyloop_202608

on August 1, 2026
  1. 1

    The numbers here tell the real story. Same here. Send me a message when yours shift.

  2. 1

    @cravveo 43 sent, zero replies. Same number I'm staring at, different product.

    And no, nobody opened the exam paper on Wednesday. I didn't nudge, so it's a clean zero.

    On the line: I think it reads as a line when it's the only unusual sentence in an otherwise normal email. A shop owner can't check a promise about what you'll do next week, so that sentence is asking for trust it hasn't earned yet. What they can check is the thing in front of them. Four lines, no link, no attachment, one specific broken thing. The restraint is already visible, so you don't have to claim it. I'd cut the sentence and let the shape carry it.

    What I'd test instead is sending the fix rather than the finding. Not "your checkout 500s on mobile" but the two lines that stop it. Ten minutes of your time, and much harder to ignore than a scan result.

    1. 1

      @jelonman Same boat, then — 43 and 0 for me, a clean 0 on Wednesday for you. Oddly good to be comparing notes on the same number.

      You've talked me out of the line, and you're right about why. "The restraint is already visible, so you don't need to claim it" — a four-line email, one problem, no links already is the experiment. Saying it out loud just asks for trust I haven't earned. Not adding it.

      The "send the fix, not the finding" idea is the one I keep chewing on, because it collides head-on with my pricing: the copy-paste fix code is literally what I charge €9.90 for. Giving it away in the cold email is giving away the product.

      But maybe that's backwards. One free fix for the single worst issue — the actual two lines, pasted right in — as the thing that earns the reply, while the full list + PDF stays paid. The finding-only email is earning 0; a working fix sitting in their inbox is a lot harder to ignore.

      My worry: does one free fix open the door, or does it just hand them the only fix they needed and end the conversation? Where would you put that line — one fix free, or none?

      1. 1

        @cravveo Wednesday came back clean. Nobody opened without a nudge. That uncomfortable zero still holds.

        You are right about the line. To a shop owner who has not earned trust yet, "I will not ask again until you reply" reads like a promise about next week. They can see the three lines in front of them. They cannot verify anything about my future behavior. The restraint is already built into the email shape, so saying it out loud just asks for trust I have not earned.

        I cut it.

        The metric I am watching now has shifted. It is not opens, and it is not replies either. I am tracking whether anyone comes back to the tool without me nudging them, and I am checking it every Friday in the spreadsheet. That is what matters most right now.

        1. 1

          @jelonman That's the cleaner metric, and the Friday spreadsheet makes it real — a return you didn't ask for is about the least fakeable signal there is.

          The one difference for me: AbleScan is one-shot, not a tool they come back to, so I don't get a "returns" number. My version of your Wednesday is a reply that engages the problem before it asks the price — someone re-describing what's broken, not "how much." Same test, one round earlier.

          Both still at zero. I'll flag it the moment mine moves — you do the same.

          1. 1

            @cravveo Deal. The moment mine moves, you hear about it here.

            You asked a question I skipped: one fix free, or none. One. The single worst issue, the actual two lines, pasted in the email. The finding-only version has earned 0 out of 43, so the thing you are protecting is not selling anyway. And if one pasted fix was all a shop needed, that shop was never going to pay 9.90 for the full list. The ones who do reply are telling you they have more broken than one fix covers. That is the buyer.

            Your "engages the problem before asking the price" test is the right one round earlier. I am stealing it for the exam paper too.

            1. 1

              @jelonman That's the argument I needed — "protecting a paywall that's earned 0/43" lands hard. And you're right that one fix can't cannibalize a buyer who needs the whole list. So I'm going to test it: single worst issue, the actual two lines, pasted in, next batch. Glad the test travels — tell me when your Friday number twitches.

              1. 1

                @cravveo One fix free, and the line goes right before the CTA. No apology, no explanation. You already said zero replies with the finding-only approach. A working fix earns the reply; the rest stays paid. Drop me a note when your Wednesday number moves. Same here.

                1. 1

                  Did it today — 9 went out, each with the one working fix inline, right before the ask. No apology, no "just following up." Finding-only was 0/47, so there's nothing left to protect. Now we both wait on the Wednesday number. I'll ping you the second mine moves — you do the same. Thanks for talking me into it.

                  1. 1

                    Nice work getting it out. 0/47 finding-only made the choice obvious — the fix-inbox approach was always the right move. Ping me when yours moves.

  3. 1

    @devenzapp Same wall here too. Zero until I just started answering one post a day in the places people already complained about the problem I solved. No templates. Just showed up when someone needed help. The hiding was the blocker, not the building.

  4. 1

    Same wall here for a long time — tools weren’t the blocker, a tight weekend plan was.
    I packaged the sprint I run now into a $19 kit (calendar + listing formulas + 3 outreach templates): https://buy.polar.sh/polar_cl_GSq0Jo4cKD5hdHsX2ObX4O6jyGnkQLsRVh2Mn1obMuK
    Curious what got you past $0 if you’ve already crossed it.

    1. 1

      Honest answer: I haven't crossed it. 53 products on Gumroad, 0 sales, 0 Stripe charges.

      The plan wasn't my wall either. Traffic was. When I finally counted, 32 of 50 Gumroad products had no inbound link anywhere, the store had no store page at all, and 18 of my Etsy listings had zero pins. Nobody was ever going to find them. I'd been shipping for months without checking that.

      So that's what I'm fixing now instead of building the next thing. If your kit covers where the first 100 visitors come from, that's the part I underrated.

  5. 2

    You already named the real problem in the post: product order before distribution order. I did the same — spent months building, then dumped budget into ads because "traffic = users". Spent €150 on Google Ads for a browser tool, got 0 installs. What actually moved the needle was replying inside the communities where the pain already gets described out loud. For StudyLoop that's r/medicalschool, r/anki, study Discords — students already complain about drowning in cards they know. Be useful there for a month before you touch ads. And yes to the Quizlet point: get 5 people to the point of "I'd pay to never see these 30 cards again" before deciding pricing matters.

    1. 1

      The €150 for 0 installs is a useful data point, thank you for putting a real number on it. I was close to doing the same thing.

      r/anki is the one I'd have skipped, and it's probably the sharpest of the three: those people have already accepted the workload and complain about it out loud. That's a much better signal than someone who has never built a deck.

      The "5 people at I'd pay to never see these 30 cards again" bar is what I'm going to work to before I think about pricing at all.

  6. 1

    Rough part of the story is the normal part. The build always feels more finished than the distribution does.

    For first 10 users specifically: forums and subreddits where your exact user already complains (r/medschool, r/GetStudying, exam-specific Discords) beat cold DMs for conversion, but cold DMs beat forums for speed. Do both, expect single digits from each.

    One thing that's underrated for a tool like this: a 30-60 second video showing the adaptive scheduling actually working, not a screenshot. Spaced repetition is hard to explain in text but obvious the moment someone watches it re-surface a card they forgot. That clip is what you drop in the Reddit comment or the cold DM instead of a link. Link alone gets ignored, link plus "watch this" gets clicked. (I ended up building a tool for exactly this because I kept needing quick demo videos and hated the editing. Happy to make you one free if useful, no strings.)

    1. 1

      That link looks tracked. If BrandNarratives solves the problem you mentioned, check it out directly at their site instead of clicking through here.

    2. 1

      The video point is the one I'm taking. I've been trying to explain adaptive scheduling in text and it reads like every other flashcard app. Watching a card you forgot come back at the right moment is the whole pitch and it takes 30 seconds to show.

      Agreed on doing both forums and DMs rather than picking. I've been doing neither properly, which is worse than doing one badly.

      Recording that clip this week.

  7. 1

    Everyone here is answering "where are the users" — all solid. Let me answer a question you didn't ask but will hit next week.

    I've shipped four products. All four died at the exact spot you're standing on: live, works, $0, "I'll figure out distribution next." What killed them wasn't the growth loop.

    $0 with no users feels like failure, and a builder's instinct when something feels like failure is to retreat into building — one more feature, or worse, a fresh idea that isn't tainted by this discomfort yet. Building is comfortable. Strangers who might say no are not. That retreat is the killer, not the missing channel.

    So "unscalable on a Tuesday" — honestly, I'm at $0 too, I won't pretend I've cracked it. But the reframe that stuck: those manual conversations aren't for getting users, they're for getting a signal you don't have yet. Your $0 isn't "no demand" and isn't "bad product" — it's "no data," because nobody's been in front of it long enough to tell you which. Put StudyLoop in front of 5 people cramming for one specific exam and watch for the only signal that counts: do they open it again on Wednesday without you reminding them?

    Whatever you do, don't let the $0 push you back into the build cave. That's the move that turns one dead product into four.

    1. 1

      This is the comment I needed and didn't ask for. Four products dying at the same spot is a hard thing to read, mostly because I can feel the retreat you're describing already. I've caught myself twice this month sketching a new feature instead of talking to anyone.

      You're right that building is the comfortable move. The honest reason is that a feature can't say no to me.

      Not going to pretend I've solved it. But naming it as the failure mode rather than the missing channel changes what I do tomorrow.

      1. 1

        "A feature can't say no to me" — that's the cleanest version of it I've read, and it's mine too. The retreat isn't laziness; it's that the code always answers and a person might not.

        No cure here, but the thing that finally got me off the editor was making the scary move smaller than the safe one. Not "do outreach" — that's a whole channel, easy to flinch from. Just: one honest message to one person who has the exact problem, today, and it's allowed to get nothing back. A feature costs an evening; one message costs four minutes. That low bar is the only reason I actually send it instead of opening the editor.

        If you send one this week, I'd genuinely like to hear what came back — even if it's silence. That's the number that teaches.

        1. 1

          Zero on the money side, still. I checked the payment account before writing this so it is a real number and not a feeling.

          What did come back was this thread. Eight people answered, you twice, and none of it turned into a sale. Before this I could not have told you which part was broken. Now I know people read it and nobody reaches for a card.

          Your framing of the cost is what got me moving. A feature costs an evening and a message costs four minutes, and I had those the wrong way round in my head, because a message can fail in front of a person and the code never does.

          So: replies yes, money no. I am reading the money silence as missing data and sending more this week.

          1. 1

            "Replies yes, money no" — that's the exact split I'm sitting in, and checking the account before writing instead of guessing is the discipline most of us skip. Respect.

            One trap I'd flag, only because I'm walking into it too: at a handful of messages, money silence is still missing data, not a no. The card is the last and hardest step — it can stay quiet for a while after the thing is actually wanted. So I wouldn't read the money line yet.

            The signal I'd watch one notch earlier: does any reply pull forward without you pushing? A question back, a "how much," someone opening it a second time. Replies that die vs. replies that lean in — that gap tells you more right now than the money total, and it points at what to fix.

            Same boat here — I'm sending too, same silence on the money line. Send the batch, watch which replies lean in, and tell me what you see. I'll do the same.

            1. 1

              Everyone here is answering "where are the users" - all solid. Let me answer a question you didn't ask but will hit next week: I've shipped four products. All four died at the exact spot you're standing on: live, works, $0, "I'll figure out distribution next." What killed them wasn't the growth loop. $0 with no users feels like failure, and a builder's instinct when something feels like failure is to retreat into building - one more feature, or worse, a fresh idea that isn't tainted by this discomfort yet. Building is comfortable. Strangers who might say no are not. That retreat is the killer, not the missing channel. So "unscalable on a Tuesday" - honestly, I'm at $0 too, I won't pretend I've cracked it. But the reframe that stuck: those manual conversations aren't for getting users, they're for getting a signal you don't have yet. Your $0 isn't "no demand" and isn't "bad product" - it's "no data," because nobody's been in front of it long enough to tell you which. Put StudyLoop in front of 5 people cramming for one specific exam and watch for the only signal that counts: do they open it again on Wednesday without you reminding them? Whatever you do, don't let the $0 push you back.

              1. 1

                This is the most useful thing in the whole thread and it isn't even about channels. "The retreat into building is the killer, not the missing channel" — that one landed. I've got a couple of small things live myself, all parked at the same $0, and I can feel the pull to open a new file instead of a new conversation. The code never says no to me. People might.

                Your Wednesday test is the sharp version of what I was fumbling toward with "replies that lean in." A reply is a maybe. Someone opening it again without you nudging them is the first real yes — that's the number I'm going to track now. Not opens, not replies. Returns.

                So let's actually do it: I send my batch this week, you put StudyLoop in front of five people cramming for one exam, and we both come back and say who came back on Wednesday. Signal, not vibes. Deal?

                1. 1

                  Reply to @cravveo on Indie Hackers

                  The retreat into building is indeed the killer. I have seen it too. Four products that all hit $0 is a pattern, not bad luck. The question is whether you are building because you are avoiding the harder work of finding people who will pay, or because you genuinely have not found the right signal yet.

                  What helped me: looking at each of my four failures, there was always one moment where I could have talked to 3-5 people facing the exact problem, instead of just building another version. Not find users broadly just specific conversations that surface whether people actually want what you are making, even at $0.

                  You mentioned a couple of small things live yourself all parked at the same $0. If you are willing to share what they are even anonymously I would be curious whether the problem is the offer the positioning or simply that no one has been in front of it long enough to tell you yes or no.

                  The discipline of checking before guessing is exactly right. If you would like I can help you frame a specific low friction conversation to test whether your current thing moves the needle without building anything new.

                  1. 1

                    Straight answer to the hard question: I've absolutely done the avoidance version. Three small things live, and every time the $0 got uncomfortable I reached for the next build instead of the next conversation. The cold-email thing I'm doing now is the first time I've made myself sit in the conversation I was dodging — so your "retreat is the killer" hit because I'd just lived it.

                    The main one is AbleScan, a free accessibility scanner. And here's the thing: the batch I'm sending is exactly the low-friction conversation you're offering to help design. I scan a real shop, find the one genuinely broken thing, and email the owner leading with their problem, not the tool. So the test is already live.

                    What I honestly can't call yet is your split: is the $0 an offer/positioning problem, or just not enough at-bats to have earned a yes or no? Nobody's been in front of it long enough. The next handful of replies is the first place that answer shows up.

                    So yeah, I'll take the help — not "find me users," but this: looking at that setup (scan a shop → lead with their broken thing → no ask until they reply), what's the one thing you'd change about the framing? Say it here so the next person copying this play gets it too.

                    1. 1

                      @jelonman Honestly one of the most useful replies I've had here — thank you.

                      Real update since that post: I sent 10 more today (43 total), still zero replies. So the number I watch hasn't budged — which is exactly the uncomfortable part you're pointing at.

                      On leading with the specific issue: that's already how the email opens — two concrete things the scan flagged, in plain language, before anything else, and the scan link only goes out if they reply. So I think the gap you caught is between how I described the funnel in the post and how the email actually lands. Either way, fair — I'm going to push the single worst issue harder to the top.

                      The line I keep turning over is "I won't ask again until you reply." My follow-up is already once-and-done, no guilt — but saying it up front, as an experiment instead of a pitch, is a different move. My worry: to a busy shop owner, does that read as honest, or as a line? Curious how you'd hear it.

                      And you — did anyone open the exam paper on Wednesday without you nudging? Same test. I want to know if it moved.

                    2. 1

                      Straight answer: yes, I've felt that pull too. Four products at $0, and every time the instinct was to open a new file instead of having the conversation I was dodging. The batch you're sending is the first time you've made yourself sit in that conversation. That's exactly the insight.

                      About the framing: if I could change one thing, it's leading with the specific broken thing you scanned. The accessibility scanner is the hook; the email to the owner leading with their problem is the method. The $0 isn't the problem, it's that nobody's been in front of it long enough to tell you which signal matters. Your test (5 people cramming for one exam, check if they open it on Wednesday without a nudge) is the first place the answer shows up.

                      I'll take your help: looking at that setup, the one thing I'd change is making the "no ask until they reply" the explicit frame from the first email. Make it an experiment, not a pitch. That way the yes/no is earned, not assumed.

  8. 1

    The exact thing you're missing has a number: cold conversion rate.

    With any inbound channel — posts, content, directories — strangers who don't know you convert at roughly 0.5–1%. If a post reaches 200 relevant people and 1% click, that's 2 viewers, maybe 0.02 signups. You need 50–100 solid posts before one person pays. Zero revenue at launch isn't a signal the product's wrong — it's just the math of a small audience. Everyone walks into this.

    What actually changes the rate is pre-existing trust. Someone who's already had a real interaction with you — on a forum, in a thread, via DM — converts at 5–10x that baseline.

    For your first 10, skip every inbound channel entirely. Pick one specific high-stakes exam community — MCAT, CFA, bar prep, any cert with a deadline — and spend two weeks being useful in threads, zero mention of StudyLoop. After a few helpful replies under your name, DM the people who are 6–8 weeks from their exam and offer free access in exchange for a 30-minute feedback call.

    Ten calls will surface the exact moment someone decides to switch from Anki or Quizlet. That's the question you actually need to answer right now, and "getting first users" and "finding people willing to tell you why they'd switch" are the same activity at this stage.

    1. 1

      That maths is the useful part, thanks. I've been reading the $0 as "the product is wrong" when by your numbers I simply haven't posted enough times for one sale to be likely yet.

      One thing I'd add from this post specifically: it's sitting at 93 views and still nothing, so I think there's a second problem stacked on top of volume. Someone landing on StudyLoop can't tell in five seconds whether it beats the Anki deck they already have. That's a message problem, not a reach problem, and more posts on their own won't fix it.

      So: keep posting, but also get one line on the page that names the actual difference. Appreciate you putting a real figure on it — easier to work against than "do more marketing".

  9. 1

    For the first ten, I would not start with generic student communities. I’d pick one narrow exam with a deadline, find people 30 to 60 days out, and offer to convert one messy PDF or notes folder into a real review plan while you watch them use it. The win is not the signup, it is hearing the exact moment they say "I would never maintain this myself" or "Quizlet is good enough." That tells you whether you have a wedge or just a nicer workflow.

    1. 1

      Picking one exam with a deadline is the bit I hadn't thought of. I've been treating "students" as the market, which is why every channel felt equally plausible and equally dead.

      The line about listening for "I would never maintain this myself" is the useful test. That's a different thing from whether they like the app, and I'd have missed it by asking for feedback instead of watching someone use it.

      I'm going to do exactly that with one exam cohort rather than keep posting into general study communities. Thanks for being specific.

  10. 1

    The real insight here is that before you chase Reddit threads or Quizlet switchers, you need to answer one question: does your adaptive scheduling actually compress study time vs a flat SM-2 deck? That's your differentiator, and it's the thing Quizlet can't easily copy. If you can prove that in black-and-white numbers (10 hours to mastery vs 15 with Anki), that becomes your entire acquisition message. "Cut your study time by 33%" beats "smarter cards" every time. And if it doesn't beat the baseline? That's not a distribution problem, that's a product problem worth fixing first.

    1. 1

      You and marc_kumiko123 landed on the same thing from different directions, which makes me think it's the real gap. I don't have the compression number.

      "Cut your study time by 33%" versus "smarter cards" is the difference between a claim and a sentence, and I've only got the sentence. Measuring it against a flat SM-2 deck first.

      And yes, if it doesn't beat the baseline that's a product problem I'd rather hit now.

  11. 1

    One thing worth checking before you chase distribution: log your own review sessions for a couple weeks and compare total reviews-to-mastery against a plain SM-2 deck at the same retention target. If your adaptive scheduling doesn't beat that boring baseline by a real margin, no amount of distribution fixes the core pitch. If it does, that's a concrete number to lead with instead of "adapts to what you forget."

    1. 1

      Fair, and I don't have that number. I've never run StudyLoop against a plain SM-2 deck at the same retention target, which means "adapts to what you forget" is a claim I can't back.

      That's a two-week measurement, not a research project, and it's cheap compared to guessing at channels. Doing that before any more distribution work.

      If it doesn't beat the baseline, better to find out now than after I've talked 50 people into trying it.

  12. 1

    The useful thing about having almost no users yet is that you don't actually have to solve "growth."

    You need enough contact with the right students to learn why they choose their current study method and what would make them abandon it. Ten conversations that expose that switching decision might tell you more right now than ten signups from a directory.

    1. 1

      Reframing it as "I don't have to solve growth yet" actually helps. I'd been treating this as a funnel with no traffic, when the honest state is that I've never watched one student decide to stop using Anki.

      The switching decision is the thing I know least about and it's the cheapest to learn. Ten conversations is a week, not a quarter.

      Doing that instead of another directory submission.

      1. 1

        A lot has changed since your original post. I’m curious — after looking at this more closely, what have you learned about why students actually switch from their existing study method, and what has stayed uncertain?

        1. 1

          I don't know yet. I only committed to finding out about an hour ago, which isn't the same as having found out.

          What I have is a sharper version of the question. Two people in this thread pointed at the same missing number: whether adaptive scheduling actually cuts time to mastery against a plain SM-2 deck at the same retention target. I've never measured it. Until I do, "why students switch" has no answer, because I can't say what they'd be switching to.

          What stays uncertain past that: whether switching is about efficiency at all. It might be about the deck you're behind on and feel guilty about. Those are different products.