On fun simple social building blocks…

Replying to Jared's post here:

Social media is a gnarly coordination problem we need to decompose - A Warm Space

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!