Thanks for the feedback guys. I'll definitely check out L-system (i'm new to procedural gen). However it looks like this method is more artist friendly (here is a comparison
of the two algorithms).
I plan to create a voxel based brush where you can define multiple arbitrary volumes for attraction points and the tree would grow there
As for the final product, I'm not sure. I'll probably create a mobile "game" where you can draw these volumes and have your tree grow. Maybe have it as an animated background in android