Extensive Customization of ODK collect

Hello,
I'm looking to customize ODK collect extensively for an extremely specific use-case in a project. The features include adding a custom property to our projects such as an external server url, using that url to fetch data ( to be used in an external application )
My challenge begins with how to access custom properties, how to appropriately interact with ODK collect databases as well as the rest services e.t.c
I would highly appreciate if anyone simply has access to any form of documentation or guidance on extensive customization of the mobile app
Thank you!