I mentioned this on another thread, but wanted to get your thoughts @robbiet480.
What about creating your app as a shell to host the notification, location tracking, iBeacon, etc. All background tasks and host safari as the main UI to point to HA (would cover custom components). That lets UI be driven by default HA website. Now with all the new features coming up, alternate UI’s could be developed (i.e. dashboard view) and you wouldn’t have to keep up with it.
This approach would make it easier to create an Android version as well since you wouldn’t have to deal with the UI and just port the background services.
my .02c.