GeistHaus
log in · sign up

https://lab.leaflet.pub/rss

rss
26 posts
Polling state
Status active
Last polled May 19, 2026 02:21 UTC
Next poll May 20, 2026 01:47 UTC
Poll interval 86400s

Posts

Newsletter Mode: subscribe to Leaflet publications by email!
Lab Notes 026: take your publication beyond the Atmosphere with email newsletters, now available with Leaflet Pro
Show full content

NOTE: you may have signed up to our Buttondown newsletter — we've migrated to use Leaflet's new built-in newsletter feature!


Leaflet: now in your browser, your Bluesky feeds, and your inbox!

We just shipped Newsletter Mode, so your Leaflet publications can now be newsletters, and subscribers can sign up by email whether or not they have an atproto account.

If you're not on the list yet (or are subscribed via atproto) you can head to our Lab Notes homepage and drop your email!

Turning on Newsletter Mode

Newsletter Mode is available with Leaflet Pro.

If you've signed up for Leaflet Pro, you now have the option to enable Newsletter Mode from publication settings.

This is per-publication, so you can do for all your pubs or just one, and you can set a different reply-to email address for each.

Once you do, readers will see an email subscribe form on your publication and posts.

With newsletter mode enabled, the subscribe form defaults to email but subscribers can toggle to atproto-only if they prefer.

When you publish new posts, you can send them as emails, and readers will get them direct-to-inbox with your pub theme, buttons to view online, and all the usual things you expect.

Many of you are reading this post by email; if anything's missing or looks weird in your mail client, please reply and let us know!

Pricing, list imports, and more

A few other important details…and if you have questions not answered here, reach out any time :)

Our initial pricing for email newsletters:

  • Your first 1k email subscribers are included with Leaflet Pro

  • After that, $5/month for each additional 1k email subs

  • We only charge you for months where you actually send emails

So to start, you pay the base Leaflet Pro cost (currently $12/month or $120/year). If you import a list of 5,000 subscribers you'd pay an additional $20/month, but only if you send emails that month.

Want to import an existing list?

Please email us. We're working on UI for that, but for now, glad to do manually.

This is an alpha feature, and we'll keep improving — we'd love your feedback, both as a subscriber and a creator!

To the Atmosphere, and Beyond

One of the first atproto features we launched for Leaflet publications was Subscribing to publications via atproto — we started with atmospheric subscriptions, but always wanted email subs too:

We think both atproto and email subscriptions are important for what we're trying to do — atproto for social stuff; email for direct audience relationship.

While email newsletters come with added costs and complexity, they play an important role for many creators, providing a broadcast channel to make sure readers see when they publish.

We'd love to see something more atmospheric eventually supplant email, but for now, we can mostly get the best of both:

  • Email as direct channel — lowest common denominator that everyone knows how to use, and is also based on an open protocol and portable between tools

  • Atmosphere as the open social layer that makes all kinds of cool features possible — like quote sharing, comments, feeds, and more we haven't built yet!

Readers have an entry point to follow creators with minimal friction. And once subscribed, a simple path to connect to the Atmosphere for things like social recommendations and discovery.

Discovery, in particular, is a separate problem, and a critical one — how do readers find new, interesting, relevant things in the first place? We can't just provide good notification channels, we also have to solve for distribution!

This is an area where atproto holds a lot of promise, and we're already starting to see @standard.site tools play in this space. We hope to see (and build) more.

And right now, let's use email as a leverage point for bringing more people into the atmosphere and giving them great experiences.

Get started with Leaflet Pro

Want to turn on newsletters for one (or all!) of your publications? Consider signing up for Leaflet Pro!

Right now Pro includes newsletters with up to 1k active subscribers, as well as publication analytics. We have more planned, and would love to hear your top requests as well.

Finally, a celebratory offer for the first Leaflet Lab Notes post to use Newsletter Mode:

The first 10 people to use code LEAFLETTERLAUNCH on signup get Leaflet Pro for $10/month or $100/year ✨

That's it for now, and again please reach out — if you're in your inbox, just hit reply — with any thoughts or questions :)

https://lab.leaflet.pub/3mleufqg5gc2x
Leaflet Pro: power tools for publishers
Lab Notes 025: launching v1 of Leaflet Pro, our paid plan for writers, with publication analytics and lots more planned!
Show full content

We've launched a Pro plan for writers! Leaflet PRO(se), if you will.

We've been working towards this for a long time, and it's a big step toward making Leaflet more sustainable.

First Launch: Publication Analytics

At launch we have one powerful feature set a number of you have asked for: publisher analytics.

Analytics includes the following, for each of your publications0:

  • total pageviews and unique visitors

  • top posts and top referrers, both filterable

  • publication subscribers

  • all filterable by date range

example chart showing traffic (pageviews over the past week), with a list of top pages and top referrersexample chart showing subscriber growth to a publication over several months

This covers a lot of the most important things publishers need to know — how is my audience growing? what posts are resonating? where are people finding them? — and we're open to adding more!

What's Next: Newsletters & Memberships

The next things we're working on are:

  • Email newsletters — a direct channel to reach your readers

  • Paid memberships — a simple and effective model for paid publications and patronage

These are the two big pieces that will get us to rough parity with creator publishing platforms like Substack, Patreon, and Ghost.

We'll be shipping them in that order, with email coming next!

Pricing Plans

Leaflet Pro is currently $12 / month, or $120 / year.

Email will be an add-on to Leaflet Pro, scaling based on subscriber count0, with some initial number of subscribers included.

Memberships will not be an additional monthly cost, and will not require Pro at all. Its fees will be a percentage of transactions, and that percentage will be lower than Substack and Patreon.

You'll be able to offer just newsletters, just memberships, both, or neither — we want this to be super flexible, and align as closely as possible with the value we provide. Publishing, patronage, or a mix!

None of this is set in stone, and we'd love to hear feedback from current and prospective Leaflet Pro publishers.

What goes in Leaflet Pro?

Leaflet Pro is focused on helping writers level up — both serious publishers, and writers who are just starting out, but take their work seriously.

We've made the choice to not paywall features we think help make all publishers more expressive.

There are things we could have made paid-only, like:

  • Custom domains

  • Custom theming & fonts

But…nope :) These features will stay free for everyone on Leaflet.

Instead we'll be adding a targeted set of new features that add value for the writers who really need them.

Let us know what else you'd like to see!

One great thing about publishers paying Leaflet directly: it gives us stronger signal about what things you really value, and helps us decide what to build next.

Things we think could make sense as Leaflet Pro features include:

  • Scheduled posts

  • Group publications

  • Custom post footers

We're also planning to support pages in publications, but that may be a thing we just make available for everyone!

As mentioned, next up: email newsletters. We may start with a feature flag to test initially, let us know if you'd like early access.

Where Leaflet is headed

Leaflet's aim is not to be not the cutest or the most minimalist publishing app — though FWIW we are pretty cute, and easy to use — but the most versatile.

A flexible tool for all kinds of expressive social publishing, that does just enough and gets out of your way, but offers a surprising number of powerful features and depth when you need it.

An all-in-one toolkit not only for publishing but for engaging your audience and making money, to support communities and businesses and and orgs of all sizes. From comics and game design to sports and journalism to tech and academia and beyond.

And of course, doing it all as part of an open ecosystem so you can easily customize and connect with other tools as your needs grow!

If you're a creator or publisher who's looking for an open social alternative to closed platforms0, we're making Leaflet for you.

For now: thank you so much for your support so far, and please keep telling friends about Leaflet!

https://lab.leaflet.pub/3mhvibf3bl224
Fonts and footnotes!
Lab Notes 024: adding curated (and custom) typefaces to Leaflet theme options, and a whole new way to add footnotes (and sidenotes!) to posts
Show full content

We hinted that we were dropping two F-bombs — a pair of long-awaited features — fonts (okay, typefaces) and footnotes!

Fonts

Leaflet now has six curated typefaces — our original favorite, iA Writer Quattro, plus:

  • Atkinson Hyperlegible Next

  • Lora

  • Monterrat

  • Sometype Mono

  • Source Sans 3

We have settings for both body and header font, so you can mix and match for just the right amount of contrast.

You can also add any custom font available on Google Fonts! Paste in the font name and we'll load it right in.

The arbitrary Google Font option is particularly fun for adding funky header fonts. And useful if you need a font that better supports non-English scripts.

Paired with our existing theme options, you've not got more ways to be expressive in Leaflet and give your posts and pubs their own special flavor.

We tweaked font sizes a bit too, mainly bumping the header scale overall and adjusting base size for some of the fonts to more or less match better. Future idea: more settings for size and spacing…

Footnotes

One of our top editor requests. Add footnotes from the editor toolbar, and they show…in three places, actually!

  • * Footnotes: classic, bottom of post

  • † Sidenotes: easy reference, with wider windows

  • ‡ Popover: tap to preview, great on mobile

Here's what they look like:

And some examples of footnotes in action:

We can't wait to see how you use both these new features!

https://lab.leaflet.pub/3mhizlban7k2w
New and improved Leaflet Reader
Lab Notes 023: Leaflet Reader now has "new" and "trending" feeds, post recommendations, and more!
Show full content

We shipped post recommendations, and improved Leaflet Reader. We also reworked overall Leaflet nav, with clearer "Read" and "Write" modes. Here's what's new!

Recommend posts

You can hit the "recommend" button (heart icon) from the top or bottom of a post, to show your appreciation.

Yes, basically a like button, but…for recommending!

Publishers can turn off recommendations for a publication, or per-post if you like.

