@ThiamLee
I’ve actually worked on a similar use case in one of my projects, where we used:
React → FastAPI → Databricks SQL → Unity Catalog (Delta tables)
From my experience, this worked quite well for a data-heavy application. React handled the UI, FastAPI took care of the application/business logic and APIs, and Databricks SQL provided access to the data in Unity Catalog.
What I liked about this approach was that the frontend didn’t need to deal directly with the Databricks data layer. It also gave us a clear separation between the application and data layers.
That’s why I find the Remix approach interesting as well. The server-side data loading and form handling could make things simpler for certain types of applications.
I think the choice really depends on how complex the application is expected to become. For a simpler application, having more of the server-side logic within Remix could be quite convenient. For applications that need more APIs, business logic, or integrations with other services, I’ve found having a separate FastAPI layer gives us more flexibility.
For data-heavy applications, I think one of the important things is making sure the UI isn’t directly doing expensive queries against large datasets and keeping a clean separation between the application and data layers.
I’d be interested to hear from others who have used Remix, particularly how it has worked for them with data-heavy applications.