How to Promote Your App Without Being Spammy
How to promote your app without being spammy: a working definition of spam, which channels welcome a pitch, and a six-question scorecard to run before posting.
By Mark Fulton ·

A post is spammy when it is only useful to you. You can test that before posting: delete the link from your draft and read it again. If it still teaches, shows or asks something a stranger would care about, it's a contribution that happens to mention your app. If what's left is an empty announcement, it's an ad, and the room will treat it as one. Spam comes down to two things: the ratio of what you give to what you ask for, and the fit between your post and the room you put it in. Get both right and you can talk about your own app often without anyone minding. The six-question scorecard below lets you check a draft in about two minutes.
Most advice on this stops at "provide value" and "don't be salesy." That's true, and it doesn't help much, because nobody who writes a spammy post thinks they're being salesy. You're excited, you built something real, and it's hard to see your own draft the way a stranger in a busy feed sees it. So this post tries to pin down what that stranger is actually reacting to.
What actually makes a post read as spam?
Nobody reading your post can see your intentions. They see the post, and usually your account history. From those two things they answer one question fast: is this person here to take part, or to extract something?
Three signals push the answer toward "extract":
- The post only has a payload. Take out the link and there's nothing left. No story, no number, no screenshot, no question. The only way to get anything from the post is to click away from the community.
- The account only has one topic. Every post and comment points at one domain. Even a well-written post from that account reads as a campaign, because the history says it is.
- The post ignores the room. A general launch announcement dropped into a community about something narrower, unchanged from the version posted in five other places, with a title that could be anywhere.
The platforms write this down more plainly than you might expect. Reddit's own Reddit Rules ask you, in Rule 2, to "participate authentically in communities where you have a personal interest" and not to spam. That rule isn't about how many links you post. It's about whether you're a participant. Hacker News makes the same point from the other side. Its site guidelines say it's fine to post your own work part of the time, but the site shouldn't be used primarily for promotion.
Neither of those rules gives you a number. You'll see a one-in-ten ratio quoted all over the place as if it were official. Treat it as folklore. The rules that are actually published today describe a behaviour, not a quota. That's more useful anyway, because a quota can be gamed and a behaviour can't.
How do communities measure the give-to-ask ratio?
Nobody keeps a spreadsheet. Communities judge the ratio with their eyes, in about three seconds, by looking at your profile. You can run the same check on yourself.
Open your own post and comment history in the community you're about to post in. Look at your last ten or so contributions there and sort them into two piles:
- Gives: an answer to someone else's question, feedback on someone else's project, a useful link that isn't yours, a post that teaches something without pointing at your product.
- Asks: anything where your app, your link or your signup page is the point.
If the asks pile is bigger, or it's the only pile, your post will be read as spam no matter how good it is. If there's no history at all, you're a stranger, and a stranger's first post being a pitch is the pattern that moderators and regulars recognise fastest.
The fix isn't to farm karma. That's a different kind of spam. The fix is to become a real member of two or three communities before you need them. Answer questions where you actually know the answer. Give specific feedback on other people's launches. It takes weeks, not hours, and nobody enjoys hearing that. It's still the only version that works for more than one post.
There's a quality check hidden in here too. A give only counts if it would be worth something to the person receiving it. "Nice work!" under ten launch posts isn't participation. Regulars can tell the difference between someone who read a project and someone who is warming up an account.
Which channels are built for asking and which aren't?
Not every room has the same tolerance for a pitch, and a lot of spam is really a room mistake. The same post can be welcome in one place and removable in another.
| Channel type | Built for "here's my thing"? | What a good post looks like there | What gets you removed |
|---|---|---|---|
| App directories and showcases | Yes, it's the whole point | A clear description, real screenshots, a working link | A broken link, a paid-only app on a free-to-try site, anything misleading |
| Launch threads and "show" formats | Yes, with conditions | Something people can try, you in the thread answering | A landing page or waitlist, asking friends to upvote |
| Maker communities (side projects, indie builders) | Partly | The build story first, the product as the result | Bare links, reposts, affiliate or referral links |
| Topic communities (a language, a hobby, a profession) | Rarely | Solving a problem the members have, with your tool as one option | Dropping a launch announcement into a discussion space |
| Other people's threads and replies | Almost never | A direct answer, with your app only if it truly answers the question | Replying to unrelated threads with your link |
| Direct messages to strangers | No | A specific, honest reason to write to that one person | Anything sent in bulk or by automation |
The "show" format on Hacker News is a good model of a room that welcomes asking, because its rules are so specific. The Show HN guidelines say the format is for something you've made that other people can play with, that sign-up pages and landing pages are off topic, and that asking friends to upvote or comment is not OK. If you're heading there, the Show HN checklist walks through it step by step. For maker subreddits, the r/SideProject launch post format covers the version that doesn't get removed. For the full map of where each kind of app fits, see where to post your app in 2026.
The pattern in that table: the more a room exists for something other than launches, the more your post has to earn its place before the link shows up.
How do you make a promo post useful on its own?
Write the version of the post that would still be worth posting if your app didn't exist, then add the app as a footnote.
In practice that means leading with one of these:
- A problem and how you worked through it. The specific annoyance, what you tried first, why that failed. The reader who has the same problem gets something from the post even if they never click.
- A number that is actually yours. How long a task took before and after, what a rewrite cut, what broke in production. Real, small and specific beats big and vague.
- A technique others can reuse. How you handled an edge case, a library choice and why, a design decision you'd make differently next time.
- A visual that answers the question in the feed. A screenshot or short recording of the thing doing its job, so people can judge it without leaving.
Then, near the end, one sentence: what you built, that you built it, and whether it's free. Plain disclosure isn't a weakness. Reddit's Rule 5 is "be authentic", and a post that hides the fact that the "tool I found" is your own tool is how a harmless post becomes a deceptive one.
Close with a question a stranger can answer without installing anything. That's what turns a post into a thread. The difference between asking for engagement and asking for help is covered in more detail in how to ask people to try your app, including scripts for community posts.
The self-audit scorecard: run it on your draft before you post
Score your draft on each question: 0 for no, 1 for partly, 2 for yes. Be harsh. You're the only person who will see the score, and the community will be less generous than you are.
| # | Question | 0 | 1 | 2 |
|---|---|---|---|---|
| 1 | The link test. If I deleted the link, would this post still be worth reading? | Nothing left | A thin story | Stands on its own |
| 2 | The stranger test. Does someone who never tries my app leave with something useful? | No | Vaguely | A specific takeaway |
| 3 | Room fit. Do this community's current rules allow this kind of post, and are the people with this problem actually here? | Neither checked | One of the two | Both, checked today |
| 4 | Disclosure. Does the post say plainly that I built it, and whether it costs money? | Hidden or implied | Half said | Both said plainly |
| 5 | My ratio here. Were most of my recent contributions to this community gives, not asks? | No history, or mostly asks | Roughly even | Clearly more gives |
| 6 | The conversation. Does it end with a question answerable without clicking, and will I be around to reply for the next few hours? | Neither | One of the two | Both |
How to read the total (out of 12):
- 10 to 12: post it.
- 7 to 9: fix the lowest-scoring line first, then post. Usually it's question 1 or 6, and both take ten minutes to fix.
- 6 or below: don't post it in this room. Either rewrite it or take it somewhere built for asking.
- Automatic no, whatever the total: a 0 on question 1 or question 3. A post with nothing but a link is an ad, and a post that breaks the room's rules gets removed however well it scores everywhere else.
Here's the scorecard on an invented example. The draft is "Just launched my habit tracker app, would love for you to check it out! [link]", posted in a productivity community by an account with no history there.
It scores 0 on the link test, 0 on the stranger test, 1 on fit (productivity people do track habits, but nobody read the rules), 1 on disclosure ("my app" says who built it but nothing about cost), 0 on ratio and 0 on conversation. That's 2 out of 12 plus an automatic no.
The rewrite opens with the problem: the writer dropped every habit app they tried within a week, and after tracking why, it was always because the app asked for too much input each day. It shows a screenshot of the one-tap check-in that came out of that, says it's free and that the writer built it, and ends with "What made you stop using the last habit app you tried?" That's a 9 before the account history improves, and it will score higher once the writer has spent a couple of weeks answering other people's questions in that community.
What do you do after posting?
The post is half the job. What you do in the next few hours decides whether it reads as a contribution or a drive-by.
Stay and reply. Answer every comment, shortest first. A launch post whose author vanished reads exactly like an ad, because that's how ads behave.
Take criticism in public, politely. When someone is right, say so in the first sentence of your reply. Everyone else reading the thread is judging whether you're a person who can take feedback, and that decides whether they try the app.
Don't cross-post the same text on the same day. Copy-pasting one post into five communities within an hour is the most recognisable spam pattern there is, because people belong to more than one community and notice. If a project belongs in several places, write a different post for each room, and space them out.
Don't manufacture engagement. No asking friends to upvote, no sock-puppet accounts, no paid comments. The Hacker News guidelines say it directly: don't solicit upvotes, comments or submissions. Most communities enforce a version of this, and the penalty lands on your account.
Write down what you learned. If the same objection shows up three times, that's a finding about your product or your pitch. Put the answer in the next post.
If you want other builders to look at your app without the awkwardness of asking in public, trading favors is a cleaner route than posting harder. That's the premise of Favors.dev: trade favors, earn points, launch faster.
Where should the pure "here's my thing" post go?
Somewhere built for it. There's nothing wrong with a post that just says "here's my app, here's what it does, here's the link." It only turns spammy when you put it in a room that exists for something else.
Directories and showcases are the rooms built for exactly that post. Nobody browsing an app showcase is annoyed to find an app there. A listing doesn't need a story, a question or a ratio, and it doesn't scroll away by tomorrow the way a thread does.
That's what TryMy is for. You can submit your app free, a human reviews it, and it stays browsable in the showcase alongside other indie apps people can actually try. The requirements are simple and they're the same ones we'd give you for any community: a real app, a working URL, and something people can try free, whether that's a free app, a freemium plan or a free trial. Nothing scammy, no crypto casinos. A listing won't replace talking to people in communities, and we're not going to pretend it's a traffic strategy on its own. It's where the plain pitch belongs, so your community posts can be about everything else.
Frequently asked questions
How often can I post about my own app?
As often as you have something new to say, in rooms where you've been giving more than asking. There's no published number to go by, so use the scorecard's ratio question instead of a calendar. In practice that means one launch post per community, then another only for a real milestone, a big rewrite or a lesson worth sharing, with plenty of non-promotional participation in between. If the only difference from your last post is the title, it's a repost.
Is it spam to post the same project in several subreddits?
Posting the identical text to several subreddits at once is the pattern most likely to get you flagged, because members overlap and moderators recognise it. Posting the same project to several communities is fine if each post is written for that room, follows that room's rules and is spaced out. Check each community's rules the day you post, because they differ and they change.
Should I comment on other people's posts first?
Yes, if the comments are real. Useful answers and specific feedback on other people's projects are what the Reddit Rules mean by participating authentically, and they make your eventual post read as coming from a member. Generic praise dropped under a dozen posts to build history doesn't count, and regulars notice.
Where can I promote my app without rules against it?
In places built for sharing apps: app directories and showcases, launch formats such as Show HN (which has its own conditions, like no landing pages), and the dedicated self-promotion threads many communities run. Your own channels count too: your newsletter, your site, your social accounts. Anywhere else, assume a pitch has to earn its place with a useful post first.