header of post "Atmospheric Weather Report #2" with small recommend button highlighted, showing 7 recommendsfooter of post "Atmospheric Weather Report #2" with larger recommend button showing "recommended!" and 7 recommends

same post, "recommended" at top and bottom

⁂ ⁂ ⁂

Leaflet Reader

We merged our old Reader (showing your subscriptions) and our previous Discover page into a new "Reader" with multiple feeds:

  • Subs: posts from your subscribed publications

  • Trending: hottest recent posts

  • New: all posts, by recency

leaflet reader, with "what's hot" (since renamed "trending") feed shown, with post list + comments for one of the visible posts, "Announcing Skyboard", open in sidebar

From the Reader feeds, you can open posts, hit recommend, and copy the share link directly. You can also click the comments and mentions buttons to preview the social context before reading.

Also worth noting — this shows not only posts created on Leaflet, but any standard.site published posts!

In the process we removed the publication-focused Discover page, which was less useful — maybe we'll revisit in some form (like a way to recommend pubs) but here we want posts to shine. This is also a fun area for global standard.site tools to explore!

Some good responses on our announcement post; thanks to @zzstoatzz.io for feedback on some issues, now mostly fixed :)

⁂ ⁂ ⁂

Sidebar: the Trending feed

How does the Trending algo work? It's basically the Hacker News homepage ranking algo, lightly tweaked. We calculate a score for recent posts, based on both Bluesky likes and Leaflet recommendations (the latter weighted more strongly).

Right now we show the top 50 recent posts. The score decays rapidly, within hours, so we could play with that variable so posts stick around a bit longer.

SELECT uri
FROM documents
WHERE indexed = true
AND sort_date > now() - interval '7 days'
ORDER BY
(bsky_like_count + recommend_count * 5)::numeric 
/ power(extract(epoch from (now() - sort_date)) / 3600 + 2, 1.5) DESC
LIMIT 50

⁂ ⁂ ⁂

Future ideas for Reader

One thing that'd be really cool to build on this: custom feeds.

We'd love to show more things in Reader feeds too, e.g. more context-rich recommendations, or surfacing things your friends are reading.

And we'd like to have some nicer way to navigate between posts as you read, maybe an iframe wrapper, with footer for interactions and navigation / browsing.

Since we can show not only Leaflet posts but any standard.site compatible posts, it'd be nice to support more standard social interactions (like comments) on all posts in some form, too.

https://lab.leaflet.pub/3mhgvk6vnbk2n
New year Leaflet improvements roundup
Lab Notes 022: kicking off the year with new features like page width, small/large text, cover images, and editable post dates; and improving everything from mentions to block handling to our Bluesky thread viewer
Show full content

We kicked off the year with a parade of Leaflet improvements — lots of smaller things we'd had on the list for a while. Here we collect them in one place — see embedded posts below for detail!

Page width

Theme setting for max width on posts (per-publication, or per-doc for standalone Leaflets).

Narrower: great when you want subpages side by side.

Wide: great for letting your posts breathe.

Small and large text

Make any text small (e.g. for captions) or large (e.g. for intros).

Plus — keyboard shortcuts!

Prev / next, and other post options

In publication settings we now have a "post options" menu where you can toggle showing prev / next links in footer, and toggle post interactions (comments, mentions, recommends) if you like!

We also added a per-post setting so you can disable certain interactions just for certain posts if needed.

Improved profile preview and mention styles

We gave @-mentions a little more emphasis, and made it so that tapping / clicking opens a preview card first.

Backdate published posts

If you've imported posts, or just need to backdate a belated post (like this one!) you can now edit published date.

Improved block handling

Several changes to make working with blocks nicer, like inline deleting and reordering, easier selection, and streamlined toolbars.

Cover images

Set any image in your post as cover image to use for social previews. Still to do: using for post previews on publication homepage and elsewhere…and looseleaf support!

Improved Bluesky thread viewer

Our Bluesky thread viewer is a bit smoother to use; it's now easier to view post quotes, open Bluesky links, see replies and more.

That's it for this month, but we're always improving Leaflet and appreciate ideas & feedback on what we should prioritize next!

https://lab.leaflet.pub/3mhdmim4c2s2j
Leaflet, standard.site, and open social publishing!
Lab Notes 021: launching a set of shared standards for social publishing, migrating Leaflet to use these new lexicons, and how we plan to grow publishing × open social together!
Show full content

This month, we — the creators of @leaflet.pub, @pckt.blog, and @offprint.appannounced @standard.site, a set of shared standards for longform publishing on the open social web:

Standard.site - One schema. Every platform.

Standard.site provides shared lexicons for long-form publishing on AT Protocol. Making content easier to discover, index, and move across the ATmosphere.

At its core standard.site is a set of AT Protocol lexicons for:

  • publication metadata: what a publication is, like its name, description, and basic theme

  • document metadata: basics of what a given post contains, with content optional

  • subscriptions: records of who's following a given publication


TL;DR — standard.site makes it easier for platforms and publications to coordinate and build cool things together!


The initial focus is facilitating interoperability around content discovery and social features like subscribing and commenting.

Importantly, this is not a standard for site content.

We each want to explore different things with our platforms, from block-based editors to unique theming. We also want to make it easy for existing sites to adopt without fully syndicating content.

Publishing apps can implement to make content discoverable across platforms, so we can build a richer ecosystem together.

Individual sites can publish records — WordPress, self-hosted, wherever, from indie blogs to big publishers — to give their content a presence on the open social web.

See below for examples of what folks are doing with this already!

⁂ ⁂ ⁂

Leaflet has migrated to standard.site!

We've just finished our migration to standard.site lexicons! This was a big project, to our knowledge one of the largest schema migrations in the atmosphere so far.

How it works, TL;DR:

  • We're migrating relevant records for publications, documents, and subscriptions; Leaflet-specific records (e.g. for document content) remain the same

  • For now we're also keeping all existing Leaflet records around, so that other tools querying them won't break

  • We've run this migration proactively for folks with active sessions; otherwise it'll run the next time you log in

What to know — readers and writers:

No need for you to do anything special — just log into Leaflet! We'll handle the relevant migrations automatically.

What to know — Leaflet tinkerers:

If you've built apps or custom integration apps that use Leaflet records, ping us if you need help migrating to use standard.site records. We'll figure it out together!

⁂ ⁂ ⁂

An ecosystem emerges…

2026 is the year of atproto publishing — many are saying this!

In just the first few weeks, we've seen a strong positive reception for standard.site and adoption by both platforms and individuals:

What's more:

⁂ ⁂ ⁂Open social publishing — blogosphere to atmosphere!

With standard.site we can make atproto publishing platforms more interoperable — and we can make it easier to bridge between atproto and the rest of the internet, both platforms and individual sites.

For example, Leaflet and Pckt can both render previews of posts created on the other platform — and by Offprint, or anyone else — in our respective Reader pages. Others can make entirely separate readers, or search engines, or bookmarking tools (to name a few examples already emerging!) and all experiment with different features and ways to add value for readers and writers.

We're particularly excited about how standard.site offers publishers a flexible way to bring existing publications onto atproto.

We see this as complementing, not replacing, existing standards for the open web. You can still use RSS! This gives publications a standard social layer, wherever they may live.

If you have a self-hosted static site or WordPress blog, you can publish these records to make your site discoverable on atproto, without having to migrate your content.

We also want to make it easier for existing sites to both implement standard.site and layer on social pieces like comments and subscriptions. If that sounds interesting, reach out, let's chat!

⁂ ⁂ ⁂

Open questions and things to explore further

We intentionally started with a pretty minimal set of lexicons, and we're already seeing a lot of good questions and suggestions for extending and improving standard.site, like:

  • How should platforms treat posts made elsewhere in discover / reader…render the full post? preview + link? something else?

  • What are best practices for handling lexicon namespacing and record migration?

  • How should we go about collectively evolving these standards, e.g. adding new lexicons like authors or content types or alternate URLs or other social primitives like comments?

  • We developed standard.site collaboratively, and intend to evolve it collaboratively as well — what should governance look like?

  • Can we get larger publishers and platforms onboard? What paths for adoption might make the most sense?

Please let us know any thoughts on how we can make Leaflet + standard.site work better, and tag @standard.site on Bluesky for questions / ideas.

There's also an open Signal group for folks interested in more detailed discussion on lexicons, implementation, and so on.

Thanks @brookie.blog and @aka.dad for joining together to get this off the ground. Excited to see what everyone continues to build!

https://lab.leaflet.pub/3md4qsktbms24
Profile pages in Leaflet
Lab Notes 020: you now have a profile page on Leaflet, showing your bio, publications, posts, comments, and subscriptions!
Show full content

We've added profile pages for Leaflet creators!

They show your Bluesky bio (and profile link), publications, posts, comments, and Leaflet subscriptions.

From a publication homepage, post byline, @-mention, or comment, hover over a username (e.g. @leaflet.pub!) to see a preview card, or click to view their full profile page. Here's ours:

Leaflet's profile…on Leaflet! Name/avatar up top, then Bluesky bio, our publication, and below tabs for posts / comments / subscriptions (currently showing recent posts)

preview of our Leaflet profile, showing bsky bio, publication, and tabs for posts / comments / subscriptions

⁂ ⁂ ⁂

If you have multiple publications, they'll show in a horizontally scrollable list. Before this we didn't have any easy way to see what a given person was publishing at all!

The url works with either your handle or DID, e.g. either of these:

