Reddit distribution for solo founders is a banned-edge ledger, not a content calendar
Most advice on this treats Reddit as a writing problem. It is a graph problem. The compounding asset for a solo founder is not the list of subreddits that accept them; it is the written, dated list of subreddits that silently delete their work, and the one-sentence reason next to each one.
Treat Reddit as a curated graph of 30 to 100 niche subreddits where your problem already gets discussed. Pull newest threads as a batch job, not a feed. Dedup every candidate against a posts table so a single thread never receives two comments from you. Comment without links in the comment that is doing the work. After every removal, ban, or 403 on submit, write the subreddit name, the date, and one sentence of moderator reason into a ledger in your repo. That ledger is the distribution asset. The wins are not. Verified against S4L's live open-source ledger at github.com/m13v/social-autoposter.
What every other guide on this misses
The advice you can find online for a solo founder on Reddit compresses into four lines. Pick 10 to 30 subreddits where your audience lives. Post 2 to 3 times a week. Give value before you ask for anything. Do not spam. All four are correct. None of them is operationally useful, because the hard part is not writing the post.
The hard part is that the graph you are working with is full of edges that look passable from outside and are actually closed. r/learnprogramming will silently nuke an AI-assisted post under Rule 13. r/Python will remove an AI-wrapper showcase under Rule 1. r/coolgithubprojects refuses any text post because it is a link-only sub. r/sales returns a 403 on submit unless you have ten in-sub comment karma. r/KitchenConfidential treats self-promotion as a permanent removal. r/Pizza writes “any use of AI gets an immediate ban” into its rules. None of this shows up in the subscriber count or in the sidebar tagline. You discover it by losing a post.
The founders who survive this channel are the ones who treat every loss as data and write it down. The founders who burn out are the ones who treat every loss as bad luck and try again under a slightly different angle. The first group ends up with a quieter, narrower, more durable channel every month. The second group ends up with a banned account.
The actual ledger, surfaced from the open-source config
S4L's posting config is the same file that drives its engagement engine. The subreddit_bans block inside config.json is the ledger this page is built around. The shape below is the literal counts on the day this page was published.
The shape is two arrays. comment_blocked holds subreddits where leaving a comment now returns an error or silently disappears. thread_blocked holds subreddits where submitting a new post fails or gets removed. Some entries have a one-sentence reason field; many do not, because at some point the cost of writing a reason exceeded the value, and a flat “blocked, do not bother” is sometimes the right primitive.
A scrolling slice of the bans, with cause
What the ledger captures is not a list of bad communities. It is a list of mismatches between a specific account, a specific post shape, and a specific moderator policy. The same subreddit could be open to a different founder posting different content. Reading the ledger as a hate list is the wrong frame; reading it as a list of edges your account cannot currently traverse is the right one.
Each chip is a real entry. Hover to pause the marquee. The full list lives in the open repo and grows by a few entries a week, which means the curve you should expect on your own ledger is a steepish first month, then a long tail of edge cases as you expand your candidate set.
The subreddit graph, minus its banned edges, is the channel
The dedup is the other half of the channel
A ledger of bans tells you which edges to drop. A posts table tells you which threads you have already visited. Together they keep the candidate set narrowing instead of churning. The first time a founder runs cold Reddit discovery and notices the same thread surfacing on three consecutive days is the moment they understand why dedup against a database matters more than sentiment scoring or any other clever filter on the front end.
Three things are doing the work here. The Reddit JSON endpoint at old.reddit.com returns thread listings without any API key, OAuth handshake, or app registration; appending .json to almost any Reddit URL gives the same data the page does, which is enough for read-only discovery. The five-subs-per-request batching keeps your run inside Reddit's rate limits. And the dedup against the posts table is the part that prevents a single thread from receiving two comments from you, which is the most common pattern that gets a solo-founder account flagged as a campaign.
“distinct subreddits already on the public S4L ledger as comment- or thread-blocked. Every entry is a sub you do not have to rediscover by losing a post.”
github.com/m13v/social-autoposter, config.json
The operational shape, in seven moves
If you take nothing else from this page, take this list. Every line is something a solo founder can do today without any tool. S4L automates the boring parts of it; the discipline behind the list is what makes the channel compound.
The seven moves
- List the 30 to 100 subreddits where your problem is already discussed by people who do not know your product exists.
- Read the sidebar rules of each. Cross out any sub that bans self-promotion, AI-assisted content, link posts, or has a karma gate you do not meet. That is the first ledger entry, before you post anything.
- Pull newest threads from the surviving subreddits as a batch job, not a feed. Five subs per Reddit JSON request, hard cap at 50 subs per run.
- Dedup every candidate against a posts table keyed on thread URL. A second comment in a thread you already touched reads as a campaign.
- Comment without links in the comment that is doing the work. Links in Reddit comments are the first thing the spam filter flags.
- After every removal, ban, or 403, write the subreddit name, the date, and one sentence of moderator reason into a file in your repo. That is the durable asset, not the comment that worked.
- Once a month, prune the source list. A subreddit that bans you stays in the ledger forever; it leaves the candidate set.
Why the ban entry is the durable artifact
A comment that worked is a fact about one thread. The thread moves down the feed within hours, the comment ages out within a week, the reader who needed it has either reached you or moved on. The half-life is short.
A ledger entry that records a ban is a fact about a whole subreddit and an entire class of post. It is correct in week one, correct in month six, and almost always correct in year two. Moderator policies on the subreddits that show up in this ledger are remarkably stable; rules against self-promotion, AI-assisted content, and link posts do not loosen. The compounding curve on a ban ledger looks the way the compounding curve on documentation looks: most of the value is in the entries you wrote last year, not the one you wrote this week.
A founder who runs Reddit distribution for two years without keeping a ban ledger is a founder who has spent two years re-deriving the same removals. A founder who keeps a ledger for six months is a founder whose candidate set is now smaller, quieter, and more honest than anyone else aiming at the same audience. That is the moat that is actually available to a solo founder on this channel.
Want help keeping the ledger?
Twenty minutes on the same channel S4L runs for its own engagement. Bring your subreddit list; leave with a ban ledger schema and a curated candidate set.
Common questions
How do solo founders actually use Reddit for distribution?
They treat it as a curated graph of 30 to 100 niche subreddits where their problem already gets discussed, not the front page. They dedup every thread they have already touched against a posts table so a single thread never receives two comments from them. They comment without links in the comment doing the work, and keep a private ledger of every subreddit that removed a post, banned an account, or returned a 403 on submit. The ledger is the compounding asset, because each banned subreddit you remove from the candidate set is a thread you do not waste reading next week. The founders who treat Reddit as a content calendar churn through accounts. The founders who treat it as a graph minus its bans get a channel that gets quieter and better over time.
What does a real subreddit-bans ledger look like?
It looks like the subreddit_bans block in S4L's open-source config at github.com/m13v/social-autoposter. As of the publish date of this page, that block holds 143 comment_blocked entries and 56 thread_blocked entries spanning 163 distinct subreddits, each row carrying a subreddit name, the account that hit the wall, an added_at timestamp, and an optional one-sentence reason. The reasoned rows are specific: r/learnprogramming under Rule 13 (an AI-content ban that triggers an immediate permanent ban), r/Python under Rule 1 (AI wrappers cannot be showcased), r/coolgithubprojects (link-only, refuses any text post), r/sales (karma gate that requires ten in-sub comment karma before any submission), r/KitchenConfidential (self-promo prohibited without explicit mod permission and AI disclosure required), r/Pizza (image-only, with 'any use of AI gets an immediate ban' written into the rules). The unreasoned rows are the bigger lesson: a flat 'blocked, do not bother' is sometimes the right primitive when the failure cause has decayed and is not worth re-deriving.
Why is the banned-edge list more valuable than the accepted list?
Because the accepted list is what every guide on the topic already gives you, and the banned list is what every guide hides. A founder who shows up with the accepted list spends weeks rediscovering which subreddits have rule changes, karma gates, link-only formats, and active anti-AI policies. A founder who shows up with the banned list skips those weeks. The asymmetry is real: a missed acceptable subreddit costs you a few candidate threads a month; a missed ban costs you an account. The ledger is the part of the channel that compounds, because every entry in it is one fewer place you will be silently deleted from next quarter.
Do I have to run S4L to keep this kind of ledger?
No. The ledger is a discipline, not a product. You can keep it in a Notion page, a CSV, a Google Sheet, a markdown file in your repo, or the comments of your bookmarks. The operational shape is what matters: one row per subreddit per ban event, the moderator reason in a single sentence, an ISO date, the account it happened to. The reason S4L's ledger is a JSON block inside a config file is that the same file drives the discovery script, so a banned sub never re-enters the candidate batch. If you do not need that wiring, a plain text file at notes/subreddit-bans.md is enough. The compounding happens because you keep writing in it, not because of the format.
Won't Reddit punish me for the second account if I get banned on the first?
Reddit does correlate signals across accounts (IP, device fingerprint, posting style, mod reports), so a freshly minted alt that immediately starts posting the same content from the same IP after a ban is the most reliably banned profile on the platform. The mistake is treating a ban as a reason to make a second account. A ban on a specific subreddit is a reason to leave that subreddit. A ban on the whole site is a reason to look at the patterns that produced it: same link in many comments, near-identical comments across subreddits, bursts of activity with no gaps, all of which the bans ledger helps you avoid if you were watching it. The path that works for solo founders is one account that stays under the radar by commenting rarely and without links, not many accounts that try to outrun the spam systems.
How does this fit with launching a product?
Launching is one moment; distribution is the rest of the year. The pattern that works is to spend the months before any launch leaving link-free, useful comments in the subreddits on your candidate list, while writing every removal and ban into the ledger. By the time you launch, you have a writable comment history in the surviving communities, a clear list of subreddits to avoid, and at most one or two subreddits with explicit showcase or feedback threads where a launch post is allowed. The launch itself is small: a post or two in the subreddits that permit it, and a normal day of commenting in the rest. The compounding has already happened in the comment history.
Where do solo founders most often get this wrong?
Three common mistakes. First, they pick the biggest subreddits because they have the most subscribers, ignoring that the biggest subs also have the strictest rules and the most aggressive spam filters. The right list is small niche subs where the problem your product solves is discussed by name. Second, they treat removals as bad luck instead of data, so they re-attempt the same subreddit a week later under a different angle and get banned. Every removal is a permanent ledger entry. Third, they confuse a banned-account problem with a banned-content problem; a karma gate or a rule-change ban does not get fixed by writing better posts, so they spend weeks rewriting copy that was never the issue.
Can S4L do this for me end to end?
Yes, two ways. The open source repo at github.com/m13v/social-autoposter contains the same scripts S4L runs, including the ledger schema, the find_threads.py discovery loop, and the dedup against the posts table; you can self-host it with your own LLM credits and own the operational pieces yourself. For founders who would rather not run the engine, S4L also runs Reddit and Twitter brand-awareness as a done-for-you service, priced at $1 per 1,000 impressions and $50 per 1,000 site visits, with the same ledger discipline applied to your own list of subreddits. Either way the work is the same; the only question is whether you want to be the one keeping the ledger.
Related, on the same channel
Reddit marketing for indie apps is a discovery problem
The hard part of an indie app on Reddit is not the comment, it is sourcing fresh threads and skipping most of them. Traced through find_threads.py with a measured 36.5% reply rate.
Reddit marketing cadence per subreddit
Why one global posting cadence fails. The cadence has to be per-subreddit because each community's tolerance for repeat appearances is different.
Build in public distribution moat
The compounding asset of building in public is the indexed evidence trail, not the follower count. A pair to the bans-ledger argument.
Comments (••)
Leave a comment to see what others are saying.Public and anonymous. No signup.