TL;DR Don't extend the User Portal use the REST api to do what you need to do and determine which SDK works the best for your needs.