Broadsheet Open Broadsheet

← All feeds

Community feed

Across networks

by AndreasThinks · version 1 · updated 28 Oct 2026 · reads Bluesky following, Mastodon home, Bluesky discover, Mastodon trending

What's being talked about on more than one network at once.

A post ranks higher when the link it shares (or the post itself, cross-posted) turns up on Bluesky and Mastodon, and when more different people shared that link. Hashtags in use on both networks add a smaller boost. Everything else is scored by engagement within its own network and decayed with age, so a lively single-network post can still appear lower down.

Discover and Trending are included as sources so a link spreading outside the people you follow still counts towards "talked about elsewhere".

What it rewards

  • On other networks
  • People sharing the link
  • Tags used elsewhere
  • Engagement

A post's score is these added together.

Read the code · 42 lines of Python
"""What's being talked about on more than one network at once.

A post ranks higher when the link it shares (or the post itself, cross-posted) turns up on Bluesky
and Mastodon, and when more different people shared that link. Hashtags in use on both networks
add a smaller boost. Everything else is scored by engagement within its own network and decayed
with age, so a lively single-network post can still appear lower down.

Discover and Trending are included as sources so a link spreading outside the people you follow
still counts towards "talked about elsewhere".
"""
from crossposter.feeds import Feed, Post, Ctx

feed = Feed(
    name="Across networks",
    description="Links and topics turning up on Bluesky and Mastodon at the same time.",
    sources=["bluesky:following", "mastodon:home", "bluesky:discover", "mastodon:trending"],
    window_hours=24,
    include_replies=False,
)


DISCOVERY = {"bluesky:discover", "mastodon:trending"}


def keep(post: Post, ctx: Ctx) -> bool:
    if ctx.is_mine(post):
        return False
    # Discover and Trending are there for context: show their posts only when they reach another network too.
    from_people_you_follow = not set(ctx.seen_in(post)) <= DISCOVERY
    return from_people_you_follow or len(ctx.networks_discussing(post)) > 1


def score(post: Post, ctx: Ctx) -> dict:
    decay = 1 / (ctx.age_hours(post) + 2) ** 0.8
    nets = len(ctx.networks_discussing(post))
    shared_tags = sum(1 for t in ctx.tags(post) if len(ctx.tag_networks(t)) > 1)
    return {
        "on other networks": 4 * (nets - 1) * decay,
        "people sharing the link": 1.5 * ctx.log1p(ctx.people_sharing_link(post) - 1) * decay,
        "tags used elsewhere": 0.5 * min(shared_tags, 3) * decay,
        "engagement": 2 * ctx.normalised_engagement(post) * decay,
    }
Open in your browser

Opens Broadsheet in this browser on this feed, where you can add it. Nothing to install.

Have the app? Go to Feeds › Community › Across networks.

Checks

  • ✓No network or file access
  • ✓Only Broadsheet's feed helpers and the standard maths tools
  • ✓Read by a maintainer before listing

Use

0 downloads so far. Weekly figures appear once 10 apps share anonymous stats. How the numbers work

Versions

  1. 1 · 28 Oct 2026 · First listed