A few other notes:

  • bio inherits from Bluesky, not yet separately editable (is that something you'd like to see? let us know!)

  • similarly, we don't have a way to "follow" people on Leaflet, just subscribe to publications; that may be something to explore down the line, a social graph distinct from Bluesky's

This makes our recent Atmospheric @-mentions! feature a lot more useful (note the styling tweaks for mentions, too!)

If we see someone mentioned in a Leaflet post, we don't just want to see their Bluesky profile, we want to see what they've been writing about too! Or if we see a thoughtful comment, now we can see what else they've been reading / talking about recently.

And so on :) Let us know what you think!

https://lab.leaflet.pub/3maf67dkod22k
Bluesky thread viewer
Lab Notes 019: a new thread viewer for Bluesky posts, both as embeds within posts, and in the quotes / mentions section!
Show full content

We added a Bluesky thread viewer in Leaflet! It works for both:

  • quotes / mentions (open in side panel)

  • post embeds in a Leaflet doc (see below!)

We were inspired by this nice feedback thread from @erlend.sh:

…and you can now click above to read that thread right in Leaflet! You can even click thread replies to see branching conversation.

⁂ ⁂ ⁂

We like having our own comments section — as others have mentioned, it's nice to maintain separate context and not have to use Bluesky at all — but this makes social conversations on Bluesky a lot easier to view without bouncing between apps.

We auto-create a linked Bluesky post when you publish (unless you "publish quietly"); this and any other Bluesky mentions / quotes show in the sidebar.

Now they indicate if they have replies, and same as with embedded posts (like above), clicking these posts also opens the full thread!

Still room to improve; maybe we can also do things like:

If you like, you can turn off Leaflet comments in publication settings (per-publication) and just use Bluesky.

  • show a count of mentions (or even aggregated likes etc)

  • make that section more prominent

  • extend this to show mentions in other apps, e.g. backlinks to Semble collections

⁂ ⁂ ⁂

Another fun example — this collection from @tynanpurdy.com of atproto ideas, using embedded Bluesky posts:

A running list of ATproto ideas - Tynan's Leaflets

Updated when the brain has more

Now you can browse all those threads right from the Leaflet post!

⁂ ⁂ ⁂

And some more useful context / threads to browse:

https://lab.leaflet.pub/3mabsropbo22q
Experimenting with tags in Leaflet
Lab Notes 018: a simple implementation of global tags for Leaflet posts, to help writers and communities coordinate and find each other — with some early examples and ways to try!
Show full content

We're experimenting with tags in Leaflet!

To set expectations: this is intentionally simple in scope — not the single ultimate solution for content organization and discovery, but a fun surface area to explore and see how folks use!

⁂ ⁂ ⁂

What's old (tags) is new again (tags!)

We're fans of tags as a tool, a construct, a social coordination mechanism, a site for good clean (sometimes not so clean) fun.

Tags are a staple everywhere from classic blogs to Tumblr to AO3 to Instagram to Twitter and Bluesky, each with their own flavor, each giving people ways to self-organize and communicate and make it easier to find the others.

Leaflet, where longform blogging meets social media, feels like a perfect place to try adding some tag energy!

⁂ ⁂ ⁂

How tags work in Leaflet

Tags are global — add them to a post, and they'll show:

  • on the published post — icon at the top (click to open), list at bottom, so you can add many without cluttering the reader view

  • on a global page for that tag e.g. https://leaflet.pub/tag/music

Add tags while drafting a post, or during the publish flow. You can edit an existing post to add tags as well.

Click a tag from a post to see its global tag page and view other posts with that tag!

Tags can contain any characters, including spaces, no hashtag needed. They're completely separate from Bluesky tags.

⁂ ⁂ ⁂

Initial tag examples!

This can be used in lots of ways, and we expect this to be a little chaotic and evolve as we go. Some early examples:

⁂ ⁂ ⁂

More tags to try!

Some community suggestions we'd love to see you play with:

Also: tags for local scenes! Tags for "reading" and "learning"! And all kinds of other things…

⁂ ⁂ ⁂

Tags for signaling and coordinating

We're excited about how tags can be useful as a minimal interface for experimenting with communities — publishing together, exploring related topics, coordinating around events, and so on.

One hypothesis we're testing is that global Leaflet discovery is fun but not as helpful as a way to find your people; things like tags, that help you explore and create more targeted clusters, could be!

  • Loose communities, like builders in the atmosphere, might use a general tag like "atproto" for posts about atproto products or experiments

  • A conference might use a tag like "Atmosphere Conf 2025", for posts directly relating to that event

  • We can use topic tags like "links", "music" or "making games" to make it easier to find posts on that topic in one place

Tags are nice for a range of social publishing participants — readers, commenters, critics, future collaborators — as well as for writers. Fun to stumble on; fun to hang around…like…a campfire?

⁂ ⁂ ⁂

A note about moderation…

We expect we'll need to moderate tags. Your tags are your data (that's how atproto works!) but Leaflet is not neutral infrastructure, and we'll exercise editorial control on our site.

We don't yet surface tags on our global Discover page. When we do you should expect Discover to be opinionated; we'll suppress tags that feel spammy, offensive (we'll follow Bluesky's community guidelines as a starting point), or just add noise / harsh the vibes.

⁂ ⁂ ⁂

What tags are NOT

This is one of the more experimental features we've shipped, and we want to be clear about what that means.

We're not committed to this tags implementation being a permanent thing. You shouldn't make it load-bearing for your publication at this point. Tags are:

  • not private: there's no way to use just internally for personal organization, or scope tags to a single publication

  • not submission-based: there's no way for anyone besides us to moderate what shows on a tag page

  • not complex: for now, we have no advanced controls like muting, favoriting, or subscribing to tags

  • not guaranteed to live forever: again, we make no promise we'll keep this forever as a core feature

Long term we're not sure if tags are the right way to organize things on Leaflet; other features for communities might be better in many cases. But this is a simple thing we can use now to start sharing things with each other — let's see how it goes!

⁂ ⁂ ⁂

Future improvements

There are lots of ways we'd like to improve tags, as well as related things we may (or may not) get to eventually, like:

  • Support for Looseleafs on tag pages (will fix soon)

  • Language or NSFW tags (probably better as separate settings)

  • Mechanisms for tag discovery (e.g. on our Discover page)

  • Bluesky feeds for Leaflet tags

  • Showing all tags a writer's used on their dashboard, default tags to add to all posts in a given publication, or related tags from within a post…

As always please reach out with any feedback. We'll see what we can do to help with some interesting tag experiments over the coming weeks!

https://lab.leaflet.pub/3m7t7taogdc2j
Atmospheric @-mentions!
Lab Notes 017: mention Bluesky accounts, Leaflet publications, specific posts and more to come — an interface for links across the atmosphere
Show full content

Leaflet now has mentions — an interface for linking across the atmosphere! Right now you can mention:

  • Bluesky accounts

  • Leaflet publications + posts

Type @ and search; hit tab on a pub to scope search to its posts.

You can even add mentions in comments!

⁂ ⁂ ⁂

Mentions look like this:

If you really want to go wild you can mention all kinds of things in the same post:

screenshot of a Leaflet draft showing a dozen or so different accounts and publications and posts mentioned

Maybe don't go too wild; everyone mentioned will be notified!

⁂ ⁂ ⁂

Yes, we support notifications for when you're mentioned, too.

If you have a Leaflet account you'll get a notification when you're mentioned in a Leaflet post/comment, or when a post/publication of yours is mentioned.

Notifications are in-app for now, on your homepage. We'd like to add other notification channels soon as well!

⁂ ⁂ ⁂

We're starting simple with Leaflet posts/pubs and Bluesky profiles as mentionable. But we plan to extend to other atmospheric entities where this makes sense!

Tangled repos and Semble collections, for example, maybe even with similar scoping mechanism, e.g. search a repo to mention a specific file, or search a collection to mention a specific link…

Let us know any you'd most like to see! ✨🍃

https://lab.leaflet.pub/3m7py65pswk2e
Looseleafs — publish standalone Leaflet posts to AT Protocol!
Lab Notes 016: unifying Leaflet so that any doc or canvas can be published to atproto, in a publication or by itself
Show full content

You can now publish Looseleafs — standalone Leaflets on AT Protocol with all our social publishing features, no publication needed!

Try it: create a doc from home, or directly at leaflet.pub/new, then publish as Looseleaf!

From home you can make a canvas too!

⁂ ⁂ ⁂

Leaflet started as a tool for simple shareable documents, and when we built atproto integration, we first did it with publications. For a while single docs remained a separate thing.

Now we're finally bringing it all together so anything you write on Leaflet, including single documents / posts, can be not only shared but published to atproto.

Fast fun publishing + social graph, together at last!

⁂ ⁂ ⁂

Leaflet Publications are great for blogs, but blogs mean decisions (what should my title be?!) and commitment (or at least intention) to publish regularly. Not everything you want to share needs a blog.

Now with Looseleafs you can do more Medium-style or gdocs-style publishing, or spin up quick one-offs for Bluesky longposting as alternative to the limitations of a thread.

Once you publish, Looseleafs live on your PDS, and support social features like comments, quoting to Bluesky, and @-mentions.

So a) you own your data, and b) it lives in an open extensible ecosystem, with c) a fully social layer built in!

⁂ ⁂ ⁂

Any Leaflet — linear doc or canvas — can now be published. Once you make a doc, you have two publishing options:

  • add directly to a publication

  • publish that single post as a Looseleaf

So it's not only quick to publish standalone Leaflets, it's also easier to add drafts to publications.

Since drafts are just docs, they support subpages and themes too!

⁂ ⁂ ⁂

We're excited for all the ways this can be used beyond blogging, many of which we've seen with v1 of Leaflet — like collections, project notes, scrapbooks, manifestos…

