Greetings! With more than 10 years experience, especially in Android-App-development, I know how to develop the app. As I do not see a way to successfully block all porn traffic by intercepting the keyboard - this would e.g. still allow for clicking on a porn link on a web browser - I would develop a local proxy app (the "VPN"-solution you have been writing about). This app would analyze every outgoing internet traffic from the smartphone, and as soon as one of the filters is hit, the app will block the traffic, or optionally answer the user with an error message.
The filters would be dependent on your filtering needs. For the specific case of blocking porn traffic, I would suggest to add the following filters to the app:
- Filtering by domain/IP - will filter known porn portals automatically by a preconfigured list of unallowed websites
- Filtering by keywords - searches either the incoming traffic (the porn website) or the outgoing request (e.g. the search on google for porn) for specific keywords, and blocks requests containing unallowed keywords
In the end, on such a project, the most important part of the work is not, how to block most porn websites, but how to develop a system that will not block any allowed traffic - e.g., while porn is not allowed, it could be allowed to look up for sexual education. I would like to be contacted by you in order to discuss the implementation details before the hiring, and to go through my milestone-suggestions.