Nice writeup. I would recommend, rather then relying on a third party service, there are a few possible methods you can try -
- Write a Cron job on server to keep the application awake
- Self pinging your own server in each 20 min (put code in the main server file)
- Run a timeout based Google apps script to ping your server
Your thoughts?