8
51 Comments

We got 744 signups in 25 days. Here's the growth work we actually did.

We started this project on August 30. In those 25 days, 744 new accounts were created on BeatAPI (https://beatapi.io), and we'd made a little over $900 in revenue.

I wish I could say, "This channel brought us exactly this many customers." I can't. Our attribution isn't good enough, and a signup is not the same as someone getting value from the API. But I can share what we actually spent our time doing, why we chose it, and what I'd change.

It all started with a video task of my own

Before any of this, I had a task: make a batch of AI videos. My first instinct was the obvious one — sign up for a few generation APIs and wire them together myself. That got messy fast. Every provider had its own account, its own request shape, its own way of returning a result. I'm not a professional AIGC creator, and I didn't want to click through a different tool's UI for every image and every clip.

What I actually wanted was to point an agent at the whole job and let MCP handle the connections, instead of me doing it by hand. So I built BeatDesign first: an open-source project (https://github.com/BeatAPI/BeatDesign), local-first — a canvas, a timeline, and a place for your assets in one project — where any MCP-capable agent I already used, Codex or Claude Code or Cursor, could drive that same project instead of me operating a separate app.

Once BeatDesign existed, it needed image and video model APIs behind it to actually generate anything. Wiring those in was the direct ancestor of BeatAPI. But it also showed me something: image and video generation was one pain point, not the whole problem. I still wanted to test different models against each other, still needed data my agent couldn't get from a model alone, and still didn't want to be locked into whichever single agent host I happened to be running that day. BeatAPI grew out of trying to fix that more general version of the same problem — one account, one key, reachable from whatever agent I'm using, for the capabilities behind it.

That's also where our approach to growth comes from. I started by writing down my own pain points as I hit them, in the same rough shape as everything below: what happened, what I tried, what didn't work. Turning that into a habit — checking whether other people had the same problem, not just assuming they did — is what led to the research described in the next section.

We didn't start from a content calendar. We started from a pain-point library.

BeatAPI's Social Data API already covers both X and Reddit, so one of the first things we did was point it at the same job. Using our own API, we had an agent search X for "AI," "AI agent," and "AI model" within a 24-hour window. Three searches returned 60 posts. After removing a duplicate and checking timestamps, 21 were actually inside the window. The agent grouped them into five themes, and we could inspect the source posts behind the brief instead of taking a summary on faith. That's a small sample from one platform, not a map of demand — and the Reddit side of that same catalog hasn't had a comparable pass run through it yet, so I'm not going to describe it as done.

That first-party pull became one input into a broader list we've been building: real complaints, not guesses. We ran research passes over Reddit and X threads about AI agents, model APIs, and content tooling, then merged everything into a working spreadsheet — the original post or comment, the subreddit or account, a link back to the source, and our read on how strong the evidence was. Weak or unverifiable entries got marked as such instead of dropped quietly, and cases that only applied to a narrow user type stayed noted as narrow.

That list is still messy and still growing, and most of it hasn't turned into anything published yet. Its job isn't to prove demand — a forum complaint is not a purchase — but it does keep us from writing about a problem we invented in a planning doc. When a page or a post claims someone struggles with X, we want a real thread behind that claim, not a hypothetical persona, and not just my own experience generalized to everyone.

We started with a question someone already had

When you're building an API product, it is tempting to write about your architecture. We did some of that too. But a developer looking for an API usually has a much narrower problem: Will this model do the job? What will the same request cost? How painful is it to switch providers?

That changed the pages we worked on. Instead of writing another broad "best AI APIs" post, we built model guides, same-spec provider comparisons, and a cost calculator (https://beatapi.io/ai-api-cost-calculator). Take a developer comparing video APIs. The advertised price per second isn't enough: they need to know which resolution and duration it covers, whether the request creates an asynchronous task, and how they'll retrieve the result. We wrote a provider comparison around those questions, including the cases where the other provider may be a better fit.

The commercial reason to try BeatAPI is straightforward: find a lower verified price for the same model and specification, then run a real request. The article or calculator should help someone make that decision even if they don't sign up. If it only works as an ad, it's probably a bad answer to the question.

This is our SEO approach: start with a decision a developer is already trying to make, build the most useful answer we can, and give them a sensible next step. We have published those pages. I can't yet tell you how many of the 744 signups each page produced.

We checked what an AI assistant would find

Search results aren't the only way people find an answer anymore. We also tested questions as a user might ask an AI assistant: which provider fits this workflow, how do the prices compare at the same settings, and what does integration involve?

We looked at the assistant's research path. Which pages did it open? What did it cite? Where did it fall back on a vague claim because the source lacked a price unit, a model ID, or an example request? That gave us a practical editing list for our pages, docs, and comparisons.

I wouldn't call this "we cracked AEO." We haven't proved that an assistant recommendation led to a paying customer. What the exercise did was expose weak answers that a human visitor would also have trouble trusting. Adding the missing evidence helped the page stand on its own.

From one verified pain point to several platforms

Once a pain point clears our bar — a real thread, or a first-party result we can show — we don't write it once and stop. The same underlying evidence usually supports more than one piece: a short reply where the conversation is already happening, a longer guide where someone is actively comparing options, and occasionally a founder-voice piece like this one where the context matters as much as the fact.

We rewrite each version instead of copy-pasting it, because a reply on X and a guide someone lands on from search are answering different amounts of the question. But we don't re-derive the underlying evidence each time — the same verified thread, price table, or first-party result gets reused, so the claim doesn't drift between platforms. I'm not going to walk through a specific case here; most of what's in the pipeline right now is still drafted, not published, and I'd rather point to real links once they're live than describe pieces that might still change.

What the numbers do and don't say

The 744 signups are encouraging. But of those accounts, 284 have a billed API usage record, and 33 have topped up. Those numbers point to the next problem: getting someone from curiosity to a useful first call, and from that first call to a reason to return.

I can't honestly divide the signups into "SEO users," "AEO users," and "X reply users" yet. We need better attribution, and I want to hear from people who stopped after signing up. Was the model missing? Was the price comparison unclear? Did the docs or first key get in the way? More posts won't fix an answer or an onboarding step that fails at the moment of use.

So the growth loop we're trying to build is simple: find a real pain point — starting with my own, then verifying it against other people's — answer it with evidence, join the relevant discussion, and watch whether someone can actually complete the task. The next 25 days should tell us which parts of that loop are working and which parts just look busy.

If you've grown a developer product without a big audience, which specific questions or conversations brought you your first serious users? And how did you learn that they came back for a second task, rather than just signing up?

on September 23, 2026
  1. 1

    Clear and practical, thanks. Did anything surprise you along the way?

  2. 1

    On the docs / first-key part, I’d definitely look at that separately from pricing or model fit. Sometimes the docs are technically there, but a new user still doesn’t know what they’re supposed to do first. Even a really short walkthrough of signup → create key → first successful call could help you see if that’s where people are dropping.

    I’ve been using Guideless for this kind of thing, where you just go through the workflow and it turns it into a step-by-step + narrated walkthrough.

    Full disclosure, I’m also a Guideless ambassador, but I use the product myself.

    If you end up trying it and like it, I can get you 50% off the Pro plan as well.

  3. 1

    the "signup is not the same as someone getting value" line is the one to follow. we shipped a beta to 10 people with no events wired and lost every question we now want to answer. what event would you pick as the first moment a beatapi user actually got value, first successful generation returned? if that were logged with seconds from signup, the 744 would split into two very different groups fast.

    1. 1

      Great question. I'd count the first useful result from the task a user came to do, not just a successful API call. We'll track time from signup to that moment, then whether they return for a second task.

  4. 1

    Appreciate the honesty here, most people only share the wins.

  5. 1

    Helpful post. How did you get your first bit of traction?

  6. 1

    Interesting take. Would you still recommend this approach to someone starting today?

  7. 1

    Thanks for writing this up. Bookmarking it for later.

  8. 1

    Good point. Did you test that with users before committing to it?

  9. 1

    What made you pick this stack over the alternatives?

  10. 1

    The pain point library stood out to me. Starting with real complaints instead of a content calendar is probably why the work feels useful rather than generic. The next thing I would add is simple source tracking through the first successful API call. That way you can see which topic brings people who actually use the product, not just people who create an account.

    1. 1

      Exactly. We need clearer attribution from each channel to signup, first successful call, payment, and repeat use. Helping each user get lasting value matters more to us right now than another traffic spike.

  11. 1

    The “signup is not value” distinction is refreshingly honest. I’d instrument one concrete activation event per use case—e.g. first successful API response or first saved workflow—and put that beside source, landing page, and time-to-first-call. A simple cohort view of source → first success → second task should reveal which channels deserve more effort faster than total signups.

    1. 1

      Agreed. We’ll define activation around a successful first task, then compare channels by signup rate, paid conversion, and continued use after a set period. That should show us where users need more help after the first call.

  12. 1

    What made you pick this stack over the alternatives?

  13. 1

    Makes sense. Are you planning to charge for it, or keep it free for now?

  14. 1

    Interesting take. Would you still recommend this approach to someone starting today?

  15. 1

    Helpful post. How did you get your first bit of traction?

  16. 1

    Curious how long it took before you saw the first real results?

  17. 1

    Interesting. How are you measuring whether it is working?

  18. 1

    One thing that helped me keep signup growth from turning into a list of vanity numbers was adding a next action to every new account or lead. I use three fields: source, stage, and the exact follow-up date. If I can’t name the next action, I don’t count it as an active opportunity. I also do a 30-minute Friday pass to compare signups with activated users and delete one channel that produced noise. The boring part is writing one sentence about why each win or loss happened; that becomes useful when pricing or messaging changes. If helpful, I keep the free First-10 Customers SOP here: https://eastwestkonnex.gumroad.com/l/free-first10-sop

  19. 1

    I’d challenge the “pain-point library” approach a little. It makes sense for avoiding made-up personas, but I’m not sure forum complaints are always the best things to prioritize — people complain loudly about problems they may never actually pay to solve.

    How are you separating high-engagement pain points from high-purchase-intent pain points before deciding what deserves a comparison page or calculator? I’d be curious whether the strongest signals came from repeated complaints, existing spend, or something else entirely.

    1. 1

      Fair point. Complaints alone don’t prove purchase intent. We want to track which topics and channels lead to signups, paid use, and repeat top-ups over time. Early on, retention matters more to us than more traffic.

  20. 1

    Showing when another provider fits better makes your comparison useful even to someone who doesn't sign up. As a reader, I'd be more likely to return when I have a different task. Glad you included that.

  21. 1

    Really relatable. How much time do you put into this each week?

  22. 1

    This is great work — reminds me of some of the calls I've had to make building Xstream4K. What would you do differently if you started over?

  23. 1

    I’ve had better luck treating the pain-point list as a backlog with a stage, not a content calendar. I tag each item by urgency, existing demand, and whether I can show a concrete before-and-after, then publish the one with the clearest decision attached. That also makes attribution easier because the page has a single job beyond collecting signups.

  24. 1

    For us it was replying directly in threads where the exact pain point was already being described, not posting about the product cold. The ones who stuck around were the people who came back with a follow-up question instead of just saying thanks.

    1. 1

      Yes! Our team is going to spend more time in communities like Reddit, listening to the real problems people are running into and seeing how we can help solve them.

      1. 1

        Reddit's a good call, just watch for site-wide spam filters on newer or low-karma accounts, ran into that ourselves recently. Worth building some karma in unrelated subs first before posting anything product-related.

        1. 1

          Thanks for the heads-up! We're taking it slowly with three Reddit accounts, building credibility through genuine conversations and learning each community before sharing anything product-related.

  25. 1

    Curious how long it took before you saw the first real results?

  26. 1

    The pain-point library approach is the right instinct, and the 284/744 billing rate is exactly the question worth asking. You've done the hard part of getting developers in the door — the next problem is whether your first-use experience matches the thing they arrived for.

    For a developer API product specifically, the gap between "signup" and "billed usage" is almost always an integration-complexity problem, not a pricing or positioning one. Someone found you, decided you were credible, made an account — and then hit something: unclear auth flow, a missing model they expected to be there, an asynchronous response pattern that didn't match their mental model, or docs that described the happy path but not the most common error they'd hit first.

    The 33 who topped up are your cohort to study obsessively. What did they build with the first request? How long between account creation and first API call? What question did they type into your docs or your search in the first session? That pattern probably explains most of the drop between 284 and 33, and it's fixable once you see it.

    On attribution: "which specific questions brought your first serious users" is a good question, but for developer products it's often a question someone asked in a forum or Slack six months ago that still ranks or still exists in a thread. The developer finds an old answer, clicks through, tries it — and you have no referrer. Worth looking at which pages have zero traffic but moderate conversion from people who somehow landed on them directly.

    1. 1

      Thanks, this is really helpful. We’re a small team, and most of our bandwidth has gone into growth so far. We’ll look much more closely at usage in the data we already have, and at the real workflows that lead users to top up and keep using the API.

  27. 1

    The distinction between signups, billed usage, and topped-up users is the most useful part of this post. I’d treat the first successful call and the second task as the key activation checkpoints, then cohort those by source and landing page rather than trying to force perfect attribution across every touch. A short “what stopped you?” prompt at the first stalled call could also separate missing capability, unclear pricing, and setup friction. The pain-point library → evidence-backed answer → completed task loop feels much more durable than simply increasing publishing volume.

    1. 1

      Thanks so much for the thoughtful advice. We’ll set up a user follow-up process soon and talk to people directly about where they get stuck in their actual workflows, especially between the first successful call and a second task.

  28. 1

    Curious how long it took before you saw the first real results?

  29. 1

    Curious how long it took before you saw the first real results?

    1. 1

      We started seeing our first users about a week in. Signups were encouraging, but the more meaningful signal was seeing people actually use the API. We're now focused on whether they come back for a second task.

  30. 1

    Nice Strategy, curious to know what are you going to do next?

    1. 1

      Thanks! We're going to start with real problems people bring to their agents. For example, we're exploring a travel skill that helps plan trips, and SEO and go-to-market skills that help people grow their projects.

      The broader goal is to help people connect their own data and capabilities to the agents they already use, so they can build tools that fit their own workflows.

  31. 1

    Really good writeup, thanks for sharing it. What's the next thing you're planning to try here?

    1. 1

      Thanks for reading! We're exploring skills for specific problems people want to solve with agents, including travel planning and SEO and go-to-market work for growing a project.

      The broader goal is to help people connect their own data and capabilities to the agents they already use, so they can build tools that fit their own workflows.

  32. 1

    Curious how long it took before you saw the first real results?

    1. 1

      About a week in, we started seeing our first users. I see that as an early sign, while actual API use tells us more than signups alone. The question we're working on now is what makes someone return for a second task.

  33. 1

    Really inspiring story!

    1. 2

      Thanks! Still figuring a lot of this out — will keep sharing what actually works as we go.

  34. 1

    With 284 accounts showing billed usage but only 33 topping up, what behavior separates users who complete a useful first task from those who return with ongoing API needs?

    1. 1

      Among paying users, roughly 20–30% have kept using the API and topped up again. That’s encouraging, but the sample is still small. We need more users and a longer window before we can say which first-use behavior predicts that return.

  35. 1

    Really solid approach — I'm juggling something similar myself (building Xstream4K on the side), what's been the hardest part for you so far?

    1. 1

      The hardest part is finding where users really lose time, proving we can help, then getting that use case in front of the right people. I spend over half my day testing and sharing use cases. With Muse’s recent launch, we’re exploring an integration to help users put together travel plans faster.