---
name: share-on-mastodon
description: 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).
---

# Share on Mastodon

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.

1. **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.
2. **One honest, personal line.** What prompted it or what you're
   unsure about — the detail that reads as a person, not an
   announcement.
3. **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.
4. **The link**, bare — like Bluesky, links aren't penalized here.
5. **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.
