Building Custom Frontends on Frappe Using React (or other framework) instead of Desk UI

I know Frappe Desk’s UI is built using its own JS framework, and it works well, but I’d like to build a more custom and modern-looking interface for interacting with Frappe/ERPNext data.

Is it possible to use another frontend framework (such as React) for the UI while still using Frappe as the backend (doctypes, permissions, REST API)?

Specifically:

Can React (or any other framework) be used to build custom UI screens that talk to Frappe via its REST API, instead of using the standard Desk forms/list views?
Is there an officially recommended approach for this (e.g., Frappe UI, or a documented pattern for building fully custom frontends)?
Are there any limitations to be aware of when using a different frontend framework instead of Frappe’s native Desk UI?

Would appreciate any guidance, documentation links, or best practices for this.

Thanks!

1 Like