Off the Clock Docs

Running the community

Building feeds

A feed is a rule that picks records from a space and an order to show them in. Admins write the rule; the feed generator keeps it up to date.

The feed list

Draft outline

Space › Feeds: each feed, its order, who published it, the default. New feed by key.

Screenshot to take

A space's Feeds tab with Latest marked default.

Starting points

Draft outline

Latest, Events, Posts with media, Links, Posts with a tag, Posts by members. Each fills the editor.

The rule

Draft outline
  • Written in JSON Logic over a document per record: collection, space, author.did, author.admin, record, labels, createdAt, and for posts isReply, hasMedia, tags, mediaKind; for bookmarks host and tags.
  • A truthy result includes the record.
  • Order: newest first, or by event start (upcoming only, soonest first).
{"and": [{"==": [{"var": "collection"}, "app.bsky.feed.post"]}, {"in": ["games", {"var": "tags"}]}]}
Screenshot to take

The feed editor with a configuration and a dry run's results.

Dry run, then publish

Draft outline

Dry run shows what the rule would select now. Publish writes two records (the feed's name and its rule) in the space's management space. A rule that fails on records isn't published.

Making a feed the default

Draft outline

Community admins: Make default on the feed list rewrites the space record.

Removing a feed

Draft outline

Remove your records for this feed. If another admin also published under the key, theirs remains.