You could do this with Umbraco UI Builder and setting it all up in a seperate section while storing the values in a database table.
I'd probably still use the content section though, it comes with a lot of niceness out of the box that will take a while to remake.
And with content start nodes you could limit access for certain user groups anyways