And we're excited to see new shapes for publishing! Poetry zines? Crowdsourced wikis? Creative challenge homepages? Yes please!

Here's a Looseleaf example, a canvas:

(src link — Looseleaf with another Looseleaf embedded inside!)

⁂ ⁂ ⁂

A few other notes:

  • Drafts / unpublished docs are semi-private (unlisted), and live on our servers, since atproto doesn't yet support private data

  • You can share a view or edit link for any doc, same as before; it just won't have any social features til it's published

  • You'll get notifications for comments on posts you've published, in a publication or as Looseleaf

  • Looseleafs can each have their own theme; if you add a draft to a publication, it will inherit the publication's theme

  • Custom domain support for Looseleafs is still TBD (you can add to the 'view' link b/c we had this already, but not yet for the published link with comments etc)

⁂ ⁂ ⁂

We hope this solves most confusion that came from our prior doc-pub schism; thanks to Dan for a helpful critique thread! We'll look at further improvements e.g. to clarify the new doc menu.

We'd love to see your Looseleafs and hear how we can improve or reduce any lingering points of friction or confusion.

Note that if you've been using Leaflet since way back, you can also publish any doc you made in the past :)

Lots to play with here, give it a try and let us know what you think!

https://lab.leaflet.pub/3m7lgf5urfs2y
Notifications in Leaflet
Lab Notes 015: we now have in-app notifications for post comments, replies, and new publication subscribers
Show full content

New in Leaflet: notifications! We've been adding more social features, like subscribing to publications and comments on posts, but til now haven't had a good way to follow these interactions.

We now have a notification page! With in-app notifications for:

  • comments on your posts

  • replies to comments you make

  • new follows of your publications

When logged in, you'll see a notifications link (bell icon) from your homepage, which takes you to: https://leaflet.pub/notifications

⁂ ⁂ ⁂

default state, no new notifications

new, unread notifications!

⁂ ⁂ ⁂

Here's what they look like (with our home theme at least!)

Notifications are in-app to start, but we'd like to add other channels! Bluesky DM? Email? Handwritten on a gently falling leaf?

We have a few other things in mind for notifications (and in some cases new Leaflet features!) that might be cool:

  • @-mentions, if people tag you in a post or comment (could include a way to mention publications too)

  • follow publications (like the YouTube bell, to get notified on new activity from a pub)

  • backlinks, when other posts quote or link to yours

Let us know in the comments if you have other ideas or suggestions for anything that'd improve the notifications experience here!

https://lab.leaflet.pub/3m664kxn3xk2h
Polls in publications — what block should we add next?
Lab Notes 014: help us test our newest block type…by voting on what block to add next in Leaflet!
Show full content

Another new block type in publications: polls! Try it here — this will actually be helpful for us in deciding what blocks to add next!

⁂ ⁂ ⁂

What block type should we add next in Leaflet?

(pick one; comment if you want multiple / others not listed)

⁂ ⁂ ⁂

We rebuilt this from our earlier polls block in standalone documents. It's now fully atproto-ified, and works a little differently, e.g. you can't edit a poll after it's been published.

Right now published polls are also limited to a single response. We'd like to add some options, like a way to give a poll a limited duration, or allow multiple responses.

Pretty soon we'll make it possible to publish standalone docs to atproto as well, which will make it easier to do quick one-off polls for anything!

The lexicon is at pub.leaflet.poll — we decided to stick to something scoped under the pub.leaflet namespace for simplicity, but polls definitely could be a shared lexicon that different apps use. We hope that others experiment with them, both with their own lexicons and building off the records we're publishing. One of the cool things about ATProto is that we can coordinate gradually over time, and all the data is still out there, in a simple format, for us to build on!

https://lab.leaflet.pub/3m4eb5htqvs2z
Pub subpages & other recent features!
Lab Notes 013: publications can now have nested pages — illustrated here with pages about embeds, comments, and more
Show full content

We now support subpages in Leaflet publications!

Here's what it looks like — we made pages for features we added but hadn't blogged about earlier:

This is one of our favorite features from Leaflet docs, great for collections, project wikis or documentation, essays with branching tangents, and more.

Each published page also has its own interaction panel for quotes and comments. These are linked in the page footer, as well as an icon in the page preview (if quotes / comments exist) like so:

Not shown here, but yes, you can have sub-subpages and beyond…nest them as deep as you like! And soon: canvas pages, too 👀

Excited to see how people use this in more of a blogging context. Also working on support for publishing one-off docs to atproto; subpages + social features will be fun to play with!

…and with that, we should be just about caught up on documenting major new Leaflet features in Lab Notes!

https://lab.leaflet.pub/3m3q3meshhc2g
Towards Leaflet for Fandom
Lab Notes 012: exploring ways we might improve Leaflet for fandom and writer communities, from tags to expressivity to better comments and conversation
Show full content

We're starting to see people in fandom communities using Leaflet, which is both an exciting indicator we're reaching more folks beyond atproto early adopters, and interesting from a product perspective!

There are lots of things unique to fandom, but also lots we can learn that may generalize to building blocks and features that benefit all communities, from organizing and discovering content, to the reading experience and beyond.

This is our third post in a series exploring ways to improve Leaflet for different communities in the atmosphere. It's a living document; please share your thoughts and we'll update as we learn more!

⁂ ⁂ ⁂

Special thanks to bisprout for beating us to the punch and sharing this great post with lots more thoughts on Leaflet for fandom:

thoughts on leaflet for fandom - sprout speaks

nothing says "social writing" more than fandom imo

We'll highlight many of their ideas below, but definitely worth reading that post in full!

Social publishing for fandom

Shout out to Kat and Ms Boba for sharing their knowledge and experience about how fandom communities work, and how longform publishing platforms could better serve their needs.

We met Kat at a recent NYC atproto meetup and chatted more by DM about Leaflet and the intersection of fandom, tech, and publishing! Things like tagging and discovery and community curation…

We also talked with Ms Boba about the desire for social spaces with more personality, and making publishing spaces your own. And, of course, more about the importance of tags and content policies. Impressed with her work bringing nontechnical participants to the table in shaping discussions around new social protocols and tools!

Tags for conversation and community

Several folks have told us how important tagging can be for communities to identify and discover work. Kat put it like so:

for fandom, tagging and organization is critical. we as fans LOVE to self-identify and label through any means -- it's why we at fujocoded push for the labelers because fans LOVE shit like it. 88x31 buttons, deviantart stamps, anything like it. but tags count in this too because they allow us to organize and label and warn for things in our works. they also allow us to express ourselves

Really appreciate how tags can serve as both organizational affordance and expressive surface! On Tumblr, to take one of the best known examples, tags are not just labels but an expressive part of posts, a kind of conversational side channel.

Felicia shared some thoughts on tagging too:

It feels important to make tags semantically flexible, e.g. not just hashtags but allow multiple words, long tags, punctuation, etc. Simple (probably not a nested hierarchy for example) but flexible enough to make your own emergent hierarchy if needed.

Being able to click tags from a post and see other posts with that tag globally and within the current publication ideally would be great.

Customization and expressivity

Another common thing we hear is how much people love making something their own, from bespoke structure to visual look and feel.

We've got some fun things going with theming, but there's a lot more we can explore here! From bisprout:

I love the theme and customization options for Leaflet so far, but would love to see just a liiittle bit more. Maybe having an additional one or two font color options, and font size options beyond just headers and paragraph…

Agree this would be nice! One thing we plan to add soon is more font options. Per-post and per-block theming options could be great too. Maybe even theme elements tied to tags in some way?

Felicia also mentioned adding just a couple more text size options, which seems like a good idea.

Canvas is also currently quite simple and has lots of room for improvement, both with text handling and more visual options like shapes, arrows, or even freeform drawing options.

Content policies and moderation

A few people have asked about NSFW and content policies, e.g.:

Important to give this more thought! Tags will be helpful here; we may want something like a simple "NSFW" toggle as well.

Ms Boba emphasized that we should expect folks to push the limits here, so good to have ideas how we'll handle when they do.

We'd like to build on the Bluesky moderation stack, e.g. things like labelers, mutes and blocks, post gating and so on. We're looking at other tools like ROOST ("robust open online safety tools") as well.

For now — noting we plan to soon add a way for authors to moderate comments on their posts!

Navigation and content flexibility

It'd be great to have more flexibility in organizing content, both within a publication and within posts themselves. One example:

This came up as a suggestion in the context of webcomics too — ideally we'll add an option to have "prev" and "next" buttons as built in nav, without having to add buttons manually!

