Share on Mastodon
Use when asked to write a Mastodon post (≤500 characters, the common instance default) announcing a personal project to busy professionals — generating interest, asking for help/advice, and inviting shares in a humble, personal voice — as distinct from [[share-on-bluesky]], [[share-on-facebook]], [[share-on-instagram]], [[share-on-linkedin]], and [[share-on-threads]] (same announcement, different platform conventions), or [[press-release]] and [[copywriting]] (formal/persuasive registers this deliberately avoids).
Mastodon is federated (ActivityPub) and, on almost every instance, strictly reverse-chronological — there's no engagement-optimized algorithm deciding who sees what. That makes boosts (Mastodon's repost) the entire distribution mechanism: a post only reaches beyond its author's followers when someone boosts it into their own followers' timelines, or a follower on another instance sees it federate in. The culture is pointedly anti-hustle and skeptical of anything that reads as marketing; plain, transparent self-promotion is tolerated and often welcomed, polished-sounding self-promotion is not.
What works on Mastodon
- Boosts are everything. There's no algorithmic amplification to fall back on, so a post has to be genuinely boost-worthy to the people who already follow the author — that's the only path to a wider audience.
- Hashtags are the primary discovery mechanism, not an afterthought — full-text search across the fediverse is limited and often disabled by default on an instance, so tags are frequently the only way a stranger finds a post at all.
- Transparency about self-promotion is rewarded, not penalized. Plainly saying "this is a thing I built, feel free to ignore if it's not for you" reads as respectful of the timeline rather than presumptuous.
- Content warnings (CW) are a real convention on some instances, used for long threads or off-topic self-promo so people can opt in rather than have it forced into their timeline — check norms on the instance being posted from.
- Alt text is strongly expected. This is one of the more accessibility-conscious communities online; missing alt text on an image is noticed and sometimes called out directly.
- 500 characters is the common default, not a guarantee. Some instances raise the limit considerably; write to fit 500 so the post works everywhere it might be seen or boosted into.
Structure for a 500-character post
With boosts as the only real distribution path, the post has to work completely on its own for someone who's never heard of the project — there's no algorithm to give it a second chance in front of a new audience.
- First line — the news, plainly stated. What it is and why it might matter, since this is what shows in a boost and in notification previews.
- One honest, personal line. What prompted it or what you're unsure about — the detail that reads as a person, not an announcement.
- One specific ask. A particular kind of feedback, a use case to try, or a plain "boosts appreciated if this is useful to someone you know" — said directly, which this audience responds to better than a coy version of the same ask.
- The link, bare — like Bluesky, links aren't penalized here.
- Two to five hashtags, placed inline or at the end.
Hashtags
Because full-text search is often unavailable across the fediverse, hashtags are how most strangers find a post at all — treat them as required, not optional. Use two to five specific, genuinely relevant tags (e.g. the project's domain or technology, not generic ones like #news). Write multi-word tags in CamelCase (#ProjectAnnouncement, not #projectannouncement) — screen readers parse CamelCase tags word by word, while all-lowercase runs them together unreadably, so this is an accessibility norm as much as a style one. Some communities also expect a specific convention tag for the kind of post it is (for example, an #introduction-style tag when introducing a new project to an instance's local timeline) — worth checking what's customary on the instance being posted from before publishing.
Key components
- Complete honesty about what the post is — announcing self-promo plainly, rather than dressing it up, fits the culture better than trying to disguise it as something else.
- A concrete, specific ask — this audience engages readily with a direct, well-scoped request and is put off by vague ones.
- A direct, unembarrassed request for boosts, since without one, there's no algorithm to compensate for the post's own reach.
- Full self-containment, since a boosted post is often someone's first-ever exposure to the project with zero surrounding context.
Common pitfalls
- Marketing-voiced phrasing — this specific audience is unusually quick to call out anything that reads as promotional spin.
- Skipping hashtags, which on most other platforms is a minor choice but here removes the primary way strangers discover the post.
- All-lowercase multi-word tags, which are both harder to read and inaccessible to screen-reader users.
- No alt text, which this community notices and sometimes flags directly.
- Writing to a higher character limit than 500 without checking the target instance, producing a post that gets silently truncated or rejected when boosted onto a default-limit instance.
Learn more
- Share on Bluesky, Share on Facebook, Share on Instagram, Share on Linkedin, and Share on Threads for the same announcement adapted to each platform's own norms and character budget.
- Copywriting for persuasive-copy technique this style deliberately underplays in favor of a plainer, personal voice.
- Content Calendar for coordinating the announcement's timing across all four platforms.
- Digital Inclusion and Screen Reader for the accessibility norms (alt text, CamelCase tags) this community expects by default.