So, functions which interact wth the PA system itself would need some sort of underlying API, alhough some simple JSON rendering on top of the existing website would probably be enough. So, it seems to make sense to keep that notion distinct from a generic "utility" library of stuff which could be applicable anywhere but happens to be specifically useful here.
Perhaps a MySQL connection pool which does The Right Thing(tm) might be useful, although it's true that the larger frameworks tend to come with their own solutions. Also, sending email seems to have caused an amount of difficulty in the past so perhaps an easy wrapper around that, using Gmail, might be handy to reduce potential support questions from both free and paid accounts. Specifically for free accounts, it might be useful to make the code do a proper multi-A lookup and attempt to connect to several addresses to try and cope with the case that the list of whitelisted Gmail IPs needs updating again.