Ultimately yes, you can. And you already described the components you will need to develop using that solution.
But may I ask why you need this to be a custom DEV? The things you are trying to achieve are available with OOB configuration, you don't need additional development for that.