Everything else is yours alone. This is the part that isn't.
Patch into another deck on your server and their listening appears on The Reel, alongside the artists you have in common, what the whole instance is playing, and a page for each deck. A patch waits for a yes — a private deck holds requests in an inbox — so being followed and being readable are separate states.
now
4 min
22 min
38 min
1 h
2 h
Instance-wide figures and Shared Spool captures stay chain-gated whichever you use: those reach people you never approved, or write onto somebody else's history, and a per-chain opt-in is the only consent that covers them.
Passing music around without polluting a history
It lands in their Crate with your reason attached, never in their history. The Crate is kept well away from your own records — it is the one place music you don't own is allowed to appear, and you have to visit it deliberately.
Plays from one deck wait in the other's inbox and enter no history until each is accepted. A sitting you both forgot to start can be reconstructed afterwards from the listens themselves.
Browse the artists you have in common, open somebody's deck, and see what the whole instance is playing — all of it gated by the switches above rather than assumed.
Nothing federates outward yet.
Every account can already have an ActivityPub actor, a WebFinger record, an outbox and an inbox that verifies HTTP signatures — all opt-in and off by default. What remains is sending.
That order is deliberate: the identity other servers cache has to be right before anyone holds a copy of it, and blocking has to exist before a stranger can knock.
A server that understands nothing renders "Listened to Teardrop by Massive Attack".
One that understands td: also gets the signal chain and the format.