Hi all,
I’m a junior frontend dev working on an OpenWRT-based device (more like an embedded system with data visualization).
Our current UI is LuCI-based (luci.js + Bootstrap), and it runs offline directly from the device — so it needs to be lightweight (low storage and memory).
I tried rebuilding a small UI in React, reusing the LuCI ACL/menu files, and connected it with ubus
— which worked fine for getting data. But dealing with uci
for config was more painful, and made me question how realistic React would be for long-term use.
Marketing/product wants a cleaner, modern UI for branding and demo purposes, but I’m not sure if React is too risky or heavy for OpenWRT in production.
For context, the React UI was bundled with Vite and served from /www
. I was able to call ubus
endpoints easily (e.g. status/info), but writing config via uci
was harder. I ran into issues around permissions, committing changes, and syncing state across the interface.
Has anyone here tried this kind of setup, or have thoughts on whether it’s a viable path? Appreciate any insights!