Deixe-me elaborar sobre o que @Stephen disse.
Como desenvolvedor de plugins, posso afirmar que manter o código atualizado para ser compatível com o núcleo não é uma tarefa trivial e exige uma estratégia cuidadosa. Os plugins geralmente são mantidos em sincronia com a branch tests-passed. Você poderia optar por uma branch mais lenta, mas isso significaria que seus clientes também ficariam para trás. Tudo bem, mas você precisará de um prazo para atualizar seu aplicativo após cada lançamento estável. Isso será um grande trabalho e pode levar a atrasos significativos nas atualizações dos clientes.
Assim como os plugins, você sempre corre o risco de algo quebrar após uma mudança significativa no núcleo.
Você afirma que o núcleo do Discourse é estável. Talvez mais do que no início, mas dê uma olhada cuidadosa no repositório; ele evolui (embora grande parte disso possa ser o aplicativo web). Basta ver quantos commits são feitos diariamente. Olhe o número de PRs abertos. Pegue apenas um arquivo, por exemplo, Topic.hbs, e considere como você manterá-se atualizado apenas com isso? Até mesmo fazer um fork da base do núcleo do Discourse é desencorajado exatamente por esse desafio. E isso será uma reescrita nativa?
Você usará apenas a API deles? Então tudo bem, mas como você implementará qualquer um dos plugins populares? Alguns deles têm mudanças visuais significativas, a maioria das quais usa monkey-patching com, por exemplo, JQuery ou plugin outlets, que você não poderá reutilizar se for nativo. Você reimplementará tudo isso com código nativo?
Os plugins são apenas a ponta do iceberg. O que você está propondo é presumivelmente o escopo completo de toda a funcionalidade de front-end para o usuário. Tudo isso precisará ser testado. E casos de teste. Apenas uau.
E quão grande é sua equipe? Novamente, veja quantos desenvolvedores estão contribuindo para o núcleo. Some a população de autores de plugins dentro do escopo. Isso lhe dá outra métrica para o tamanho do desafio.
Você precisará de uma velocidade que acompanhe os lançamentos do Discourse (!), ou todos os seus clientes começarão a sentir que estão sendo impedidos de acessar novos recursos.
Você precisará justificar cada hora que gastar e recuperar isso em receita (e isso é ok, você precisa colocar comida na mesa, como o resto de nós).
Mas, de qualquer forma, acho que você poderia tentar implementar isso com o objetivo de demonstrá-lo. Eu começaria apenas com o aplicativo principal. Isso rapidamente lhe dará uma noção de quão grande é a tarefa. Ou basta contar todas as chamadas de API que você precisará suportar.
Tenho certeza de que você já pensou em tudo isso. Não quero desanimar, mas isso é uma quantidade séria de trabalho que você está propondo, e de forma contínua e brutalmente implacável.
Que tal olhar para o aplicativo oficial e ver o que você pode fazer com ele?