Easier internal links to other posts could be helpful too, for linking to sequences or related content (your own posts or others').

Some people are also interested in subpages within publications:

The good news here is we're planning to add subpage support soon; we want parity between Leaflet docs and posts in publications!

Homes for communities

How might we make it easier to create collaborative publications or collections for a larger community?

Tags will help for certain use cases; we're also thinking about something like a community publication or meta-publication that could collect posts from many contributors. Similar, from bisprout:

Another feature I'd love to see is collaborative publications. I know several writers who collab on projects by alternating chapters, so having a shared publication they can both publish to while retaining their individual @ would be great. I imagine this would also be nice for other formats of writing teams, like newsletters and such…

We plan to add a way to send a doc to a publication; if we do community pubs maybe we could add a way to cross-post i.e. add posts to more than one publication, too.

One other interesting thing Ms Boba mentioned: thinking about interoperability for writers to publish in many different places (whether Leaflet, A03, personal websites etc), and readers to have different views for browsing and discovery, reducing platform centralization.

Finally, we've seen a couple publications organized around fandom community events (KRBK Events; NuCarni Events) — we love creative challenges as a communal format for making and exploring together, would love to see how we can support! Whether a basic thing with tags, or something like a collaborative publication…

And…adjacent ideas for docs / writing generally!

Separately from the publication use case, we can make Leaflet better for writing and doc-creation in general! Love this:

We agree! A couple specific suggestions from Felicia, in thread:

  • table of contents kind of nav in a doc

  • comments on docs (public ones soon; private…TBD?!)

  • more granular font size options…

Bisprout also had some good ideas around better anchoring comments and quotes to the text so you can e.g. view them by location in the doc (not just chronologically), and maybe even view a kind of "heat map" indicating where in the doc conversation is happening.

This, combined with anchored quotes, would have me simultaneously bouncing off the walls in excitement and on my knees sobbing in gratitude. It's like everything I've ever wanted as an author of fanworks, to be able to see where my readers were like !!!!! and then just pull up the quotes right next to the doc and scroll through and read their reactions alongside the text. I cannot overstate how badly I want this.

Into this! Feels like there's a lot of room to make something in between blog comments and Google Docs-style comments — both more conversational and more fun to use…

They mentioned the idea of user profile pages; that's also on our to do list! It'll probably start with a list of your content (publications, comments, etc.) but it'd be cool to add things like a blogroll / list of others you recommend, too.

https://lab.leaflet.pub/3lzhcttnvfc23
Towards Leaflet for Scientists
Lab Notes 011: ideas for now we might make Leaflet better for scientists, researchers, and academic communities
Show full content

We'd love to make Leaflet better for scientists, and for that matter, for all academics and researchers!

There's a vibrant academic community — and many subcommunities — active on Bluesky, and we think longform publishing can be a natural fit both for public communication and exchanging ideas within these smaller communities.

This post is second in a series exploring ideas for Leaflet in the context of different use cases and communities. We'll treat it as a living document and update as we learn more.

Publishing and academic communities

A lot of the ideas here so far emerged out of conversations with folks we met at the recent NYC atproto community hack day — Ronen and the Cosmik team (building Semble), and Sophie, who's making a really cool Bluesky custom papers feed. Thanks for the ideas! We'd love to hear from other scientists and academics.

Along with the ideas below, we're thinking about community tools broadly — things like tags and post collections or "meta-publications" that could curate posts from many authors, perhaps with corresponding custom feeds. Reach out if that sounds useful!

Annotations

Semble is working on a lexicon for inline annotations which sounds cool and may have some overlap with Leaflet.

We've explored some adjacent things with comments (our own lexicon) and quotes (for sharing highlights to Bluesky), and have seen some cool examples of annotation-like use, like:

Bates' Gedanken on Property Rights - leaflet.drewmca.net

A thought experiment that shows the primacy of property rights in economic systems

Or this one, making great use of our Bluesky post embed block to riff on ideas found via Bluesky posts: 

A running list of ATproto ideas - Tynan's Leaflets

Updated when the brain has more

Something like post references is closely related — more below!

Maybe we can make things like quotes and comments more useful here as well. We also recently added quotes within comments — a way to point to specific parts of a post when commenting, which is useful for annotation and granular conversation.

Standalone docs

Right now Leaflet has standalone docs, but only publications are social and published on atproto. We soon plan to make it possible to publish standalone docs, which will open up more use cases.

This seems like a natural fit for e.g. publishing a working draft in a social context where you want to invite feedback from your follow graph, or even a case study or Q&A or…

For a more complex example, Nick made a syllabus with Leaflet:

(Actually two syllabi: How to Pay Attention and Introduction to the Anthropology of Science and Technology)

This takes full advantage of subpages for more structure — something like this could be very cool to publish in a way that e.g. only students could comment, or even edit, add pages, etc.

References and backlinks

Semble's thinking about trackbacking, inspired by the arXiv standard which sounds similar to a webmention, basically a backlink + notification; maybe we could do some kind of integration here.

One thing we definitely want to add is quoting posts across Leaflet, so I can link to your post in mine and you get a notification.

A similar thing between apps e.g. where we could notify if someone links to a Leaflet post in Semble, and vice versa, would be cool.

Making comments quotable or deep-linkable would also be quite useful for this kind of thing.

Related to all this, we need to figure out notifications soon!

Post reactions

Another idea Semble's exploring: extending post reactions, to support not just likes but e.g. custom reacjis.

It could be nice to have something similar for Leaflet posts; we've thought about adding 'likes' on posts, but it'd be fun to make it more customizable…reactions defined per-publication? We did a similar thing for Hyperlink with custom per-space reactions/tags.

Maybe we could share a lexicon here…

Publishing after PubPub

The open publishing platform PubPub is unfortunately winding down operations. Maybe there are things we can learn from or adopt there, see if we can build certain functionality into Leaflet.

We'd love to hear from any folks who use PubPub: what features do you find most useful, and might be cool to see us explore?

…and more!

Sophie noted some useful context about the ways academics post about their work online:

  • threads announcing their work on Bluesky / Twitter

  • blogging (one example; another)

  • hosting demos of short introductions of their work (example)

And for the latter, she mentioned good support for photos and diagrams being really important!

We recently added embed blocks to better support e.g. media like YouTube videos; there's much we can do for nicer image handling, as well as things like file uploads.

Another recent addition: math and code blocks! Useful for things like talking about location data on atproto (code block) and explaining cryptographic signature schemes (math block), and we hope for a range of technical writing.

Finally, she had a great point about how Leaflet might help foster academic discussion, e.g. bridging longform content and more casual shortform conversation. Semble's exploring this and a lot of the above ideas might be helpful.

Also a good suggestion to check out alphaXiv — looks like they're doing some interesting work around a discussion space for arXiv papers (preprints), a mix of discovery + discussion forum + reading tools, may be worth a chat.

https://lab.leaflet.pub/3lz2rud4d3s26
Towards Leaflet for Artists
Lab Notes 010: first in a series exploring how we can make Leaflet more useful for specific creators & communities, starting with artists…from photographers to comics makers!
Show full content
Leaflet for…you?

We're starting a series to capture notes / ideas for making Leaflet more useful to more people — with a special focus on communities that have an active presence here in the atmosphere!

How can we enable great social publishing not just for bloggers generically, but for visual artists? For academics and scientists? For fandom communities, developers, and more?

We'll add more of these, and plan to treat each as a living doc, sharing notes as we learn.

How can we make Leaflet better for you and the communities you love? If you have ideas, we'd love to hear from you!

To start, we're looking at ideas for making Leaflet better for artists and visual creators!

Here are some things we've heard and been thinking about so far.

Canvas pages

We have a special 'canvas' page type in Leaflet docs, a simple visual board for arranging blocks spatially.

It's pretty minimalist, but useful for lots of things!

We'd like to make all block types and subpages available in publications, and add the ability to publish standalone leaflets to atproto to enable social features for canvases.

Comic specs and lexicons

Not sure if we'd do a comics-specific lexicon down the line, but this spec from @dmathewwws.com is really interesting! Even if we don't adopt in full, it could give us good ideas re: useful types of data to better support comics in Leaflet posts.

^ More in thread here including why a comics lexicon is exciting. It could be cool to try to get there gradually; I can imagine comics as a kind of template / variant for more specific post format…a little outside our wheelhouse right now but could make sense eventually.

I wonder if we could get part of the way there just by enabling creators to add more post metadata? Like tags, but also e.g. genre, format, or other things specific to comics (or other forms!)

Top-level pages for publications

Into this idea for how non-post pages in a publication would be useful for artists. Gallery would be a great use case along with ones like 'About' or 'Contact' and so on. These pages would also be useful for creating indexes or sequences of other pages / posts.

And definitely makes sense to support common distribution channels like RSS and email, that's almost table stakes here! Also (to a point in reply to that post), just making it FUN to publish — but also open, values-aligned, good for serious growth etc. — is pretty key for us!

Prev + next buttons

Mentioned in the above post, and by one or two others — this makes a lot of sense, and is super simple, love it, we should add ASAP!

This is great because, as with things like better image handling, it'll be useful for everyone, publishers as well as readers.

We have a ton of ideas and it's helpful to prioritize things that are both broadly useful and super critical to specific types of creators!

Let's do this one now!

Image galleries + multiple image handling

I'm lumping a few things together here under the umbrella of better handling many images!

First, just getting images into a post in the first place — bulk upload both from file picker, and drag and drop onto the page.

An image gallery block could be really cool — useful for photo blogs, certain types of comics or portfolios…all kinds of things.

Lightboxing images makes a lot of sense together with galleries. Useful for individual images just to see them more full size, but also great for nav within a gallery.

Question: what do people most want to see with an image gallery block…something simple? lots of options? Grain embed?

Oh and RC (who posted above) has a cool travel photo blog, but I noticed the images can be large / slow to load, optimizing em would probably be useful especially if we do galleries.

Odds 'n' ends!

Account indicator (or even switcher) could be a nice visual cue; especially useful for people with both personal and project accounts.

And yes, planning a 'reader' view to read things you're subscribed to from the homepage!

Definitely thinking about tags / categories as well. Both for organizing within a publication, and for improving discovery.

Also thinking about community collections or meta-pubs people could organize and submit posts to!

Touched on canvas above, but this mentions layout options too:

We don't want to go too wild with layout, but the two-column idea might be a nice balance, adding flexibility but without a ton of options to fiddle with.

That's it for now, but we'll update with more as we go — please comment with any thoughts, here or on Bluesky!

https://lab.leaflet.pub/3ly2jff6qwc2e
Longform Lexicons for ATProto
Lab Notes 009: thinking about how Leaflet can play nicely with other apps and lexicons for longform publishing, for the good of the atproto ecosystem [reply to "The Lexicon Interop Problem"]
Show full content

Appreciate this post from Anuj (@quillmatiq.com) on emerging challenges of lexicon interoperability across the atproto ecosystem:

The Lexicon Interop Problem - augment

Competing AT platforms are using different lexicons. Should we be worried?

Lexicon interop's been on our minds lately for a few reasons!

First, to emphasize upfront: we're still in the experimental phase of building Leaflet. We did our own lexicons because we felt we had to, and we'd love for them to be broadly used!

If anyone feels they don't fit the needs of something you're building in the atproto publishing space that should be Leaflet-compatible, please discuss / complain loudly so we can work toward shared ones together.

Markdown vs. Block-Based Lexicons

The OG atproto blog platform, WhiteWind, has a simple markdown lexicon, and we made our own around more structured block-based content. People are curious why, and how they could be more compatible.

The short answer here is that we want to make publishing as rich and expressive as possible, which means supporting content beyond what's possible in markdown. We really like the balance of power and ease of editing afforded by blocks, and plan to add more. A simpler markdown lexicon definitely has a place (we love Obsidian for note-taking!) but we're going for something closer to Ghost, WordPress, Substack, or Notion.

We're thinking more about how to better support markdown in Leaflet publications, both for better interop or migration from WhiteWind and for folks who want an easier way to post programmatically.

One idea might be to add a markdown content block as a simpler alternative to push content to Leaflet without the need for our more complex block structure.

The Growing Garden of ATProto Publishing

We're also seeing others emerge on the atproto longform publishing scene! Offprint is a WIP app that looks really cool, with a strong focus on design and ease of use.

We chatted with Offprint's creator recently and had a good convo about ways we could work towards mutual compatibility. In particular we'd like to see how we can share lexicons to whatever extent possible.

Here's a thread he just posted as well:

One thing it sounds like Offprint will be focusing on is more advanced theming options, and it'd be great to see how that might play nicely with Leaflet. TBD how that shakes out but lots of possibilities!

Maybe they play with advanced theming that extends or sits parallel to our core document/publication lexicons. Maybe it could even work as a superset of our basic theme settings so that posts made in Offprint still look nice in Leaflet.

Maybe we both want to explore different directions for payment options, collaborative publications, or feeds, but make sure creators can try both without worrying about annoying compatibility issues.

Maybe some future client wants to easily render feeds with both Leaflet and Offprint posts and more.

Maybe that future client that wants to render longform content directly in the feed…is Bluesky itself! (HINT HINT, WINK WINK.)

I think there's plenty of room to strike a balance where we diverge in more experimental areas or places we want to differentiate in particular ways, but align on the really central parts that define e.g. post content and key metadata.

Though lexicon alignment is primarily a social problem, there are some interesting technical things that could be useful too. For example, Ink & Switch's research into lenses points to interesting infrastructure for transforming between different versions of lexicons, and maybe even different lexicons entirely.

It would be a lot of work to figure out how to apply this to the atproto ecosystem, and a lot of work to get adoption for it, but could be enormously useful as the garden grows.

Compatibility in ATProto…and Beyond

Finally, there are wider conversations happening — questions not only of lexicon compatibility between different atproto apps, but things like interop / migration from platforms like Ghost or Substack.

Here for example is a Lexicon Community discussion on possibilities for a common blog lexicon; I chimed in recently with some thoughts!

Blog lexicon · Issue #54 · lexicon-community/lexicon

It'd be nice to have a lexicon definition for a blog posts. It should have the same fields as perhaps: Jekyll Ghost Hugo

As Anuj writes, its great that these conversations are happening, both in community working groups like Lexicon Community, and directly between developers and teams building things.

Agree we should balance pragmatic rapid experimentation + being thoughtful about collaboration. Both are useful, not only for making stronger products but for growing the whole atproto ecosystem together.

If you're thinking about atproto and longform publishing, or anything else that seems up our alley, reach out, we'd love to chat about interesting ways to work together on this stuff!

https://lab.leaflet.pub/3lxy5sg373k2z
Quotes: social sharing on Bluesky!
Lab Notes 008: a way to highlight and post excerpts from Leaflet publications to Bluesky, to share love & start conversations!
Show full content

We added a new feature for sharing quotes from Leaflet posts!

This has two parts, highlights and quotes, that work together:

  • Highlight an excerpt from a post, and you'll see a popover to share directly to Bluesky (or copy as a link)

  • Quotes open in a panel you can toggle next to the post, showing quoted parts with links to the corresponding Bluesky posts

Anyone can share the highlight link, even without a Bluesky account. But when you share to Bluesky, it's saved as a quote, and those conversations live alongside the post.

Olivier wrote up a nice thread on this as well, with a demo + great points on how this shows what's possible with atproto.

⁂ ⁂ ⁂

Sharing to spark conversations

We like this because it adds a direct social loop between Leaflet and Bluesky — and because it's useful both for readers and writers!

  • Readers can share the things that resonated most, give feedback, and use to start related discussions

  • Writers can share questions or teasers from their own posts — along with posting on initial publish, a great way to share in more specific ways and direct the conversation

I'm enjoying this as both a reader and writer…and in particular excited to use more for the casual summer blog club we're running! Browse participants' pubs here, lots of good ones to try quoting :)

Leaflet blog club: initial participants - Summer of Pub

Here’s who’s blogging so far…reach out to be added to the list!

This functions somewhat adjacent to comments, though more anchored on sharing than conversation, and we still have some things to figure out e.g. around notifying authors/commenters.

We'd still like to add more standard comments too, and think it'll fit nicely alongside quotes.

⁂ ⁂ ⁂Notable Quotables

A few fun examples to see this in action!

Jared shared a couple great ones from Jake and JT:

[003] Silver Institutions - Dreaming at the Edge of the Apocalypse

Sunday 8 June 2025

Fungo Zone - not yet thinking

The web is rotting, enjoy it!

Here's one Bread shared from one of my Scraps! posts:

On a snapshot from the Morgan Library… - Scraps!

Exploring and annotating a list of (very old; rich with intrigue) book titles jotted down on a library visit, ten years later.

And I've been playing with quotes a bunch too!

Towards a Framework for Authoring Adventures - Dungeon Merlin

Dice Goblin Games wrote a great blog post about how primitive it can feel to be reading RPGs and Adventures as PDFs on your screen. It’s like the old joke of most MacBooks being $2000 Facebook machines. Only sadder, because at least Facebook downloads a lot of JavaScript on first load, which is already an important step towards what I’ll be describing below.

ALBUMS YOU SHOULD LISTEN TO ! - ✨ Library of Arts ✨

My list of perfect Albums

HTML Day ✺ Saturday, August 2, 2025 - HTML Energy

On Saturday, August 2nd, 2025, we’ll be gathering in places around the world to write and celebrate HTML.

^btw, HTML Day 2025 is happening tomorrow, and we're proud to help sponsor! Take a look & see if there's an event near you ✨❇️

⁂ ⁂ ⁂

Let us know if you have thoughts / feedback on this or other social features you'd like to see us explore next!

https://lab.leaflet.pub/3lveimjgk3k2v
An open letter to Substack creators
Lab Notes 007: a note to those who find Substack useful, but use the platform reluctantly; an invitation to join us in publishing on a more open network.
Show full content

originally published as a Substack Note

An open letter to everyone here who likes Substack, the idea more than Substack, the company and increasingly enshittified product:

⁂ ⁂ ⁂

I’ve long admired Substack. I read hundreds of writers on this platform. But these days I’m here reluctantly. I can’t bring myself to write here. Every time I open the app something makes me bristle. If you, too, don’t love…

  • how Substack’s going hard on walled garden

  • seeing the app turning into TikTok (wtf?)

  • feature bloat and pop-ups and paywalls everywhere

We're making Leaflet, a social publishing platform for blogs / newsletters — like Substack, but more open, and frankly just nicer to use.

It’s not a clone, but something new. We’re trying to make publishing fun. To capture the personal internet, the simple lightweight social web.

⁂ ⁂ ⁂

We believe in the power of open social publishing.

The web and email run on open protocols. Blogs and newsletters should too. Leaflet’s open source, but more importantly, built on open foundations.

We’re building on the AT Protocol, which powers Bluesky as well as dozens of emerging apps, all interoperable. An open publishing ecosystem means:

  • Open data: interoperable, not locked in a walled garden

  • Open network: a built in network of readers and writers

  • Open distribution: network effects shared across the ecosystem

There are also different feedback loops at play: with a closed network there’s evolutionary pressure to extract and exploit; with an open network, feedback loops push towards interconnectedness and shared ownership.

Of course I’m biased. But the point is…you’ve got options! You own your data and your identity; if you want you can make your own Leaflet frontend or even a whole different app. That’s just not possible here on Substack.

⁂ ⁂ ⁂

If this vision resonates, give Leaflet a try!

Make a publication at leaflet.pub/home — make as many as you like, with custom domains and themes…all free!

We’re in alpha; some key features like email subscriptions, payments, and social sharing are coming soon. Lots to build; a big task ahead.

Leaflet will soon be a solid alternative — to start, maybe not for the Substack 1% slinging podcasts and what-have-you, but for the rest of us.

What'd make you excited to switch? If you’re on here but interested in trying something new, we’d love to hear from you!

https://lab.leaflet.pub/3lu6shku2zk2n
Scheming on Theming!
Lab Notes 006: on theme design in Leaflet, and challenges in balancing freedom for self-expression with keeping things simple and fun to use, from visual hierarchy to optimal accent colors.
Show full content

hello!

I'm celine :D

I'm one of the cofounders of Leaflet, and I handle a lot of the design!

Theming is SO important to us!!! I'm here to chat a little bit about our approach to theming, as well as some of the (many) problems we've solved and are still solving!

Thoughts on theming in general

Before we started building blogs on ATProto, Leaflet was originally a standalone writing tool (like Google Docs or Notion). Even then we felt that writing is personal, and people ought to be able to express themselves not just through their words, but also through their stationery.

We built theming as a central pillar of Leaflet so that anyone can build their own perfect writing surface for the web!

As we switch our lens to be more explicitly for publishing, our focus on expression has only become more important.

But endless freedom is also endless choice and endless choice is endless choice paralysis. At some point it stops being fun!

In general, this is a balance we're looking to strike:

  • most freedom to make a doc that feels like you

  • while still keeping the experience of setting a great theme simple and fun...it should take less than a minute!

It’s been a quite hard line to maintain lol.

Struggles with theming

To make sure you have the freedom to build a theme that feels like you, we try not to make any choices for you. We don't autogenerate palettes for example!

But we still want things to be legible and look nice as long as the theme itself is reasonable (i.e. black text on a black background would be impossible to read no matter what we do!)

We've done a LOT of iteration/fixing/tweaking to achieve this! Here are a few things we've figured out.

getting a full range of text colors

To maintain good visual hierarchy, it's important to have a gradient of base text colors, ranging from a dark primary text color to a light border color. But asking you to manually set all 5 colors we use in our interface seems like an impossible slog D:

So we calculate these! We mix your chosen text color with your page color to get a smooth gradient effect.

getting the best accent for the situation

When you pick accent colors with buttons in mind, you might pick a vibrant background and a light text color, or a light background and a vibrant text color. But for links, you always want the vibrant color.

If we only ever used accent 1 for links, then depending on the theme, links would sometimes be completely illegible!

In order to make sure we show the vibrant color where we need to, we calculate each accent against the page background and choose the more contrast-y one.

dealing with noisy background images

One of the best ways to inject character into a page is to use a background image! You can even use a gif! Background images are the secret sauce to a mind boggling variety of vibes!

It also introduces a huge slate of legibility problems though... What if you choose an image with a lot of contrast to it? Your text won't show up in some parts no matter what color you choose for it.

To make sure you can still read your text, and the text in menus and toolbars, we overlay containers on top of the image.

But wait! Aren't we just hiding the background you put so much work into choosing...

We weren’t sure how to preserve the character of the background image while also maintaining legibility, but eventually landed on letting you change the opacity of the overlay so you can still see your image!

Changing the opacity can lend a lot of its own character to the page as well.

Sometimes I wonder if the styling of our page container is imposing too much unwanted character in your doc... I’d love to one day introduce border styles or options to adjust the margins!

highlighting things that are selected

In our editor, it's important to see what things are selected/active (buttons, blocks, menu items etc). In other apps, this is usually achieved by darkening the background color slightly or perhaps adding/thickening the border.

We do sometimes change background color! Unfortunately, it's just not the right solution in many of our cases. It might not have a background to darken, or doing so would look intrusive.

In those cases we need to add/thicken the borders! But if we thicken just the border, it can be hard to tell the difference between a selected and unselected element. And in low contrast themes, it can be hard to see the border at all.

To compound this problem, at some point we thought it would be a good idea to let you put background image on pages and the extra noise makes it all the more difficult, oh no!

To solve for this, our selected state puts an outline around the element a couple pixels away from its border. This extra gap makes it way easier to see the selection, and the extra thickness makes it much clearer that something is highlighted.

More dreaming for theming

There's a lot of things we still need to do for theming!

Fonts are coming very soon, for one! We've selected a set of great font options and are working on adding to theme settings.

We also want to offer a LOT more options for adjusting the layout of your publications and posts. This will probably be an all new, and much more complex theming system, so I'm thinking of it as an opportunity to do a version 2.

But we've also come a long way!

Thanks for reading!

bonus: the (un)holy cycle of product development...

https://lab.leaflet.pub/3ltpinubvfc2z
Let's write: join our summer blog club
Lab Notes 005: spinning up a loose collective to harness blog energy on Leaflet & play with publishing in conversation…join and write something new each week!
Show full content
hand drawn illustration of a bunch of cartoon lil guys holding up a panorama of mountains together, with a sun above, some nice cute teamwork

Want to write more this summer?

Not only write, but publish, share your work, start conversations? We do too! So we're running a blog club, starting now.

Join us to make publications, write and share weekly, and talk about our work together on Bluesky.

⁂ ⁂ ⁂

Want to participate? ➡️ ➡️ ➡️ follow Summer of Pub for updates!

⁂ ⁂ ⁂

Make a new publication…or even make a few! Any topic, any format, all sorts of possibilities. Poetry? Photo blog? Yes and yes!

This is casual; anything goes, as long as you publish :) And we're open to suggestions if you think of things that'd make this a better experience for all.

