The problem
I'm on Blacksky. Every "Share to Bluesky" button I hit sends people to bsky.app — not where I actually am.
If you're on deck.blue, Langit, or any other AT Protocol client, those buttons don't work for you either. Same problem on the Fediverse — "Share to Mastodon" assumes you're on mastodon.social.
The open social web has 12+ AT Protocol clients and counting, thousands of Mastodon instances, and growing. But every share button hardcodes a single destination.
Nobody had built the fix. So I did.
What atShare does
atShare is a share button for the open social web. One web component, zero dependencies:
<script src="https://atshare.social/selector.js"></script>
<atshare-selector></atshare-selector>
Your audience clicks the button, picks their network (Bluesky, Blacksky, Mastodon, LinkedIn, and more), and shares.
The innovation: when someone authenticates, their preferred network is stored as a record on their own PDS (social.atshare.preference), not on your site. Their choice follows them across every site running atShare.
Protocol-native. User-controlled. Portable.
Why Microcosm, not Bluesky's API
atShare uses Microcosm for identity resolution — community-maintained AT Protocol infrastructure that serves dozens of production apps including Blacksky. This is a deliberate choice: we're building for the protocol, not for one company's platform.
As the AT Protocol ecosystem grows and diversifies, tooling that's independent of any single company's roadmap becomes more valuable, not less.
Community-driven destinations
The network list is a JSON file in the repo. Anyone can submit a PR to add their AT Protocol client, Fediverse instance type, or traditional network. No gatekeeping. The ecosystem decides what atShare supports.
Try it
Live: atshare.social
GitHub: github.com/rmichaelthomas/atshare
Install: Two lines of HTML
This is v1. Feedback, bug reports, and network PRs are all welcome.
One button to reach them all. Open source. Community-built. This is assembly, not invention.
Top comments (0)