What the World Needs Now is Forums Sweet Forums

and other thoughts from a forums purveyor


atbb-pre-alpha.png

I was seven years old when I got my first video game console. It was Christmas, and I actually got two! A GameBoy Pocket and a Nintendo 64. I had a growing interest in electronics and computers (having already bricked a few family members’ installs of Windows). Years later, this eventually lead to me getting my own computer and access to The Internet, and finding communities of people just like me chatting about their favorite games and other things.

I had discovered the Nintendo NSider forums, and fell in love with it. I was spending all kinds of time chatting with other gamers. I started to learn GIMP so that I could make the cool footer banners showing off my favorite characters and games, and help others too. Who knows, maybe all of those images are still on a PhotoBucket server somewhere.

Time went on, I made a friend at school who ran his own forum, Divine Boards, and I had friends on NSider who wanted their own place and made their own forum, As the Light Fades. At this time, it was very easy for someone to open a new forum, not unlike how someone today would just open a Discord server to chat and coordinate gaming with their friends today.

My interest in computers and my desire to continue to have this place to hang out with my friends eventually lead to kid me learning system administration skills. I rented a VPS and spun up a database and Simple Machines Forum, bought a domain. SMF, being built on PHP, was very hackable too, and my community would request features that I’d go and modify the forum to introduce. (It’s a shame so much of this is lost to time. I kept a nosupportlinuxhosting vps running with the forum on life support for a very long time, but alas, life got in the way, and I didn’t have backups).

Now here I am, in 2026, feeling nostalgic. The platform so many depend on, Discord, is rolling out more and more problematic policies, and that’s in addition to some of the beef many of us already have with the tool. With communities moving to Discord, the ability to find these communities or the information being shared in them has all but vanished. Fighting the ephemerality of chat involves dozens of pins or careful management of channels, lest you be forced to use Discord’s search functionality, and that only works if you are in the right server to begin with.

Reddit maintains a lot of that forum character, and it isn’t uncommon for folks to specifically add reddit.com to their search, so I can’t knock it for search. It is yet another one of the monolithic entities we have all found ourselves locked to, however. Sure, there is a subreddit for everything, but what happened to there being a forum for everything?

And of course, underlying much of the energy underlying the decentralized social web today — what happened to actually owning your own thoughts and communities?

That brings me to why I’m even writing this piece in the first place. For a couple years now, I’ve had this idea of building a forum on atproto in my head, and had a couple attempts at it that simply fizzled out due to not having the time. However, now I have in my pocket a companion who I can send shower thoughts to and it churns out all sorts of code! Claude has helped accelerate the process of building the MVP of what I’m calling atBB.

What is atBB? It is a forum platform, modeled more after phpBB and SMF than Discourse, that operators or organizers can deploy to host their very own community. (If the project gains traction, a cloud offering could be explored.) It leverages all the great parts of atproto. With OAuth, the identity you use to sign in to one forum works on another, works on Bluesky, etc. Topics, posts, and all user-generated content lives in the user’s PDS, just like a Bluesky post. The very forum structure itself is saved in a PDS, along with roles and moderator actions. For MVP, an identity will be created that represents the forum, the categories, boards, and other structural bits are stored in the forum’s PDS, and the atBB AppView will hold the credentials and delegate actions as necessary. Later on, I’d like to find an on-network way of expressing the delegation, but I’m not 100% sure what that looks like yet.

image.png

Now that I have the very core bits working, my next goals are to get it up and running in production so I can hopefully start to see where any current issues are (check it out at https://forums.atbb.space!), and iterate towards rough feature parity with the forum platforms that exist out there today. It doesn’t have to shape up to be exactly like the predecessors, however! I’m very open to allowing atproto to really exert its influence to find out what being a forum on the protocol really means. I’m also open to feedback and suggestions from y’all!

Hopefully at least some part of this resonated with you. I am building atBB to be self-hostable so that anyone can start their own community. If you are interested, please reach out, I'd be happy to chat through the details with you!

I am a big believer in building iteratively and in the open with your users, and so you may find that atBB is missing things that you would expect or has some general jankiness. This is totally expected and I hope you will stick with me through it, submitting your ideas and bug reports, rather than giving up.

I'm also a big believer in building things together! If atBB is something that sounds interesting to you and you'd like to contribute, also reach out! You can find the repository on tangled.

I briefly made mention to it above, but to be explicitly clear, I have been building this project up to this point with quite a bit of AI assistance. For me, it has been an incredible multiplier on my existing 15+ years of experience as a professional software engineer. I find it particularly valuable in offloading boilerplate or otherwise rote tasks in software, and bootstrapping a project comes with quite a few of those. Now that I have reached an pre-alpha release type of stage, I anticipate that the ratio of AI written to human written code will adjust as I get hands on with more interesting problems or other contributors join the project. However, I don't plan on eliminating the tool from my toolset nor do I plan on rejecting contributions from other contributors who choose to use these tools. Regardless of how the code is written, I expect of myself and others a thorough understanding of the code that is being merged/shipped. This blog post, and all of my writing, are and will always be my own unless I explicitly disclose otherwise.