every tweet gets 280 characters, and anyone learning how to shitpost on twitter starts from that squeeze: a linked url eats 23 of them whether the link itself was six characters or six hundred. a shitpost survives that squeeze when the reader can tell you meant it and still cannot tell how seriously you meant it. one account keeps that balance for years and gains readers from it, while another tips too far toward sincerity, or too far toward nonsense, and spends a week apologising for a single post.
start with the medium.
the 280-character machine
a post carries up to 280 characters, weighted so that latin characters and common symbols count as 1 while emoji and cjk characters count as 2. every url is wrapped with the t.co shortener and counts as 23 characters no matter how long the original was.
that budget shapes the form. there is no room for a setup, a turn and an explanation, so the explanation goes. a shitpost that needs context is a shitpost that will be quote-tweeted by someone supplying the wrong context, and you will not be there to correct it.
the budget also explains why so much of this genre migrated to screenshots and images: an image costs nothing against the counter. the trade is that images travel without your handle attached, which is either the point or the problem, depending on why you are posting.
the safety rail that decides whether it lands
the mechanism underneath is not mysterious. a. peter mcgraw and caleb warren reported in psychological science, volume 21 issue 8, pages 1141 to 1149, in 2010, that humour comes from violations that are simultaneously seen as benign, with psychological distance one of the three conditions that keeps a violation benign.
two failure modes fall straight out of that. no violation and the post is a normal opinion that nobody repeats. no benignness and you have posted something people read as cruelty, which is what happens every time the target is a specific person who did not sign up for it.
distance is the variable you control. yourself, institutions, categories of behaviour, inanimate objects behaving badly: all of these come with distance built in. a named individual with 400 followers does not, and the reply quoting your post to their friends will be the version everyone reads. the line between spicy and unhinged sits exactly here, drawn by who the target is.
the ranking stack behind a shitpost
x open sourced the code behind its recommendations, and the parts list is worth knowing. the repository describes heavy-ranker as a neural network for ranking candidate posts and real-graph as a model to predict the likelihood of one user interacting with another. it also lists trust-and-safety-models, described as models for detecting nsfw or abusive content, among the components shaping what gets served.
two practical consequences. reach is being forecast per reader based on prior interaction, so the people most likely to see your post are the people who already read you, which makes shitposting a repeat game rather than a lottery ticket. and there is a classifier sitting between your post and distribution that does not know your tone, has never heard of your bit, and reads slurs and abuse as slurs and abuse regardless of the irony you intended.
formats that survive contact with strangers
these are the shapes that keep working, because each one carries its own signal that it is a joke.
- the deadpan announcement: real corporate register, absurd content.
- the too-specific detail: the joke is that you know the exact time it happened.
- the register mismatch: a customer service voice applied to a personal disaster.
- the false confidence: a wildly wrong claim stated as settled fact, delivered flat.
- the literalist reading: taking a common phrase at its word and following it somewhere stupid.
what they have in common is that the violation sits in the framing. nobody has to be hurt for any of these to work, and that is why they age well enough to still be in your timeline three years later. if you want the fuller taxonomy, the definition and examples page covers where the form came from.
the stuff that ends accounts
the mistakes that cost people are consistent, and none of them are about being too funny.
posting into a hostile quote-tweet is the first. once a post has escaped your circle, every reply is being read by people with no idea who you are, and a defensive follow-up gives them a second post to screenshot.
using a real person as the punchline is the second. a named target removes the distance that keeps a violation benign, and everyone who knows that person reads it as cruelty instead of a joke.
deleting under pressure is the third, and it is the one people get backwards. the screenshot already exists. a deletion converts a bad post into a story about a bad post, which travels considerably further.
and the slow one: an account that is only shitposts becomes a genre account, which is fine if that is what you wanted. if it is a personal account you also use for work, the ratio matters more than any individual post, because a stranger arriving on your profile reads the last ten posts as a personality.
where to start
post the thing you said out loud to nobody in your kitchen this morning, with the explanation removed and the specific detail left in. do it on a tuesday when nothing is happening, watch which version of it your existing readers reply to, and write the next one from what you learn. the account that posts a mediocre shitpost every day beats the account waiting for a perfect one, because the model deciding your reach is trying to work out whether anyone wants more from you, and it cannot answer that question from a single post a month.
