Best approach for RPC?

I'm trying to find which packages will give me control through RPC.
I know there is luci rpc which seems to give a lot of access, however I've also seen the ubus rpc interface the uhttpd gives.
If I don't care about the GUI luci gives would it be better to use the uhttpd and if so are there any docs?

I basically want to make a web app that controls my router and not rely on Luci gui at all.

Thanks

For what is not already available through ubus or other services, you can add plugins

https://openwrt.org/docs/techref/rpcd