I’m starting this topic to document my journey as I try to turn Discourse into a more visual, continuously scrolling platform—something closer to the browsing experience offered by Reddit, X and Facebook.
I’ll use this topic to share what I try, what works, what doesn’t, the components I’m using and any problems I encounter. Hopefully, it will also help anyone else interested in using Discourse for something beyond a traditional forum layout.
The starting point for this project was the 90–9–1 rule.
It suggests that on most social media, blogs etc:
-
90% of users mainly browse and consume content.
-
9% occasionally react, like, share or comment.
-
1% actively create most of the content.
Obviously the exact percentages will vary between communities, but the principle remains relevant: most visitors are readers, not contributors.
Discourse is excellent at serving the 9% and the 1%. It is built around discussions, replies and active participation. However, I want to make it equally attractive to the much larger group who simply want to open the site and browse interesting fresh content.
What I’m Trying to Build
I want to use Discourse to create a more visual, continuous feed similar to Reddit, X or Facebook.
The experience would ideally look something like this:
-
Open the homepage and immediately see a feed of relevant topics.
-
Scroll continuously from one topic to the next.
-
Preview the topic’s content without opening a separate page.
-
See images, videos and excerpts directly in the feed.
-
Like, bookmark or reply when something catches your attention.
-
Automatically move previously scrolled content out of the way.
-
Return later and see fresh or unseen topics rather than the same homepage every time.
-
Gradually personalise the feed using categories, tags and topics the user interacts with.
Some people might call this “doom scrolling”, but it is also simply how a huge number of people now consume online content. They may read dozens of posts without ever commenting, yet they are still genuine users generating views, sharing links and potentially returning every day.
Why Build It With Discourse?
Discourse already provides most of the difficult parts:
-
User accounts and profiles
-
Categories and tags
-
Likes, bookmarks and notifications
-
Trust levels and moderation
-
Topic creation and replies
-
Read and unread tracking
-
Suggested and related topics
-
A mature plugin and theme-component system
What appears to be missing is a feed designed primarily around discovery and passive consumption. (obviously Discourse wasn’t designed to be this way)
Where I Am So Far
- I started with the awesome Redditish theme by @awesomerobot which i had to fork so i could edit various aspects such as removing the custom sidebar. I also highly edited the CSS to design it how we wanted it.
- Enabling Nested Views was a must as this covers the style needed for this kind of site.
- I made and added a Youtube style scrollable menu that shows all the categories and custom links. I used Custom Top Navigation Links to customise and add links.
- A topic preview modal was a must and i started to design this but the legend @Don built a better version which can be found here
- A static cached right sidebar everywhere was a must so i started with right sidebar blocks then made a theme component to show it on topics etc.
- Using custom header links (icons) i added a “Create a Post” in the header to make the container cleaner.
- Images on posts set central with a blurred background to make it look neater (similar to reddit)
- Setting topic excerpts to 150 characters and showing inbetween title and image on topic cards was a must (similar to Facebook and X)
The next steps would be a dedicated feed that could:
-
Start with recent content from a defined period, such as the previous 14 days.
-
Prioritise topics from categories and tags the user follows.
-
Mix in popular or trending topics for discovery.
-
Record when a topic has genuinely been viewed or scrolled past.
-
Reduce the priority of viewed topics without permanently hiding them.
-
Allow direct reactions and replies from the feed.
This wouldn’t replace traditional topic lists or discussions. It would be an additional way of discovering and consuming the same Discourse content.
Follow the Journey
I’ll continue updating this topic as the project develops, including the components I test, the changes I make and the obstacles I run into.
I’d also be interested to hear from anyone who has attempted something similar, particularly regarding:
-
Whether existing read-tracking data could support this.
-
How a feed could work for anonymous and newly registered users.
-
How much personalisation could be achieved without introducing a complex recommendation algorithm.
-
Whether continuous topic previews would create significant performance problems.
The goal is to recognise that the silent 90% are an important part of a community and give them an experience designed around how they actually use the internet.
The test site i will be using for this project is