Open-sourcing Booklet
Calm community software
While growing Moonlight's developer community, I built a smart newsletter to create a personalized digest for each member. When I later looked at our analytics, I realized that the newsletter had ten times as many weekly active users as our website. I thought of the company as a web application, but for our community it was primarily a newsletter.
The power of a newsletter is that it is asynchronous - you can read it on your own time and get a summary of activity. Chat apps such as Slack tend to require constant attention to keep up with what is happening.
As I reflected on online community building, I wanted to build software for readers - something newsletter-first, for the majority of community members who just want to consume content. I detailed this idea later in Community-powered media companies: online communities tend to evolve into something like a group Substack.
So, I started building Booklet as newsletter-first community software. In 2023, I launched FRCTNL, a Moonlight-inspired community on Booklet. A couple of weeks later, I launched Booklet as a standalone product. I coded the entire application myself in Ruby on Rails (by hand!), and later wrote about its architecture. I did use the then-new OpenAI APIs to power the original newsletter, with GPT-3 summarizing community conversations into a daily digest.
Over the years, Booklet hosted various communities, including a venture capital fund's founder community and several small groups. But it never found sustained adoption beyond the communities I operated myself. FRCTNL continued to grow, yet running a free community increasingly meant fighting spam; by the end, I saw more AI bots posting than humans. I decided to shut down Booklet and FRCTNL last month.
So, today I am open-sourcing the Booklet code. Like I did when I open-sourced Postcard, I set up the repository so you can run it in a simple Solo mode as a single-tenant application, or in Multiuser mode as a multi-tenant software service with billing and multi-domain support. This is the production application, not a stripped-down demo. The MIT-licensed repository includes a Dockerfile and a Render blueprint for deployment with PostgreSQL.
Booklet did not work as a standalone product, but I had fun building it. I think it is a great time to build software for yourself, so perhaps Booklet can have a second life among people who customize it for their own needs. (Small communities on custom software are having a moment - Craig Mod's The Good Place, for example.)
My deeper hope from open-sourcing this product is that more people implement Booklet's newsletter AI techniques. LLMs excel at summarization, and good newsletters create legibility for community members who are not always logging in. Remember - your newsletter probably has more users than your website, so spend time making it great[1]! You can see the code that summarizes each post and its replies here.
Check out Booklet on GitHub, and let me know if you build anything cool with it.
- One thing I learned while building Booklet is that it is better to send every member the same set of posts and discussions instead of a personalized digest. People who post frequently like to see their own posts in the newsletter, and a shared digest gives the entire community the same account of what is happening. ↩︎
Get new essays by email:
Or, .Keep reading

Launching Booklet
We now recognize the downsides of social media platforms. But, when we start work for the day, we plug into a firehose of messages not dissimilar from Facebook's News Feed. While sitting on a Zoom cal...

Booklet's architecture
Booklet is a modern email group software from Contraption Company. Think "Google Groups," but with a modern interface and features. If you haven't tried Booklet, here is a 3-minute video showing how i...

Community-powered media companies
On a recent Arvid Kahl podcast, Channing Allen described Indiehackers.com as a "community-powered media company." It's been weeks since I listened to the episode, but that idea of a community-powered ...