Have a friend who might enjoy? Please invite them to join too!

⁂ ⁂ ⁂

The structure is intentionally loose, with a rolling start, so folks can join any time and we can make it better as we improve publications.

We just launched pub theming, to give each blog its own vibe, and we'll soon have a way to share quotes from each other's posts to Bluesky, so we can more easily talk about em!

We're excited to try quoting with blog club posts — and we'd love to have some great posts ready to share when we launch this.

⁂ ⁂ ⁂

Also thinking about how we can make a simple collection of everyone's posts to better follow along…but for now:

Publication ready? ➡️ ➡️ ➡️ share on Bluesky & tag @schlage.town

(You can also reach out any time with questions!)

https://lab.leaflet.pub/3ltkhmla23s2l
Ideas for publication discovery
Lab Notes 004: thinking through different approaches to social discovery, from feeds to curated collections to explorable interfaces.
Show full content

We've been thinking about discovery for Leaflet publications, and recently posted about this and got some good conversation going!

I want to summarize some ideas we have — and ones you shared — for how we might go about this.

Simple solution: feed of all Leaflet pubs

Right now it'd be great just to have some cool examples to point to, but we also want to think about what might scale.

One simple approach is making a global feed of publication activity. It could be all posts, or all pubs ordered by most recent post activity.

