What atjam depends on
The shared services under atjam, and what stops working when each one is gone.
atjam has no database: every record lives on its author's PDS. But reading those records back together leans on a handful of shared services. None of them can take your records away — those stay on your PDS — but each one is a place the app can break. This page names them, so you can plan around them, self-host them, or point the read layer somewhere else.
| Dependency | What atjam uses it for | What breaks when it's gone |
|---|---|---|
| plc.directory | Resolving a did:plc:… to its PDS and handle. | Nearly everything. Without it atjam can't find whose PDS holds a record, so round and jam pages fail to load, handles fall back to raw DIDs, and sign-in can't find your PDS. did:web accounts keep working. |
| Constellation (backlinks) | Finding the records that point at a record: a jam's rounds, a round's signups, submissions and invitations. | Rounds show nobody signed up and nothing submitted, and jam pages show no rounds. The records still exist; atjam just can't find them. Signup validation can't walk invitation chains. |
| Slingshot (record and identity cache) | Reading records and identities from an edge cache instead of each author's PDS. | Reads fall back to the authors' PDSes: slower, and a PDS that's down takes its records off the page with it. |
| Public Bluesky AppView and typeahead.waow.tech | Resolving handles, profile names and avatars, and suggesting handles as you type. | Sign-in and invite fields lose their suggestions, and people show as handles or DIDs without names or avatars. Typing an exact handle still works wherever the handle resolves another way. |
The relay (com.atproto.sync.listReposByCollection) | Discovering which accounts hold at.atjam.round records, to build the home feed. | The home feed shrinks to the organizers atjam already knows about. Direct links to rounds and jams keep working. |
| Fly.io (hosting) | Running the atjam.at web app. | The atjam.at site is down. Every record is still on its author's PDS, readable by any other app or by @atjam/lexicons directly. |
The read layer's URLs are configurable — see
Configuring the read layer
— so an app built on @atjam/lexicons can point at its own Constellation or
PLC mirror instead of the public ones.