Standard Reader
leafy 🍃

On fun simple social building blocks…

Replying to Jared's thoughts on decomposing social media experiences into building blocks (identities, data, interfaces) with some building blocks I'd like to explore in Leaflet!

brendan
Sep 17, 2025 · 4 min read · 2 reads
5

eplying to Jared's post here:

With some specific ideas for fun flexible composable building blocks I think would be cool to explore with Leaflet!

(NB: where I say Leaflet post below, read Leaflet doc as well; we'll soon support publishing standalone docs, outside of publications.)


@-mentions everywhere

You should be able to @-mention anyone from anywhere in Leaflet — within posts as well as in comments. Anyone mentioned gets a Leaflet notification linking to the context.

I like this because it feels useful in so many ways, from tagging in people in a comment, to referencing others' work (maybe quoting a post within a post similarly notifies its creator), to asking friends to read something and share feedback!


notifications

Closely related to @-mentions, there are lots of other things it'd be great to get notifications for — new posts in pubs you're subscribed to, comment replies, quotes of your posts, and so on.

And the ability to tune to your preferences e.g. by notification type would give people a lot of flexibility in how it's used.


post references

Or post quotes, or backlinks — a way to quote posts from other publications within a post (or in a comment etc.)

Nice way to make linking to others' work a higher signal thing where we could show backlinks / references in the interaction drawer, and notify the quoted post creator. Helps build a web of interlinked content and make that web richer and more useful and social.

I'd use this e.g. as above to indicate this post replies to Jared's…but could also be used for a creator to link to their own related posts, or for someone to curate a wider conversation!


simple tags

We've talked about how to try a minimum viable tagging system — basically a way to add tags to posts, and view tag pages listing all posts with that tag.

This feels like a great way to prototype many community-shaped things in a lightweight way! Easy to use and understand, and we can intentionally keep the scope small and see what emergent behavior might point at interesting ways to build on this.


simple collections

For Leaflet, I'm thinking about post collections — similar to how lists work in Bluesky for accounts (or in Anisota, post lists too).

This enables similar things to tags, but I think with a very different feel. More curation and intentionality and identity and ownership. Especially if done as a submission-based thing. Imagining this as kind of like an Arena channel where you could adjust permissions for whether others can submit.

Also been thinking of this as kind of a "meta-publication" that could itself be a pub people could subscribe to…


social graph permissions

A nice one to start with in Leaflet would be comment permissions — so you could e.g. allow only Bluesky mutuals, or only subscribers to your publication, or even just specific people, to comment.

Also a good foundation for future members-only permissions or more private data. Later could do more complex permissions things around ownership or editing access to publications or posts themselves too.


basic $ / monetization building block

I'd love to try a simple block type that's basically "link Stripe + add a button for people to send you $" anywhere in a Leaflet doc!

My first thought here was something that'd function as a really easy to add tip jar, maybe with multiple options (e.g. buttons for $3 / $5 / $custom) but it could be used in more flexible ways too. Donation for a project, pay-what-you-want product, just for fun…and a cool primitive to experiment with!


atproto record blocks

Related to what others like Boris have talked about as lexicon embeds, it'd be great to have a way in Leaflet to nicely render things from other atproto apps!

We could start by adding custom support for a few, but ideal would be a way for apps to define their own preview and then we render in a standard way; for ones not explicitly supported we could have some fallback like json / link to the record.

Leaflet's block editor is really well positioned for playing with this kind of thing, and it'd be great to have this interface for more cross-atmosphere links and interactions!


I like how Jared broke it down as building blocks around identities, data, and interfaces — useful to think about how these map:

  • @-mentions: strongly about identity
  • references between posts: primarily data
  • simple post collections: also data
  • notifications: a key interface

Of course many of these overlap too! Tags combines data and interface; permissions encompass all three. But good to break them down a bit and see what feels clear and where questions emerge.

For example…is a $ building block mainly an interface? What cool expressivity or experiences or social interactions might it enable?

I'd love to hear more thoughts on specific cool things you'd do with any of these pieces, which you're most excited about, etc!

Did this enjoy this document?

Give it a heart — Standard Reader surfaces well-loved writing to more readers across the network.

Scraps!
Scraps!
@schlage.town
Across the AtmosphereDiscussions
brendan
brendan@schlage.town

partly in reply to @awarm.space's post on decomposing the building blocks of social media experience & partly just things I've been thinking about lately for @leaflet.pub

I'd love to hear any specific ways you'd use these in Leaflet / social publishing…or beyond, abstracting to other apps, etc!

1 reply on Bluesky
ekana stone
ekana stone@ekana.org

All this feels relevant to the universal inbox idea we were all talking about not to long ago. I think thats what really would bring this all together.

1 reply on Bluesky
Erlend Sogge Heggen
Erlend Sogge Heggen@erlend.sh

Big +1 to post references and backlinks!

GitHub is one of the best examples of it, e.g. the way issues can reference each other.

0 replies on Bluesky
Laurens
Laurens@laurenshof.online

great overview!

For me personally, I would really like @-mentions. In my link-collection posts I link to a lot of work by other atproto people, and having the ability to @mention them feels like a good way to give them both credit and notify them theyve been linked

1 reply on Bluesky
Olivier Simard-Casanova
Olivier Simard-Casanova@o.simardcasanova.net

All excellent ideas, especially the social ones! It would make Leaflet a “social writing network”, which would be very cool.

2 replies on Bluesky
brendan
brendan@schlage.town

I like "social writing network" as a description of what we're building with @leaflet.pub!

rn more "blogging tool" or "publishing platform", but the interconnected open social stuff is where it gets exciting!

ideas for [atproto + leaflet] social building blocks: scraps.schlage.town/3lz2aumjnok2w

0 replies on Bluesky
brendan
brendan@schlage.town

yeah it's a fun proof of concept & lots more atmospheric ideas we'd like to explore! from references/backlinks both within leaflet + across apps (gonna talk to semble about this), permissions based on bsky social graph, embed blocks from other apps/lexicons…wrote a bit more here!

0 replies on Bluesky