This might be a little chaotic but could work at our small scale. I think we'd want to at least have some threshold or heuristic to filter out the many people who just make a quick test pub / post.

Curatorial lens: "Discover" page

Rather than a feed, we could make a more browsable collection of publications. This could be manually curated, or filterable somehow. I think we'd at least want basic heuristics like (for pubs) having a certain number of posts, or (for posts) a certain number of likes.

One thing to be cautious of here is doing this in a way where we strongly curate / editorialize, that could imply an endorsement of content, whether done manually or with algorithmic suggestions.

Explorable publications: an active browsing interface

I like the idea of something that's explorable — not editorialized, but also not just a naive list of all pubs.

It should be fun to browse, and give users choice in how to traverse the universe of publications. It'd be especially cool to have nice ways to filter for things in your own social graph, like:

  • ways to find all mutuals or friends of friends pubs…

  • surfacing posts liked or shared by people you follow…

We could even have a way to expand out say from just mutuals to friends of friends or your wider network.

Less about what we recommend, more about what friends recommend or engage with. This could still be done in more or less opaque ways, but I think it's ideal if it's always clear why you're seeing something.

Leaderboards: ranking publications

We could make something that aims to surface popular publications, showing e.g. pubs in ranked order by how many subscribers they have, or (once we add this) which have more quotes shared to Bluesky, or the most likes, or similar factors.

This has similarities with explorable publications, but could be a more global version, with less focus on your personal connections to others in your network — which is why I like it less overall.

Random discovery: simple serendipity

A couple people mentioned and I like this idea because it's simple and fun, kind of like classic Stumbleupon!

We could have basically a big "randomizer" button that takes you to a random post, and you can click it as many times as you like. I don't think this should be the only way to browse / discover pubs, but it could be a fun simple addition.

Time for some experiments…

We'll probably try one or more of these directions soon. I think there's more to explore with in-app feeds, but we could try a very simple global feed to start. I also like the idea of an explorable browsing experience based on your social graph.

To get enough overall activity to make any of these fun, we may need to give people a bit more time to play around, and try some things to encourage more publishing. I think this could be a nice complement to a summer writing club!

Down the road we can try related things like a way to recommend other publications, or a more high-signal way to endorse each other. I like the suggestion of author-added tags for posts as well; it'd be interesting to see what kind of blogging folksonomy emerges.

Lots to play with, and given the open nature of the network, others can try making alternatives here too!

⁂ ⁂ ⁂

Thanks to those who contributed to this discussion on Bluesky — @schizodelusion.bsky.social, @tachyoneddies.com, @o.simardcasanova.net, @prefetcher.miku.place, @3pol.bsky.social, and @derzquist.net

https://lab.leaflet.pub/3lscdazpv2s2r
Leaflet's tech stack
Lab Notes 003: on our app framework, database, and editor layers…and how atproto completes the stack to enable open social publishing!
Show full content

Leaflet is open source — view the code here on GitHub.

We picked our tech stack to let us quickly iterate and build really really rich interfaces while keeping everything fast. Most of our choices are fairly boring, with a couple spices thrown in:

The Framework: Next.js (and hence, React)

We've used NextJS for a long time. While it definitely isn't all smooth sailing, it's incredibly robust and reliable, and has a lot of flexibility. React Server Components, while something we (and the ecosystem) are still figuring out how to make the most of, lets us get fast SSR with minimal code duplication.

