react özelinde konuşursak, proje büyüdükçe context api kullanımın yetersiz (karışık) kalacağını, redux kullanımının daha mantıklı olacağını düşünüyorum.

api yi node ile yazıp frontend tarafını react ile geliştirebilirsin.

yukarıdaki arkadaşların da bahsettiği gibi, seo önemli ise server side rendering mutlaka olmalı. react'te next, vue'da nuxt, svelte'de svelte kit kullanılmalı.

ayrı bir alternatif ise bu frontend teknolojilerini sadece component olarak kullanıp global state yönetimini veya seo gibi işleri komple server tarafına bırakman(node gibi.).

node konusundan bağımsız olarak örnek vermem gerekirse, laravelin react,vue,svelte gibi front-end teknolojileri için webpack işlerini kolaylaştıran kitleri var ve projeyi spa olarak ilerletmeden sadece sayfa içine componentleri gömüp reactive bir yapı sağlanabiliyor.

benim tavsiyem business Logic'in ayrı, client kısımlarının ayrı olarak tamamen bağımsız projelerin geliştirilmesi. backend tarafında api yazılır, client tarafında (web, mobil, desktop) ayrı yapılar kurulur.