An example application built on atproto spaces (aka the permissioned data protocol).
Every Bluesky user can create one bulletin board backed by a com.atproto.simplespace space under their DID. Only a user's followers can read their board, and only mutuals are able to post to it.
The owner of the board can move notes around and remove other users' notes as well.
Try Bulletin at https://bulletin.my.
Give it a run, poke around, and remix it into something of your own.
You'll need Node.js 22 or newer and pnpm.
pnpm install
pnpm devOpen http://127.0.0.1:3000 and sign in with an Atmosphere account on a spaces-compatible PDS.
The app's Lexicons live in the my.bulletin.* namespace under lexicons/my. For more about how spaces work, check out the permissioned data proposal.
If you're working on the protocol itself, you can also run Bulletin against the multi-PDS development network. This requires a sibling checkout of bluesky-social/atproto on the permissioned-data branch.
Start the network from the atproto repo:
pnpm --filter @atproto/dev-env start:multi-pdsThen start Bulletin with:
pnpm dev:localWant to host your own version? See DEPLOY.md for the current deployment setup.