We use server actions a bunch, but also often use our own little RPC client with a route handler. Still figuring out how to make the best use of `revalidatePath` and `revalidateTag`.

A major refactor we need to do is moving the majority of the backend related to publications to XRPC, so that it too can be defined with lexicons and built on by the wider ecosystem.

The Database: Supabase (i.e Postgres in a fancy coat)

I like that Supabase basically just wraps Postgres, and I really appreciate its wrapping. Nice local development, easy type generation, migrations, and access over HTTP all make my life easier basically every day.

One quirk is that the vast majority of our data is stored in two big tables. We model our application data (things like the blocks in a document, themes, etc) as a graph of entities, which are just unique identifiers, and facts about them, which can be relationships to other entities.

The Host: Vercel

We've also been using Vercel for ages. They're not the most flexible platform but the combination of instant deploys, analytics, observability, and all the little things really makes them a no brainer (at our scale).

One area I really appreciated: when we were implementing custom domains, initially for individual leaflets and then for publications, it was dead simple to manage the whole life cycle, and define the routing logic directly in our code base.

The Editor: Prosemirror and Replicache

There are two main parts to the Leaflet editor: Prosemirror, which basically gives us a beautiful API for a rich text editor, and Replicache, which enables us to have dead simple sync and optimistic updates everywhere in the app. We stitch the two together and enable proper collaborative editing with YJS.

One way we differ from your average Prosemirror implementation is we have our own data structure and editor for managing blocks, and Prosemirror instances are only for an individual text block. This let's us more easily create new block types, do complicated queries, and generally have the same data model everywhere.

And of course: ATProto!

It's actually been a dream to build in the ATProto ecosystem. It's OAuth implementation is not only very unique in that it provides a "permissionless" identity service, it also has the best local development story I've ever seen.

Lexicons are also very ergonomic to write and type generation based on them works great.

And of course at the heart of it is the PDS => Firehose => Appview => FrontEnd loop, which is clean and simple, and enables all the cool things we've already seen in the bluesky ecosystem!

We run our firehose ingestor on Disco, a really great kinda "build-your-own-cloud" platform. It lets you run multiple services on a single computer, and easily deploy and scale them, as well as communicate between them. We also use it to run our feed generator!

We're currently creating records for publications, posts, and follows, and reading from bluesky for profile data. We'll soon be also picking up mentions of Leaflet publications in bluesky posts, and allowing Leaflet publications to quote each other as well as bluesky posts!

It's pretty incredible that we have a software stack that makes this kind of interoperability not only possible but honestly kind of easy. We're barely getting started with the kinds of hyper-linked applications it will enable.

https://lab.leaflet.pub/3lrvqjio6e22d
Subscribing to publications via atproto
Lab Notes 002: atproto subscription for Leaflet publications — how it works; why we started here; what's next
Show full content

We added a way to subscribe to publications via atproto!

This has two main parts:

  • a "subscription" record, which lives in your PDS and represents the subscriber to publication relationship

  • a custom Bluesky feed we generate, unique per user, linking to new posts in any publications you're subscribed to

How it works: writers

Share your publication; people can subscribe from its homepage or from any post.

When publishing new posts, you now have an option to post to Bluesky — this is what will show in subcribers' feeds, but you can turn off per-post if you like.

How it works: readers

Subscribe to any publication, and you'll see a link to add the "Publications" feed in Bluesky!

That feed will show any new posts from publications you follow.

Here's an example!

Our friend Jake is writing a wonderful new publication, Dreaming at the Edge of the Apocalypse, on theories of craft, interfacing with the natural world, cultivating community and more

He's written three great posts already — follow it here:

Dreaming at the Edge of the Apocalypse

by Jake Fee @jakefee.bsky.social

Current limitations
  • there is not yet a way for creators to view subscribers to a publication, but we're working on it!

  • posts you've already published (before we shipped this feature) won't show in subscribers' feeds

  • for readers, the main limitation right now is the need for a Bluesky account, but we want to support email subscriptions too (see below)

What was easy / what was hard

Surprisingly easy: creating Bluesky records, and getting data e.g. to see if users already have the feed added.

Surprisingly hard: oauth / managing auth state across custom domains…turns out this is a pain!

Why we started with atproto subscriptions

We wanted to focus on things that play well with Bluesky, as the largest (by far) existing atproto community, and do subscriptions in a way that's good for network effects in the atmosphere broadly.

Custom feeds are cool, but definitely not as direct a way to notify readers when you publish. More like RSS than push notifications.

We think both atproto and email subscriptions are important for what we're trying to do — atproto for social stuff; email for direct audience relationship.

What's next for subscribing?
  • other things that leverage the atproto social graph — like an in-app Leaflet feed, or ways to explore what friends subscribe to

  • subscribing by email — important, but comes with challenges both in UX and (potentially later) making costs sustainable

  • for readers, an open q if there's something cool we can do that's more integrated with atproto but still as solid as email…maybe in the future!

Anything else we should add or consider here? As always we'd love to hear what you think.

https://lab.leaflet.pub/3lrbss5o6j22t
Opening the lab doors
Lab Notes 001: going to press, Building on Bluesky, designing blogs, starting to make publications!
Show full content
Welcome to the lab!

We're making a social publishing platform built on Bluesky: a way to publish blogs and newsletters, and (soon!) ways for your friends to follow, comment, and more.

We've been working on the Leaflet editor for a while — a tool for quick fun collaborative docs — but this is a new chapter!

Leaflet Lab Notes is where we'll share updates as we build it. We're aiming to write, and release new features, ~weekly.

We'll note what we find exciting, and where we run into problems. We'll get technical, for Bluesky builders, and touch on themes like internet publishing and open networks, for writers and creators.

⁂ ⁂ ⁂

⁂ ⁂ ⁂

Going to press: publications and posts

Our first release brings Publications (or pubs) to Leaflet: collections of posts you can use for a blog, newsletter, project log — anything you want people to read and follow.

You can now make two things from the homepage:

  • Leaflets, the same simple shared docs as before

  • Publications, where you can publish Leaflets in a collection

It was a design challenge to fit this into the existing app, but we've kept it pretty simple for now, with minor homepage changes and new default layouts for publications and posts (a post is just a Leaflet with some extra metadata!)

Make as many publications as you like. Each will live at its own subdomain; support for custom domains is on the to do list.

—The Leaflet Team

Bluesky bricklaying

Working with ATProto was a lot of fun. Starting schema first is a great way to start building an app in general and the Lexicon toolchain is really solid!

This is very much still an alpha release though. We need to publish our lexicon properly to the ATmosphere so other tools can pick up on it. We could also do a lot more to extract the atproto side of things from the leaflet side of things, to make it easier to build other apps on top.

I'm really excited to start building social features. Right now this is basically just a fancy editor and renderer on top of single records in your PDS. But once we add follows, comments, quotes, etc, we'll be linking across people's data, and that's where the real magic of atproto begins!

One area to keep an eye on: right now we're storing records in a jsonb column in postgres. Works great right now but once we add those social features, I don't have much experience building indexes on top of that, or writing queries with it.

—Jared

To leaf, or not to leaf?

One big decision we went back and forth on was whether to make a new app just for publishing, or to add this as a capability to Leaflet. After much waffling we decided to fold publishing into Leaflet. And I think it was the right choice!

The difference between a Leaflet and a Publication is not actually "private vs. published" but loosely "one-off vs. series". By keeping both sides in one app, we maintain a porous connection between one-off documents and sustained practices. A single Leaflet can inspire a more in-depth series, and a longer series can inspire a small but powerful standalone thought. We think that supporting writing at all scales will lead to more fertile ground!

—Celine

Trial balloons in the atmosphere

Since we're building on Bluesky, we first turned to the Bluesky community for early outreach!

I've been researching cool social apps and other tools that use the AT Protocol — lending this loose dev ecosystem a moniker: the ATmosphere. I took some time to find the people behind the tools, and narrowed down to an initial list of folks I thought might be interested in publishing in some form.

I fired away DMs and heard back from almost all of them! Some are interested in blogs for their own projects, or have newsletter ideas; some are just glad to experiment with something new. In any case, excited to hear what everyone thinks, and see what they make!

Next we'll see how we can expand to other niche communities at the intersection of publishing x Bluesky. Bigger accounts? Poaching disgruntled Substackers? More cool examples? All on the table!

—Brendan

What's in a blog?

We think of publications as essentially just collections of publicly shared Leaflets with a little extra layout sauce sprinkled on top. So in theory, a publication could be almost anything — a blog, a portfolio, a wiki, a public resource, etc.

To start out, we decided to design publications to most closely follow a typical blog layout, because it's simple and useful.

However, we're nothing if not greedy ambitious and I'll keeping an eye on ways to add freedom to the layouting so that you can truly build anything on Leaflet!

—Celine

Try making a publication!

Leaflet Publish is now in alpha, and we'd love for you to give it a try! Right now you can create publications and add posts.

Subscribing by email (Bluesky too?!), comments, and other social features are coming soon. Let us know what else you'd like to see.

To make a publication:

  • go to leaflet.pub/home

  • connect your Bluesky account

  • click new publication and start adding posts

There's a lot we're still exploring — how subscriptions should work, what kinds of customizability will be most fun and useful, monetization models and more — and we're excited to talk about all that more here.

Also, very excited to see what you make!

—The Leaflet Team

⁂ ⁂ ⁂

comment here on Bluesky!

(manual thread, til we add proper comments in publications)

https://lab.leaflet.pub/3lppke2qnf22x