How easy is it to port Discourse community to custom webapp later?

I am building something community oriented and Discourse looks perfect for it.

But my eventual plan is to port the community to a custom app later. Curious if anyone has done it before and how hard/easy would it be to do so. Don’t want to lock into the ecosystem.

That would largely be a data migration like any other.

The tables are pretty self-explanatory?

Or you could just do everything via the API and build your own front end, keeping the Discourse database structure and back end …

1 Like

It depends on what “port the community to a custom app later” means.

If you want to migrate away from Discourse to a custom-made database+backend+frontend+etc, a data migration is the way.

If you want to keep using the data and backend layers of Discourse, using it as a headless service and writing a new frontend consuming the existing APIs, that’s also possible and has been done before.

One thing to consider, though, is that Discourse is HUGE, like REALLY HUGE. The chat feature for example is a big undertake, and it’s just a tiny little fraction of what Discourse is.

Rewriting these UIs will certainly feel like reinventing the wheel, and once you have all these features taken for granted on your community it will be hard to migrate to a custom app missing them.

9 Likes

Thanks so much for your reply. Do you have any examples / case studies on this? Any website/app that uses discourse in a headless manner?

4 Likes

This is fantastic! Thank you so much for sharing these.

I’ve been browsing some discussions on people trying to build a full-blown social-network on discourse. If you have any examples of those, do let me know. I haven’t yet come across a serious implementation of discourse on the web that doesn’t look like a forum.

1 Like

Also consider Federation and take a look at:

There’s also a Whitelisted App for iOS and Android that leverages React Native and Webview:

1 Like

Well said.

I’d also add the enormous non-technical challenges of gaining traction, attracting users, getting the word about, marketing … feature set - what are you offering which gives people something they can’t get from the mainstream apps? Oh and finance … time …

At least forums can fit into small niches to attract an audience … and don’t rely on a massive staff.

No harm in giving it a good go though: nothing ventured, nothing gained! (and probably nothing learned!)

Thanks for the reply. Really appreciate taking time.

Precisely to de-risk non-technical challenges, I want to go with Discourse.

1 Like

I didn’t know there was a proposal for federation—that would be quite cool. Thanks for sharing.

2 Likes

Hi Paras,

Can you share some of your findings please? Do you have any clue about how difficult it is to develop simple and medium complexity features? I guess the developers need to have experience with the stack. But then they need to figure out the workings of the platform and then start puzzling and building? Apart from the examples give in the comments, is this done a lot? Why/why not?

Thank you

Haven’t tried customizing it yet.

I doubt it!

Duplication followed by maintenance overhead including having to accommodate core breaking changes.

On top of that, leave the ecosystem and you can’t use plugins or theme components, doh!

So much easier to simply implement your entire community logic with Discourse as is? (for vast majority of use cases) and add customisations as required in themes and plugins.

For proof just look at the multitude of companies using discourse for handling community.

2 Likes

Thank you Robert!

Didnt seem easy but wanted to check anyway.

Regards,

2 Likes

Don’t get me wrong, there is no perfect right answer here. Maybe you could make it work, but be aware of the risks, trade-offs and costs.

1 Like

Hi Robert, yes I understand. It is a complicated decision, however at this stage it is enough to know how complicated this might be etc.

1 Like