Customizing vTiger

Does anyone have any experience with customizing vTiger?
I’m currently trying to customize the existing modules and add new modules to vTiger and to be honest I’m having a real hard time.
I do actually have an option to develop a custom CMR from the ground up, using symfony as framework witch I know from before. But as usual the time factor is not on my side. If we can use the already built in functionality in vTiger and just focus on developing the technical stuff specific for the company it would be a great time saver.

But the documentation for vTiger is sparse at best, outdated at worst and using the vtlib api for creating modules seems buggy and experimental.

Database integrity and security is also important and I’m weighing the full control I will have over it in a self developed system over vTigers systems witch do seem to have some strange behavior at times.

Any thoughts are appreciated.