# Using Discourse to Build a Blog, Reddit, X or Facebook-Style Scrolling Platform

**URL:** https://meta.discourse.org/t/using-discourse-to-build-a-blog-reddit-x-or-facebook-style-scrolling-platform/411945
**Category:** Community Building
**Created:** [8 september 2026 om 23:47 UTC](https://meta.discourse.org/t/using-discourse-to-build-a-blog-reddit-x-or-facebook-style-scrolling-platform/411945 "2026-09-08T23:47:31Z")
**Posts on this page:** 20
**Page:** 1

<div class="post-metadata">

### Author: ![Damian\_Boon](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/damian_boon/32/574032_2.png) [@Damian\_Boon](https://meta.discourse.org/u/Damian_Boon)
#### Post date: [8 september 2026 om 23:47 UTC](https://meta.discourse.org/t/using-discourse-to-build-a-blog-reddit-x-or-facebook-style-scrolling-platform/411945/1 "2026-09-08T23:47:31Z")

</div>

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

1. I started with the awesome [Redditish theme](https://meta.discourse.org/t/a-reddit-ish-theme-for-discourse/269466)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.
2. Enabling [Nested Views](https://meta.discourse.org/t/introducing-nested-replies/402812) was a must as this covers the style needed for this kind of site.
3. I made and added a Youtube style scrollable menu that shows all the categories and custom links. I used **[Custom Top Navigation Links](https://meta.discourse.org/t/custom-top-navigation-links/87225)** to customise and add links.
4. A topic preview modal was a must and [i started to design this](https://meta.discourse.org/t/facebook-style-topic-modal-is-it-better/408565) but the legend @Don built a better version which [can be found here](https://meta.discourse.org/t/topic-preview-modal/409712)
5. A static cached right sidebar everywhere was a must so i started with [right sidebar blocks](https://meta.discourse.org/t/right-sidebar-blocks/231067) then made a theme component to show it on topics etc.
6. Using [custom header links (icons)](https://meta.discourse.org/t/custom-header-links-icons/86307) i added a “Create a Post” in the header to make the container cleaner.
7. Images on posts set central with a blurred background to make it look neater (similar to reddit)
8. 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:

1. Start with recent content from a defined period, such as the previous 14 days.

2. Prioritise topics from categories and tags the user follows.

3. Mix in popular or trending topics for discovery.

4. Record when a topic has genuinely been viewed or scrolled past.

5. Reduce the priority of viewed topics without permanently hiding them.

6. 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

[https://www.m8wtf.com/](https://www.m8wtf.com/)

---

<div class="post-metadata">

### Author: ![HAWK](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/hawk/32/86627_2.png) [@HAWK](https://meta.discourse.org/u/HAWK)
#### Post date: [9 september 2026 om 04:13 UTC](https://meta.discourse.org/t/using-discourse-to-build-a-blog-reddit-x-or-facebook-style-scrolling-platform/411945/7 "2026-09-09T04:13:45Z")

</div>

> [@Damian\_Boon](#):
>
> 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.

I really like this—I’m following along. I took a very quick look at your demo and it’s great! I’ll check back when I have space.

---

<div class="post-metadata">

### Author: ![Damian\_Boon](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/damian_boon/32/574032_2.png) [@Damian\_Boon](https://meta.discourse.org/u/Damian_Boon)
#### Post date: [9 september 2026 om 07:05 UTC](https://meta.discourse.org/t/using-discourse-to-build-a-blog-reddit-x-or-facebook-style-scrolling-platform/411945/8 "2026-09-09T07:05:48Z")

</div>

We tried using [Discourse’s **Unified New** page as the homepage](https://meta.discourse.org/t/can-unified-new-dismiss-topics-after-a-user-scrolls-past-them/411807) because it appeared to offer exactly the feed we wanted. With a plugin that removes posts from /new when the user scrolls past the viewport. ( @Don got this working)

The confusion came from the fact that I’ve always tested Discourse using an established, logged-in account, so my Unified New page was always full of posts. I hadn’t fully understood how it worked for brand-new users.

After creating a new test account, we discovered that Unified New was completely empty because older topics weren’t considered “new” for that user. That means it can’t currently provide the populated homepage feed we had planned.

---

<div class="post-metadata">

### Author: ![Damian\_Boon](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/damian_boon/32/574032_2.png) [@Damian\_Boon](https://meta.discourse.org/u/Damian_Boon)
#### Post date: [9 september 2026 om 07:35 UTC](https://meta.discourse.org/t/using-discourse-to-build-a-blog-reddit-x-or-facebook-style-scrolling-platform/411945/9 "2026-09-09T07:35:27Z")

</div>

Wow, thanks so much for the comment and for some positive feedback, I know this isn’t your cup of tea and goes against what Discourse was intended for.

---

<div class="post-metadata">

### Author: ![Damian\_Boon](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/damian_boon/32/574032_2.png) [@Damian\_Boon](https://meta.discourse.org/u/Damian_Boon)
#### Post date: [9 september 2026 om 08:23 UTC](https://meta.discourse.org/t/using-discourse-to-build-a-blog-reddit-x-or-facebook-style-scrolling-platform/411945/10 "2026-09-09T08:23:46Z")

</div>

@don is working on a new plugin that introduces a new /feed style system and homepage . This shows users actual new posts, then removes them if a user scrolls past (using the viewport) . If all posts have been seen it redirects to /latest. This is work in progress.

---

<div class="post-metadata">

### Author: ![Damian\_Boon](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/damian_boon/32/574032_2.png) [@Damian\_Boon](https://meta.discourse.org/u/Damian_Boon)
#### Post date: [9 september 2026 om 13:30 UTC](https://meta.discourse.org/t/using-discourse-to-build-a-blog-reddit-x-or-facebook-style-scrolling-platform/411945/11 "2026-09-09T13:30:02Z")

</div>

Massive thanks to @don and his new unreleased plugin the feed is now working so users always see fresh content, he kept the replies to act the same though, they don’t disappear on viewport. (this encourages users to open and reply hopefully)

New users now when they signup see all posts from the last 14 days but this can be adjusted in Top page default timeframe.

 ![Screenshot 2026-09-09 at 14.19.40](https://global.discourse-cdn.com/meta/original/4X/9/0/8/908bab5cfe70f9f7c4c9d6aa77a73d7c2cd236ed.jpeg)

 ![Screenshot 2026-09-09 at 14.19.33](https://global.discourse-cdn.com/meta/original/4X/1/9/c/19c53c99e4232137a22b514d234489f3841118bf.jpeg)

---

<div class="post-metadata">

### Author: ![Damian\_Boon](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/damian_boon/32/574032_2.png) [@Damian\_Boon](https://meta.discourse.org/u/Damian_Boon)
#### Post date: [9 september 2026 om 13:46 UTC](https://meta.discourse.org/t/using-discourse-to-build-a-blog-reddit-x-or-facebook-style-scrolling-platform/411945/12 "2026-09-09T13:46:35Z")

</div>

Next on the agenda is making a component/plugin to personalise the feed, something like

Feed score =

40% interests  
25% freshness  
15% previous behaviour  
10% site popularity  
10% randomness/discovery

so a feed would look like

WARDOGS Early Access launches Thursday  
New PS5 update causes weird controller bug  
Someone builds a 70mph eScooter  
Netflix confirms new Inbetweeners  
Glasgow WTF story  
Random popular Food & Drink story

For a new user something like

25% Gaming  
15% TV & Film  
15% WTF News  
15% Tech  
10% Food & Drink  
10% Sports  
10% Wheels & Thrills

Then after they’ve scrolled through 30–50 posts, their feed starts adapting.

or i have thought about making a component that on signup they choose their interests e.g categories

**What are you into?**

☑ Gaming  
☑ WTF News  
☑ Tech  
☐ Politics  
☑ TV & Film  
☐ Sports  
☑ Wheels & Thrills  
☐ Food & Drink

This is going to take time and testing

---

<div class="post-metadata">

### Author: ![jordan.vidrine](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jordan.vidrine/32/515563_2.png) [@jordan.vidrine](https://meta.discourse.org/u/jordan.vidrine)
#### Post date: [9 september 2026 om 13:51 UTC](https://meta.discourse.org/t/using-discourse-to-build-a-blog-reddit-x-or-facebook-style-scrolling-platform/411945/13 "2026-09-09T13:51:31Z")

</div>

I like that on mobile clicking a topic gives you a preview of the topic in a sheet, and you can choose to go further, or close it and continue in your feed. Nice work!

---

<div class="post-metadata">

### Author: ![Damian\_Boon](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/damian_boon/32/574032_2.png) [@Damian\_Boon](https://meta.discourse.org/u/Damian_Boon)
#### Post date: [9 september 2026 om 13:52 UTC](https://meta.discourse.org/t/using-discourse-to-build-a-blog-reddit-x-or-facebook-style-scrolling-platform/411945/14 "2026-09-09T13:52:15Z")

</div>

Thats down to @don theme component 😉 [Topic Preview Modal](https://meta.discourse.org/t/topic-preview-modal/409712)

---

<div class="post-metadata">

### Author: ![Jacobsen](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jacobsen/32/537696_2.png) [@Jacobsen](https://meta.discourse.org/u/Jacobsen)
#### Post date: [9 september 2026 om 14:04 UTC](https://meta.discourse.org/t/using-discourse-to-build-a-blog-reddit-x-or-facebook-style-scrolling-platform/411945/15 "2026-09-09T14:04:58Z")

</div>

What is the goal of this journey ? A theme, component or something unified ? A theme bundled with components and so on ?

Its something like this I have been waiting for for years. The UX of Discourse has everytime stopped me from using it. It is … really not … as awesome as Discourse is in itself.

I wish you luck on your journey.

Your demo is looking great on mobile.

---

<div class="post-metadata">

### Author: ![Damian\_Boon](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/damian_boon/32/574032_2.png) [@Damian\_Boon](https://meta.discourse.org/u/Damian_Boon)
#### Post date: [9 september 2026 om 14:34 UTC](https://meta.discourse.org/t/using-discourse-to-build-a-blog-reddit-x-or-facebook-style-scrolling-platform/411945/16 "2026-09-09T14:34:29Z")

</div>

There will be a guide 🙂 I will upload all the components i’ve made to github along with links to components others have already made/making. It would feel wrong for me to bundle it up as others have largely contributed.

> [@Jacobsen](#):
>
> The UX of Discourse has everytime stopped me from using it

Exactly this, the backbones is awesome, hence the reason for using Discourse to see if i can achieve something decent that’s not the usual Discourse.

---

<div class="post-metadata">

### Author: ![Jacobsen](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jacobsen/32/537696_2.png) [@Jacobsen](https://meta.discourse.org/u/Jacobsen)
#### Post date: [9 september 2026 om 15:06 UTC](https://meta.discourse.org/t/using-discourse-to-build-a-blog-reddit-x-or-facebook-style-scrolling-platform/411945/17 "2026-09-09T15:06:34Z")

</div>

There some themes that bundle components. Maybe consider that. And universally perhaps use lucide icons ?

> **[Lucide Icons](https://lucide.dev/)**
>
> Beautiful & consistent icon toolkit made by the community.

---

<div class="post-metadata">

### Author: ![Heliosurge](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/heliosurge/32/571810_2.png) [@Heliosurge](https://meta.discourse.org/u/Heliosurge)
#### Post date: [9 september 2026 om 16:01 UTC](https://meta.discourse.org/t/using-discourse-to-build-a-blog-reddit-x-or-facebook-style-scrolling-platform/411945/18 "2026-09-09T16:01:15Z")

</div>

Looks really good. There is a #theme-creator to decorate the Op in posts after the Op post.

> [@Author Badge for Topic Posts](https://meta.discourse.org/t/author-badge-for-topic-posts/277579):
>
> information_sourceSummary Add badge to topic owner’s posts.hammer_and_wrenchRepository [https://github.com/VaperinaDEV/author-badge-for-topic-posts](https://github.com/VaperinaDEV/author-badge-for-topic-posts)questionInstall Guide [How to install a theme or theme component](https://meta.discourse.org/t/how-do-i-install-a-theme-or-theme-component/63682)open_bookNew to Discourse Themes? [Beginner’s guide to using Discourse Themes](https://meta.discourse.org/t/beginners-guide-to-using-discourse-themes/91966) Install this theme component Hello wave With this theme component you can add badge label to the topic owner’s posts. It is really useful on larger topics because you ca…

> [@Topic Author Avatar Halos](https://meta.discourse.org/t/topic-author-avatar-halos/408552):
>
> information_sourceSummary Adds a colored halo around the avatar of the topic author in all their posts in a topiceyeglassesPreview [Preview with Theme Creator](https://discourse.theme-creator.io/theme/Lilly/topic-author-avatar-halos)hammer_and_wrenchRepository [https://github.com/Lillinator/topic-author-avatar-halos](https://github.com/Lillinator/topic-author-avatar-halos)questionInstall Guide [How to install a theme or theme component](https://meta.discourse.org/t/how-do-i-install-a-theme-or-theme-component/63682) Install this theme component woman_technologist Overview I’ve seen a number of previous requests over the years for ways to highlight the topic author in su…

Ok looking at another topic with replies. I see you maybe already using Don’s TC Author badge

Very nice work.

---

<div class="post-metadata">

### Author: ![Damian\_Boon](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/damian_boon/32/574032_2.png) [@Damian\_Boon](https://meta.discourse.org/u/Damian_Boon)
#### Post date: [9 september 2026 om 16:16 UTC](https://meta.discourse.org/t/using-discourse-to-build-a-blog-reddit-x-or-facebook-style-scrolling-platform/411945/19 "2026-09-09T16:16:16Z")

</div>

No thats some custom CSS i used before i installed

---

<div class="post-metadata">

### Author: ![merefield](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/merefield/32/176214_2.png) [@merefield](https://meta.discourse.org/u/merefield)
#### Post date: [9 september 2026 om 16:21 UTC](https://meta.discourse.org/t/using-discourse-to-build-a-blog-reddit-x-or-facebook-style-scrolling-platform/411945/20 "2026-09-09T16:21:19Z")

</div>

Like [Topic List Previews (TLP)](https://meta.discourse.org/t/topic-list-previews-tlp/209973/1)?

Good example here: [https://www.artofsm.art](https://www.artofsm.art)

---

<div class="post-metadata">

### Author: ![Damian\_Boon](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/damian_boon/32/574032_2.png) [@Damian\_Boon](https://meta.discourse.org/u/Damian_Boon)
#### Post date: [9 september 2026 om 16:54 UTC](https://meta.discourse.org/t/using-discourse-to-build-a-blog-reddit-x-or-facebook-style-scrolling-platform/411945/21 "2026-09-09T16:54:35Z")

</div>

Not really, more backend stuff rather than visuals

---

<div class="post-metadata">

### Author: ![merefield](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/merefield/32/176214_2.png) [@merefield](https://meta.discourse.org/u/merefield)
#### Post date: [9 september 2026 om 16:55 UTC](https://meta.discourse.org/t/using-discourse-to-build-a-blog-reddit-x-or-facebook-style-scrolling-platform/411945/22 "2026-09-09T16:55:34Z")

</div>

> [@Damian\_Boon](#):
>
> 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.

Oh ok, I was sent down a path by this statement and if I were to score TLP on your other requirements:

- 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.

So I’m somewhat perplexed by your response, most of your requirements are front-end engineering with some backend tweaks and TLP fulfils the bulk of these

---

<div class="post-metadata">

### Author: ![merefield](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/merefield/32/176214_2.png) [@merefield](https://meta.discourse.org/u/merefield)
#### Post date: [9 september 2026 om 17:04 UTC](https://meta.discourse.org/t/using-discourse-to-build-a-blog-reddit-x-or-facebook-style-scrolling-platform/411945/23 "2026-09-09T17:04:23Z")

</div>

btw, this has come up before, e.g.:

> [@Using Discourse as a social media platform](https://meta.discourse.org/t/using-discourse-as-a-social-media-platform/202133/1):
>
> I’ve been pondering about this for a while now, but I’ve finally decided to get it off of my chest. Is Discourse customizable enough to be used as a proper (full-blown) social media platform? I’ve been dipping my toes into the world of start-ups lately. I have my own idea for a social network that combines the best of what brings people together online (more specifically, tech enthusiasts and people in the tech industry as a whole). While observing other social media platforms like Twitter and…

> [@Facebook-like Feed?](https://meta.discourse.org/t/facebook-like-feed/117204/5):
>
> I’m really glad this topic was bumped. For a while now, I’ve wanted to create a social media platform built upon Discourse with a couple of other folks (if possible). There simply isn’t a software platform out there as powerful and efficient as Discourse is. For example, each and every Mastadon instance is mostly just a carbon copy of each other. On the other hand, that’s the complete opposite to Discourse, which is versatile and extremely customizable. For now, this #Customization > Theme is t…

---

<div class="post-metadata">

### Author: ![Damian\_Boon](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/damian_boon/32/574032_2.png) [@Damian\_Boon](https://meta.discourse.org/u/Damian_Boon)
#### Post date: [9 september 2026 om 17:06 UTC](https://meta.discourse.org/t/using-discourse-to-build-a-blog-reddit-x-or-facebook-style-scrolling-platform/411945/24 "2026-09-09T17:06:42Z")

</div>

I know have read them all, no-one has actually done it

---

<div class="post-metadata">

### Author: ![merefield](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/merefield/32/176214_2.png) [@merefield](https://meta.discourse.org/u/merefield)
#### Post date: [9 september 2026 om 17:11 UTC](https://meta.discourse.org/t/using-discourse-to-build-a-blog-reddit-x-or-facebook-style-scrolling-platform/411945/25 "2026-09-09T17:11:18Z")

</div>

I know of at least one, but it’s closed source.

[Next page](https://meta.discourse.org/t/using-discourse-to-build-a-blog-reddit-x-or-facebook-style-scrolling-platform/411945.md?page=2)
