Accepting user content means accepting a queue
I have a typing game — web and mobile, races, leagues, the usual. For a long time the texts people typed came from a fixed set I had assembled myself, which is fine until you notice the same paragraphs coming round again.
The obvious fix is to let players submit texts. Implementing submission took about a week. Deciding what happens after submission took considerably longer, and is the part worth writing down.
The moment you accept content, you own a queue
A submission form is not a feature on its own. It is a promise that somebody looks at what arrives. As soon as that is true, you have committed to work that recurs forever, scales with your success, and is done by you.
For a side project that is a serious commitment, and it is easy to make it accidentally. The failure mode is not dramatic: a queue fills up, review is dull, review slips, contributors notice their submissions sitting untouched, and they stop bothering. The feature has not broken. It has just quietly stopped meaning anything.
So the design question is not "how do users submit texts". It is "how does this queue stay short enough that I keep looking at it".
What actually helped
Roles, so trust is a property of the account. Moderators exist, and a text submitted by a moderator is auto-approved rather than queued. This sounds like a small convenience. It is really the pressure valve: the people most likely to add content in volume no longer add to the pile that one person has to work through.
Restricting who can suggest, at first. Submission started limited to people who had already contributed a dictionary, then widened. Starting narrow and loosening is reversible in a way that starting open is not — you can always open a door later; taking one away reads as a punishment for everyone who was using it.
A pending state that is visible to the author. Somebody who submitted a text should be able to see that it is waiting, not wonder whether it vanished. Nearly all of the perceived unfairness in moderation is really an absence of feedback.
The part I got wrong first
My first instinct was a quality bar: rules about length, language, formatting, enforced at submission. That is the engineer's answer, and it addresses the wrong problem. Bad submissions were never the bottleneck — my attention was. Rules add friction for the people submitting good texts and barely inconvenience anyone submitting nonsense, who is not reading the rules either.
Roles and auto-approval reduced the queue. Validation rules only reduced the number of people willing to fill it.
Why it belongs in a portfolio
This is a hobby project, but the shape of the problem is exactly what a client means by "we want users to be able to add their own X". The interesting design work is almost never the form. It is the review path, who can bypass it, what happens to the submitter while they wait, and whether the whole thing still functions when the person operating it is busy for two weeks.
That last question is the one worth asking before building the form.
- Product
- Moderation
- Side projects