Certainly, I’ve had further thought on this and decided on to work on v11.x.x (master). Being new to Frappe development and wanting to implement certain features differently, developing separate apps is the easier, and faster.
Because there’s no telling when v12 will be production ready, so it’d be hard to have to add my new features to the core when the delivery date is short. As a beginner I think it’ll be harder developing my apps on v12 then checking and coding extra for backward compatibility, than updating them for compatibility.
The ultimate goal is to be able to contribute directly to Frappe/ERPNext, however, certain use cases (new and altered features) are better tested locally then pushed to the core.
This process should also add clarity to the acceptable standards. In some cases I’ve seen contributors put effort into developing something not properly aligned with the consensus design road-map.
Thanks for your answer @rmehta