Как правильно организовать push уведомления на сайте?
Я живой чат на websocket на Go писал под заказ(даже где то у меня на github валяется). Все работало, это было не сложно. 
Но, Go websocket реализуют протокол последнего RFC, а старые Opera и IE нет. В корпоративном секторе, в частности в казенных заведениях только старые браузеры и стоят. Заказчик сказал - дописывай прокладку на все проприетарные реализации протокола или fallback на long_polling. Я ответил - лень, напишу "Обновите браузер". Заказчик не принял. 
Если хотите угодить всем, пользуйте библиотеку с откатом на ajax_long_polling вроде socketIO(Для Go драйвера написаны), но код теряет элегантность и писать становится не фан. 
Для мобильных платформ прекрасно работают Push сервисы apple и google(драйвера тоже написаны)
Тоже писал чат на го, с запуском и авторизацией на пыхе, а когда уже было всё сделано нашёл https://github.com/Imgur/incus