{
  "path": "/3m3ddwjunr22x",
  "site": "at://did:plc:mdjhvva6vlrswsj26cftjttd/site.standard.publication/3lwyzotjqu22i",
  "$type": "site.standard.document",
  "title": "atproto news you might've missed last month",
  "content": {
    "$type": "pub.leaflet.content",
    "pages": [
      {
        "$type": "pub.leaflet.pages.linearDocument",
        "blocks": [
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [
                {
                  "index": {
                    "byteEnd": 603,
                    "byteStart": 0
                  },
                  "features": [
                    {
                      "$type": "pub.leaflet.richtext.facet#italic"
                    }
                  ]
                }
              ],
              "plaintext": "Programming note: I've barely written about atproto in the last month: some issues with my shoulder severely limited the amount of hours I can spend at a computer each day, and I've had to prioritise some paid work in the limited time. Things are finally going better now, and I'm slowly catching up on the backlog. I have been keeping fairly close track of all the news shared in the last months anyway. So for the next few updates, I'll be going over the backlog and share some of the news and links that stands out to me. See it as a way to find out what news you've missed over the last month or so."
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [
                {
                  "index": {
                    "byteEnd": 492,
                    "byteStart": 0
                  },
                  "features": [
                    {
                      "$type": "pub.leaflet.richtext.facet#italic"
                    }
                  ]
                }
              ],
              "plaintext": "This also means I won't be doing a deep dive analysis on the 'waffles' situation and the factors that lead to this all. This kinda bothers me since I think its probably the most important story about atproto over the last month. However, I'm still restricted in time, and have to prioritise paid work. So for now it'll be some shorter Leaflet notes while I get up to speed again. Deep-dive analysis will definitely be resumed again, I do very much enjoy writing those. For now, let's dive in!"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [],
              "plaintext": ""
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.header",
              "level": 1,
              "facets": [],
              "plaintext": "For You Feed"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [
                {
                  "index": {
                    "byteEnd": 16,
                    "byteStart": 4
                  },
                  "features": [
                    {
                      "uri": "https://bsky.app/profile/did:plc:3guzzweuqraryl3rdkimjamk/feed/for-you",
                      "$type": "pub.leaflet.richtext.facet#link"
                    }
                  ]
                },
                {
                  "index": {
                    "byteEnd": 554,
                    "byteStart": 543
                  },
                  "features": [
                    {
                      "uri": "https://bsky.app/profile/spacecowboy17.bsky.social",
                      "$type": "pub.leaflet.richtext.facet#link"
                    }
                  ]
                },
                {
                  "index": {
                    "byteEnd": 600,
                    "byteStart": 569
                  },
                  "features": [
                    {
                      "uri": "https://linklonk.com/bluesky",
                      "$type": "pub.leaflet.richtext.facet#link"
                    }
                  ]
                }
              ],
              "plaintext": "The For You feed is a custom algorithmic feed that has gotten popular recently. The algorithm looks at posts you like, and finds posts that are also liked by people who like the same posts as yours. It is a surprisingly effective algorithm, and I see a lot of people recommend the feed, over Bluesky's Discover feed as well. I can also definitely recommend the feed, one of my favourite ways to scroll Bluesky. The For You feed also shows how powerful and cool it is to have algorithmic feeds that are fully decypherable and open: The creator spacecowboy has an entire For You feed playground website that allows you to tweak with the settings. Another cool aspect: see what other people's algorithmic feed is like."
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [],
              "plaintext": "Seeing A/B tests on this feed and how demoting popular posts also impacts usage is interesting:"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.bskyPost",
              "postRef": {
                "cid": "bafyreifzbllkko5qtldm5cqy3irwc2znjz22tqtnlnb2khl7bz6eteilh4",
                "uri": "at://did:plc:3guzzweuqraryl3rdkimjamk/app.bsky.feed.post/3lzvpbacb6k2t"
              }
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [],
              "plaintext": ""
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.header",
              "level": 1,
              "facets": [],
              "plaintext": "Fandom and atproto"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [],
              "plaintext": "Adoption of new social networks often happen on a community-by-community base, and less on an individual basis. (this is why adoption of both fedi and bluesky happens largely happened in waves). In that context I find it interesting to see what fandom communities are up to:"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [],
              "plaintext": "Leaflet wrote about feedback they've gotten how the publishing platform can be more suited for fandom communities"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "src": "https://lab.leaflet.pub/3lzhcttnvfc23",
              "$type": "pub.leaflet.blocks.website",
              "title": "Towards Leaflet for Fandom - Leaflet Lab Notes",
              "description": "Lab Notes 012: exploring ways we might improve Leaflet for fandom and writer communities, from tags to expressivity to better comments and conversation",
              "previewImage": {
                "$type": "blob",
                "ref": {
                  "$link": "bafkreifuapskcwwyz4kcqiws5vjop3tlapjuvijorwvudnctqeqb6j7jfu"
                },
                "mimeType": "image/png",
                "size": 91441
              }
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [
                {
                  "index": {
                    "byteEnd": 6,
                    "byteStart": 0
                  },
                  "features": [
                    {
                      "uri": "https://bsky.app/profile/haetae.cozy.fan",
                      "$type": "pub.leaflet.richtext.facet#link"
                    }
                  ]
                }
              ],
              "plaintext": "haetae has been building towards a fandom archive project on atproto, with a blog explaining the process here:"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "src": "https://haetae.leaflet.pub/3lzi4z4g6kc26",
              "$type": "pub.leaflet.blocks.website",
              "title": "devlog 001 - coder's diary",
              "description": "for a yet unnamed fanfic archive project",
              "previewImage": {
                "$type": "blob",
                "ref": {
                  "$link": "bafkreid7rlulwbmtzqlf4zqk24islrold5ehisbsfujnu3djtbaqnd5dce"
                },
                "mimeType": "image/png",
                "size": 74996
              }
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [
                {
                  "index": {
                    "byteEnd": 7,
                    "byteStart": 0
                  },
                  "features": [
                    {
                      "uri": "https://bsky.app/profile/essentialrandom.bsky.social",
                      "$type": "pub.leaflet.richtext.facet#link"
                    }
                  ]
                }
              ],
              "plaintext": "Ms Boba is regularly streaming her atproto dev work for building a guestbook on atproto, and she's also written an extensive guide on what an AppView is and what it does:"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "src": "https://github.com/FujoWebDev/lexicon-guestbook/tree/main/appview",
              "$type": "pub.leaflet.blocks.website",
              "title": "lexicon-guestbook/appview at main ยท FujoWebDev/lexicon-guestbook",
              "description": "A lexicon for guestbooks on ATproto. Contribute to FujoWebDev/lexicon-guestbook development by creating an account on GitHub.",
              "previewImage": {
                "$type": "blob",
                "ref": {
                  "$link": "bafkreid7gebqsxbkm7dblghodte27rrcjqckenpzwjiuytcfkxlcd7dfgy"
                },
                "mimeType": "image/png",
                "size": 32445
              }
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [],
              "plaintext": ""
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [],
              "plaintext": ""
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.header",
              "level": 1,
              "facets": [],
              "plaintext": "Teal.fm"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [
                {
                  "index": {
                    "byteEnd": 7,
                    "byteStart": 0
                  },
                  "features": [
                    {
                      "uri": "https://teal.fm",
                      "$type": "pub.leaflet.richtext.facet#link"
                    }
                  ]
                },
                {
                  "index": {
                    "byteEnd": 138,
                    "byteStart": 134
                  },
                  "features": [
                    {
                      "uri": "https://bsky.app/profile/did:plc:tas6hj2xjrqben5653v5kohk",
                      "$type": "pub.leaflet.richtext.facet#link"
                    }
                  ]
                }
              ],
              "plaintext": "teal.fm is a music scrobblr (tracks your music listening, similar to last.fm) on atproto that is currently being developed. Developer Matt wrote about the current state of development:"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "src": "https://notes.teal.fm/3lzlwe6puis2l",
              "$type": "pub.leaflet.blocks.website",
              "title": "how i'm feeling now - Teal Notes",
              "description": "what we're doing now, and where we are going from here",
              "previewImage": {
                "$type": "blob",
                "ref": {
                  "$link": "bafkreihbciw3ac2ewf4cyzetyejrvhggiccmui27yzf3csi4yivnl3atle"
                },
                "mimeType": "image/png",
                "size": 31694
              }
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [
                {
                  "index": {
                    "byteEnd": 7,
                    "byteStart": 0
                  },
                  "features": [
                    {
                      "uri": "https://Teal.fm",
                      "$type": "pub.leaflet.richtext.facet#link"
                    }
                  ]
                }
              ],
              "plaintext": "Teal.fm consists of multiple parts:"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.unorderedList",
              "children": [
                {
                  "$type": "pub.leaflet.blocks.unorderedList#listItem",
                  "content": {
                    "$type": "pub.leaflet.blocks.text",
                    "facets": [],
                    "plaintext": "the frontend app"
                  },
                  "children": []
                },
                {
                  "$type": "pub.leaflet.blocks.unorderedList#listItem",
                  "content": {
                    "$type": "pub.leaflet.blocks.text",
                    "facets": [],
                    "plaintext": "the appview/api"
                  },
                  "children": []
                },
                {
                  "$type": "pub.leaflet.blocks.unorderedList#listItem",
                  "content": {
                    "$type": "pub.leaflet.blocks.text",
                    "facets": [],
                    "plaintext": "the music tracker, called Piper"
                  },
                  "children": []
                }
              ]
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [
                {
                  "index": {
                    "byteEnd": 32,
                    "byteStart": 25
                  },
                  "features": [
                    {
                      "uri": "https://teal.fm",
                      "$type": "pub.leaflet.richtext.facet#link"
                    }
                  ]
                },
                {
                  "index": {
                    "byteEnd": 136,
                    "byteStart": 129
                  },
                  "features": [
                    {
                      "uri": "https://teal.fm",
                      "$type": "pub.leaflet.richtext.facet#link"
                    }
                  ]
                },
                {
                  "index": {
                    "byteEnd": 320,
                    "byteStart": 314
                  },
                  "features": [
                    {
                      "uri": "https://bsky.app/profile/baileytownsend.dev",
                      "$type": "pub.leaflet.richtext.facet#link"
                    }
                  ]
                }
              ],
              "plaintext": "What's interesting about teal.fm is that the music tracker and accompanying lexicon already work. This means you can already use teal.fm, even though it is technically still in development. In fact, I've been doing that since the last week or so, and I'm impressed by how well this all already works. (shoutout to Bailey for letting me use his Piper instance)."
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [],
              "plaintext": "So if you want start tracking your music listening habits on atproto already, you can:"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [
                {
                  "index": {
                    "byteEnd": 13,
                    "byteStart": 8
                  },
                  "features": [
                    {
                      "uri": "https://tangled.org/@teal.fm/piper",
                      "$type": "pub.leaflet.richtext.facet#link"
                    }
                  ]
                }
              ],
              "plaintext": "install piper, and see your music stats here:"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "src": "https://wrapped.baileytownsend.dev/",
              "$type": "pub.leaflet.blocks.website",
              "title": "An unofficial teal.fm wrapped",
              "description": "",
              "previewImage": {
                "$type": "blob",
                "ref": {
                  "$link": "bafkreieolrya2csqrjshsu3fyzth54otnozh4t2kcscrmbxzes7t6ldq6m"
                },
                "mimeType": "image/png",
                "size": 4119
              }
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [],
              "plaintext": ""
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [],
              "plaintext": ""
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.header",
              "level": 1,
              "facets": [],
              "plaintext": "Introducing people with SkyBeMoreBlue"
            }
          },
          {
            "$type": "pub.leaflet.pages.linearDocument#block",
            "block": {
              "$type": "pub.leaflet.blocks.text",
              "facets": [
                {
                  "index": {
                    "byteEnd": 13,
                    "byteStart": 0
                  },
                  "features": [
                    {
                      "uri": "https://www.skybemoreblue.com/login",
                      "$type": "pub.leaflet.richtext.facet#link"
                    }
                  ]
                }
              ],
              "plaintext": "SkyBeMoreBlue is a platform for introducing people to each other on ATProto. The idea is that you give an introduction and description of other accounts in your network. This introduction is then shown to other people in your network as a recommendation to follow. I think it is an interesting contrast with how platforms like Bluesky (and Mastodon) handle Starter Packs, which are focused on getting people to follow large number of accounts at once. SkyBeMoreBlue is has some of the same final goals (help people find more interesting accounts to follow), but with a very different approach to get there. It is made by the same people who build the ATProto audio spaces app Bluecast, and seems to be mainly in use by the Japanese side of the ATProto community. I'm, uhhhh, unsure on the naming, but I do think it's cool to see more experimentation and new ideas for building healthy connections between people on social networks."
            }
          }
        ]
      }
    ]
  },
  "bskyPostRef": {
    "cid": "bafyreid7u4yythcutf3x5hnpwkg6hcujkvcy4ng2w63jvpk3x27bovon5a",
    "uri": "at://did:plc:mdjhvva6vlrswsj26cftjttd/app.bsky.feed.post/3m3ddwsftx22x",
    "commit": {
      "cid": "bafyreidwnzzazjzoujh63clkfvnruhk5xj65rxg3ncewmvgfpd2lkfv3au",
      "rev": "3m3ddwslwbs26"
    },
    "validationStatus": "valid"
  },
  "description": "For You Feeds, music tracking with teal.fm, and fandom communities on atproto",
  "publishedAt": "2025-10-16T18:06:13.516Z"
}