The pattern is always the same:
- Someone passionate creates a community
- Early members are deeply invested — high-quality discussions, strong norms
- Community grows, hits the front page / “all”
- New users flood in, post memes, low-effort content, drive-by hot takes
- Old-timers get drowned out
- Mods either burn out and quit, or become dictators ruling their own fiefdom
Reddit’s model accelerates this. Any subreddit that gets popular enough hits the All feed, and at that point the incentives shift from “quality contribution” to “what gets upvotes from the broadest audience.” The people who built the community lose control of it.
I’m working on a social platform and I’m trying to design communities that don’t go through this lifecycle. This is what I have in mind right now. A user’s voting power within a community is proportional to their tenure in that specific community. So if someone’s been there for 2 years, their vote counts more than someone who joined yesterday. No matter how many new users show up, they can’t swing the community away from the people who built it.
The weighting wouldn’t be dramatic, maybe a logarithmic curve where the first month gives you baseline power and it grows slowly over years. The goal isn’t to create an aristocracy, just to make sure the signal from committed members isn’t buried by a flash mob.
Implementation-wise I’m thinking:
- Each community membership has a
joined_attimestamp - When scoring a post within that community’s feed, each boost/vote is multiplied by
log2(days_since_join + 1) / log2(30)— so 1 day = 0.05x, 30 days = 1x, 1 year = ~1.7x, 5 years = ~2.1x - The algorithm still surfaces new content to everyone, but the ranking is weighted toward longer-tenured members’ tastes
- Also considering: a slow-boot period where new members’ posts are held for review by existing members (like a probation phase)
But I’m second-guessing myself. Some concerns:
- Does this just create a gerontocracy where old members gatekeep forever?
- How do you handle the first 30 days when no one has much weight?
- Would this actually prevent the decay, or just slow it down?
- Is there a simpler/better mechanism I’m missing?
Curious what other approaches people have seen work (or fail). Has anyone implemented tenure-weighted voting before?
Edit: I appreciate the suggestions. A few of them actually align with features I’ve already built:
-
Trust graph: The platform already uses directed trust edges, with vouching and inviter accountability (if an invitee misbehaves, the inviter is penalized). I can extend this model from the platform level down to individual communities.
-
Invite-only mode: I already have trust-based monthly invite limits for the whole platform, so adding the same option for communities seems like a natural extension.
-
Slow-boot / probation: This is already in place, new members’ posts are held for curator review before being published.
-
Different interaction types: The system already supports multiple interaction types (like, comment, share, gift, emoji). I’m not sure how to expand these into Slashdot-style categories (e.g. agree/disagree, insightful/funny, quality/shitpost, high/low effort, etc.), but it’s something I’d like to explore.
-
Moderation limits: I like Slashdot’s approach of limiting moderation to prevent burnout. I’m less certain whether meta-moderation would be a good fit here, but I’m open to considering it.
I wouldn’t do it based on join time. Age doesn’t always map to quality, and it might encourage people to make sleeper accounts to age up.
I would do it based on a graph of trust.
Let’s say you’re user 0. You trust yourself. You can then invite or vouch for a user. If they misbehave, it should reflect badly on you. If they post good content, you should share some of the glory. If one of those users invites someone, the good and bad flow upstream.
People no one has vouched for have very little power. You can filter them out with a toggle.
You’d be able to see the web of behavior. If someone keeps inviting or endorsing assholes, then they’re a problem.
Endorsing is different than upvote. You can upvote whatever, but endorsing is saying you trust this person and you’re willing to put your own reputation and access on the line.
Something like that.
Good thinking. The tenure wasn’t gained when idle and was lost at 5% per week after a month of inactivity, but I like using the same trust system I had designed for the platform for each community as well.
We had a solution to this problem in the 2000s and early 2010s when we were on topic-specific forums where each (broad) topic was a separate website where you needed a separate account.
But that had its disadvantages too…
The only important disadvantages are palliated with shared identities, something like OAuth which has been in existence since Internet Forever. But yes, back then when each place had its own… well, place, things were better.
Anything that involves more than a few hundred people goes bad. So create a new community every time you hit a certain criteria.
I already added community forking but it copies all the users, I’ll have to see how I can make the forker change the spirit of the new community.
Invite only or a fee to join. Keep it small. No anonymous accounts.
Just like in-person clubs.
Humans aren’t adapted to interacting with thousands of anonymous people at a time. It brings out the worst in people (Gabe’s greater Internet fuckwad theory).
You can deal with “that jerk” but it’s exponentially harder to deal with dozens or hundreds of jerks in a pile on.
Then you have no content, no reason to use, no network effects. People get bored and leave
Right. On-line communities that work well are effectively impossible.
I’m starting to wonder if “online community” is a contradiction in terms.
Does this just create a gerontocracy where old members gatekeep forever?
I don’t think it determines a gerontocracy (do people really care about upvotes?) and I don’t think it solves the problem you’re worried about either.
How do you handle the first 30 days when no one has much weight?
You show upvotes as a %, so if a post has +.01/-0 it’s still 100% upvoted.
Would this actually prevent the decay, or just slow it down? Is there a simpler/better mechanism I’m missing?
In your scenario, “hardcore” members leave because the signal/noise ratio is so low that the community is not worth following anymore.
That has nothing to do with upvotes and all to do with mods failing to take down meme posts (assuming members don’t like memes).
A community is its mods: if they allow low-effort posts (without meaning to) they are not doing their job properly, and that’s probably due to the job being too difficult and/or requiring too much effort.
You could look into allowing older members to help moderate, or maybe into allowing mods to flag “trusted” users whose downvotes (possibly unbeknown to the users themself) will result in posts being taken down “for review”, or otherwise figure out some other way to help mods out, both when making up the rules (that too takes a lot of effort!) and when moderating posts/comments.
A lemmy/reddit-style community is its mods. Think of how to help them be effective.
Honestly, this feels like trying to program ourselves out of a fundamentally social/human issue. I think that the best way to design a strong-lasting platform is to not over-complicate it. I would look to successful forums, those that are still running or ran for many years. How did they maintain their community?
Ultimately, I suspect that the answer ultimately comes down to the growth curve. Slow and steady growth where new users get assimilated into the platform’s culture is likely how this works.
I think your logarithmic curve is an interesting idea, and if you do implement it, I’d be interested to see the results. However, I don’t know if it will be enough to “maintain” a community. In fact, you may end up with the opposite problem if the algorithm is successful. You’ll have a community that doesn’t change where the oldest accounts rule.
Your ideas, and some in this thread are quite neat.
One thing to bear in mind when working with systems is that you need to use the right tool for the right problem, and to use people tools for people problems and technical tools for technical problems.
This is a people problem.
One of the things that have been successful is branching communities; a good example on lemmy is linux.
There are communities specifically for linux shitposts and memes and easy communication. There are ones for news. There are ones for noobs. And there are ones for discussion of linux in general.
This way, you have easy shit that doesn’t drown out the main idea, while still feeding back into and out of the main idea.
However, this can lead to mod burnout if too many people leak into the wrong area with the wrong posts.
Something that might work nicely is to allow the user to set up ratios of how often they want to see stuff from whichever theme/variation on that theme. 30% news, 20% memes, 50% general discussion.
Or they can set it to 90% memes and 10% general discussion, and see stuff that’s different.
Given things like this comment about how things were better in the 00s because each community had its place, I’d surmise the problem is here:
3. Community grows, hits the front page / “all”Prevent the community from getting “broadcasted”, or filter it somehow via invites or probation period systems, and you remove much of the issue of normies influx.I would like to add something too because I only remember it just now. But I recall someone mentioned that bluesky moderation is unique and I quite like the idea but I’ve never used bluesky myself so idk how true it is. Basically, an account chooses who to trusts to be a moderator for said account. So that content that is curated by said moderator is the one that the account sees. If the account opt to not be moderated then it can see everything
Sorry, I couldn’t understand that moderation system. I’ve made a post about moderations systems here.
If you have time you could implement an experiment in piefed or lemmy to test how it feels.
Would this actually prevent the decay, or just slow it down?
Is there a simpler/better mechanism I’m missing?I guess there are sociology books written about it, but I don’t know any.
Imo the issue is the scope. The best communities online are independent (no reddit or other) forums dedicated to specific things, often moderated by someone payed to do that.
If your incentive is growth and income and the community’s incentive is pertinence either you or the community will have a problem, unless you understand how to manage that equilibrium.
The issue imo is not self regulation mechanisms like voting and weights, but law enforcement and responsability towards the main subject and the community
Strong community norms matter more than clever ranking algorithms, in my experience.






